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 "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_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_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/sagem/f@st1704/Kconfig"
source "board/sfr/nb4_ser/Kconfig"

endmenu
