bcm968380gerg: add initial support
authorPhilippe Reynes <philippe.reynes@softathome.com>
Mon, 16 Jul 2018 17:06:15 +0000 (19:06 +0200)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 8 Aug 2018 11:38:17 +0000 (13:38 +0200)
This add the initial support of the broadcom reference
board bcm968380gerg with a bcm68380 SoC.

This board has 512 MB of RAM, 128 MB of flash (nand),
2 USB port, 1 UART, 4 ethernet ports and BCM43217 (wifi).

Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
arch/mips/dts/brcm,bcm968380gerg.dts [new file with mode: 0644]
arch/mips/mach-bmips/Kconfig
board/broadcom/bcm968380gerg/Kconfig [new file with mode: 0644]
board/broadcom/bcm968380gerg/Makefile [new file with mode: 0644]
board/broadcom/bcm968380gerg/bcm968380gerg.c [new file with mode: 0644]
board/broadcom/bcm968380gerg/board.c [new file with mode: 0644]
configs/bcm968380gerg_ram_defconfig [new file with mode: 0644]
include/configs/broadcom_bcm968380gerg.h [new file with mode: 0644]

diff --git a/arch/mips/dts/brcm,bcm968380gerg.dts b/arch/mips/dts/brcm,bcm968380gerg.dts
new file mode 100644 (file)
index 0000000..513045e
--- /dev/null
@@ -0,0 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+/dts-v1/;
+
+#include "brcm,bcm6838.dtsi"
+
+/ {
+       model = "Broadcom bcm68380gerg";
+       compatible = "broadcom,bcm68380gerg", "brcm,bcm6838";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&memory {
+       force-size = <0x10000000>;
+};
+
+&uart0 {
+       u-boot,dm-pre-reloc;
+       status = "okay";
+};
+
+&leds {
+       status = "okay";
+
+       led@0 {
+               reg = <0>;
+               active-low;
+               label = "bcm968380gerg:green:usb";
+       };
+};
index ce02028578104e2f798b94b2c7d115622281b785..521996599ef3f0c1897c89a40246e00df60d9971 100644 (file)
@@ -136,6 +136,17 @@ endchoice
 choice
        prompt "Board select"
 
+config BOARD_BROADCOM_BCM968380GERG
+       bool "Broadcom bcm968380gerg"
+       depends on SOC_BMIPS_BCM6838
+       select BMIPS_SUPPORTS_BOOT_RAM
+       help
+         Broadcom BCM968380GERG reference board with BCM68380 SoC with 512 MB
+         of RAM and 128 MB of flash (nand).
+         Between its different peripherals there's an integrated switch with 4
+         ethernet ports, 2 USB ports, 1 UART, GPIO buttons and LEDs, and
+         a BCM43217 (PCIe).
+
 config BOARD_COMTREND_AR5315U
        bool "Comtrend AR-5315u"
        depends on SOC_BMIPS_BCM6318
@@ -264,6 +275,7 @@ endchoice
 config BMIPS_SUPPORTS_BOOT_RAM
        bool
 
+source "board/broadcom/bcm968380gerg/Kconfig"
 source "board/comtrend/ar5315u/Kconfig"
 source "board/comtrend/ar5387un/Kconfig"
 source "board/comtrend/ct5361/Kconfig"
diff --git a/board/broadcom/bcm968380gerg/Kconfig b/board/broadcom/bcm968380gerg/Kconfig
new file mode 100644 (file)
index 0000000..c33e25d
--- /dev/null
@@ -0,0 +1,12 @@
+if BOARD_BROADCOM_BCM968380GERG
+
+config SYS_BOARD
+       default "bcm968380gerg"
+
+config SYS_VENDOR
+       default "broadcom"
+
+config SYS_CONFIG_NAME
+       default "broadcom_bcm968380gerg"
+
+endif
diff --git a/board/broadcom/bcm968380gerg/Makefile b/board/broadcom/bcm968380gerg/Makefile
new file mode 100644 (file)
index 0000000..a525b7b
--- /dev/null
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0+
+
+obj-y += bcm968380gerg.o
diff --git a/board/broadcom/bcm968380gerg/bcm968380gerg.c b/board/broadcom/bcm968380gerg/bcm968380gerg.c
new file mode 100644 (file)
index 0000000..044b355
--- /dev/null
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+#include <common.h>
diff --git a/board/broadcom/bcm968380gerg/board.c b/board/broadcom/bcm968380gerg/board.c
new file mode 100644 (file)
index 0000000..044b355
--- /dev/null
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+#include <common.h>
diff --git a/configs/bcm968380gerg_ram_defconfig b/configs/bcm968380gerg_ram_defconfig
new file mode 100644 (file)
index 0000000..3354a5e
--- /dev/null
@@ -0,0 +1,48 @@
+CONFIG_MIPS=y
+CONFIG_SYS_TEXT_BASE=0x80010000
+CONFIG_ARCH_BMIPS=y
+CONFIG_SOC_BMIPS_BCM6838=y
+# CONFIG_MIPS_BOOT_CMDLINE_LEGACY is not set
+# CONFIG_MIPS_BOOT_ENV_LEGACY is not set
+CONFIG_MIPS_BOOT_FDT=y
+CONFIG_DEFAULT_DEVICE_TREE="brcm,bcm968380gerg"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_OF_STDOUT_VIA_ALIAS=y
+CONFIG_DISPLAY_CPUINFO=y
+CONFIG_HUSH_PARSER=y
+CONFIG_SYS_PROMPT="bcm968380gerg # "
+CONFIG_CMD_CPU=y
+CONFIG_CMD_LICENSE=y
+# CONFIG_CMD_BOOTD is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
+# CONFIG_CMD_EDITENV is not set
+# CONFIG_CMD_SAVEENV is not set
+# CONFIG_CMD_ENV_EXISTS is not set
+# CONFIG_CMD_CRC32 is not set
+CONFIG_CMD_MEMINFO=y
+# CONFIG_CMD_FLASH is not set
+# CONFIG_CMD_LOADS is not set
+# CONFIG_CMD_MISC is not set
+CONFIG_OF_EMBED=y
+# CONFIG_NET is not set
+# CONFIG_DM_DEVICE_REMOVE is not set
+CONFIG_HAVE_BLOCK_DEVICE=y
+CONFIG_DM_GPIO=y
+CONFIG_LED=y
+CONFIG_LED_BCM6328=y
+CONFIG_LED_BLINK=y
+CONFIG_SPI_FLASH=y
+# CONFIG_SPI_FLASH_USE_4K_SECTORS is not set
+CONFIG_PHY=y
+CONFIG_BCM6368_USBH_PHY=y
+CONFIG_POWER_DOMAIN=y
+CONFIG_BCM6328_POWER_DOMAIN=y
+CONFIG_DM_RESET=y
+CONFIG_RESET_BCM6345=y
+# CONFIG_SPL_SERIAL_PRESENT is not set
+CONFIG_DM_SERIAL=y
+CONFIG_BCM6345_SERIAL=y
+CONFIG_LZO=y
diff --git a/include/configs/broadcom_bcm968380gerg.h b/include/configs/broadcom_bcm968380gerg.h
new file mode 100644 (file)
index 0000000..6126a88
--- /dev/null
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2018 Philippe Reynes <philippe.reynes@softathome.com>
+ */
+
+#include <configs/bmips_common.h>
+#include <configs/bmips_bcm6838.h>
+
+#define CONFIG_ENV_SIZE                        (8 * 1024)