menu "Broadcom MIPS platforms"
	depends on ARCH_BMIPS

config SYS_MALLOC_F_LEN
	default 0x1000

config SYS_SOC
	default "bcm3380" if SOC_BMIPS_BCM3380
	default "bcm6318" if SOC_BMIPS_BCM6318
	default "bcm6328" if SOC_BMIPS_BCM6328
	default "bcm6338" if SOC_BMIPS_BCM6338
	default "bcm6348" if SOC_BMIPS_BCM6348
	default "bcm6358" if SOC_BMIPS_BCM6358
	default "bcm6368" if SOC_BMIPS_BCM6368
	default "bcm6362" if SOC_BMIPS_BCM6362
	default "bcm63268" if SOC_BMIPS_BCM63268

choice
	prompt "Broadcom MIPS SoC select"

config SOC_BMIPS_BCM3380
	bool "BMIPS BCM3380 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_WATCHDOG
	help
	  This supports BMIPS BCM3380 family.

config SOC_BMIPS_BCM6318
	bool "BMIPS BCM6318 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM6318 family.

config SOC_BMIPS_BCM6328
	bool "BMIPS BCM6328 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM6328 family including BCM63281 and BCM63283.

config SOC_BMIPS_BCM6338
	bool "BMIPS BCM6338 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM6338 family.

config SOC_BMIPS_BCM6348
	bool "BMIPS BCM6348 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_WATCHDOG
	help
	  This supports BMIPS BCM6348 family.

config SOC_BMIPS_BCM6358
	bool "BMIPS BCM6358 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM6358 family including BCM6358 and BCM6359.

config SOC_BMIPS_BCM6368
	bool "BMIPS BCM6368 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM6368 family including BCM6368 and BCM6369.

config SOC_BMIPS_BCM6362
	bool "BMIPS BCM6362 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM6362 family including BCM6361 and BCM6362.

config SOC_BMIPS_BCM63268
	bool "BMIPS BCM63268 family"
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select MIPS_TUNE_4KC
	select MIPS_L1_CACHE_SHIFT_4
	select SWAP_IO_SPACE
	select SYSRESET_SYSCON
	help
	  This supports BMIPS BCM63268 family including BCM63168, BCM63169,
	  BCM63268 and BCM63269.

endchoice

choice
	prompt "Board select"

config BOARD_COMTREND_AR5315U
	bool "Comtrend AR-5315u"
	depends on SOC_BMIPS_BCM6318
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Comtrend AR-5315u boards have a BCM6318 SoC with 64 MB of RAM and 16
	  MB of flash (SPI).
	  Between its different peripherals there's an integrated switch with 4
	  ethernet ports, 1 USB port, 1 UART, GPIO buttons and LEDs, and
	  a BCM43217 (PCIe).

config BOARD_COMTREND_AR5387UN
	bool "Comtrend AR-5387un"
	depends on SOC_BMIPS_BCM6328
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Comtrend AR-5387un boards have a BCM6328 SoC with 64 MB of RAM and 16
	  MB of flash (SPI).
	  Between its different peripherals there's an integrated switch with 4
	  ethernet ports, 1 USB port, 1 UART, GPIO buttons and LEDs, and
	  a BCM43225 (PCIe).

config BOARD_COMTREND_CT5361
	bool "Comtrend CT-5361"
	depends on SOC_BMIPS_BCM6348
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Comtrend CT-5361 boards have a BCM6348 SoC with 16 MB of RAM and 4 MB
	  of flash (CFI).
	  Between its different peripherals there's a BCM5325 switch with 4
	  ethernet ports, 1 USB port, 1 UART, GPIO buttons and LEDs, and a
	  BCM4312 (miniPCI).

config BOARD_COMTREND_VR3032U
	bool "Comtrend VR-3032u board"
	depends on SOC_BMIPS_BCM63268
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Comtrend VR-3032u boards have a BCM63268 SoC with 64 MB of RAM and
	  128 MB of flash (NAND).
	  Between its different peripherals there's an integrated switch with 4
	  ethernet ports, 1 USB port, 1 UART, GPIO buttons and LEDs,
	  and a BCM6362 (integrated).

config BOARD_COMTREND_WAP5813N
	bool "Comtrend WAP-5813n board"
	depends on SOC_BMIPS_BCM6368
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Comtrend WAP-5813n boards have a BCM6369 SoC with 64 MB of RAM and
	  8 MB of flash (CFI).
	  Between its different peripherals there's a BCM53115 switch with 5
	  ethernet ports, 1 USB port, 1 UART, GPIO buttons and LEDs,
	  and a BCM4322 (miniPCI).

config BOARD_HUAWEI_HG556A
	bool "Huawei EchoLife HG556a"
	depends on SOC_BMIPS_BCM6358
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Huawei EchoLife HG556a boards have a BCM6358 SoC with 64 MB of RAM
	  and 16 MB of flash (CFI).
	  Between its different peripherals there's a BCM5325 switch with 4
	  ethernet ports, 3 USB ports, 1 UART, GPIO buttons and LEDs, and
	  a RT3062F/AR9223 (PCI).

config BOARD_NETGEAR_CG3100D
	bool "Netgear CG3100D"
	depends on SOC_BMIPS_BCM3380
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Netgear CG3100D boards have a BCM3380 SoC with 64 MB of RAM and 8 MB
	  of flash (SPI).
	  Between its different peripherals there's a BCM53115 switch with 4
	  ethernet ports, 1 UART, GPIO buttons and LEDs, and a BCM43225
	  (miniPCIe).

config BOARD_NETGEAR_DGND3700V2
	bool "Netgear DGND3700v2"
	depends on SOC_BMIPS_BCM6362
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Netgear DGND3700v2 boards have a BCM6362 SoC with 64 MB of RAM and
	  32 MB of flash (NAND).
	  Between its different peripherals there's a BCM53125 switch with 5
	  ethernet ports, 2 USB ports, 1 UART, GPIO buttons and LEDs, and a
	  BCM43228 (miniPCIe).

config BOARD_SAGEM_FAST1704
	bool "Sagem F@ST1704"
	depends on SOC_BMIPS_BCM6338
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  Sagem F@ST1704 boards have a BCM6338 SoC with 16 MB of RAM and 4 MB
	  of flash (SPI).
	  Between its different peripherals there's a BCM5325 switch with 4
	  ethernet ports, 1 UART, GPIO buttons and LEDs, and a BCM4312
	  (miniPCI).

config BOARD_SFR_NB4_SER
	bool "SFR NeufBox 4 (Sercomm)"
	depends on SOC_BMIPS_BCM6358
	select BMIPS_SUPPORTS_BOOT_RAM
	help
	  SFR NeufBox 4 (Sercomm) boards have a BCM6358 SoC with 32 MB of RAM
	  and 8 MB of flash (CFI).
	  Between its different peripherals there's a BCM5325 switch with 4
	  ethernet ports, 2 USB ports, 1 UART, GPIO buttons and LEDs, and
	  a BCM4318 (PCI).

endchoice

choice
	prompt "Boot mode"

config BMIPS_BOOT_RAM
	bool "RAM boot"
	depends on BMIPS_SUPPORTS_BOOT_RAM
	help
	  This builds an image that is linked to a RAM address. It can be used
	  for booting from CFE via TFTP using an ELF image, but it can also be
	  booted from RAM by other bootloaders using a BIN image.

endchoice

config BMIPS_SUPPORTS_BOOT_RAM
	bool

source "board/comtrend/ar5315u/Kconfig"
source "board/comtrend/ar5387un/Kconfig"
source "board/comtrend/ct5361/Kconfig"
source "board/comtrend/vr3032u/Kconfig"
source "board/comtrend/wap5813n/Kconfig"
source "board/huawei/hg556a/Kconfig"
source "board/netgear/cg3100d/Kconfig"
source "board/netgear/dgnd3700v2/Kconfig"
source "board/sagem/f@st1704/Kconfig"
source "board/sfr/nb4_ser/Kconfig"

endmenu
