# SPDX-License-Identifier: (GPL-2.0+ OR MIT)

menu "MSCC VCore-III platforms"
	depends on ARCH_MSCC

config SOC_VCOREIII
	select MIPS_TUNE_24KC
	select ROM_EXCEPTION_VECTORS
	select SUPPORTS_BIG_ENDIAN
	select SUPPORTS_CPU_MIPS32_R1
	select SUPPORTS_CPU_MIPS32_R2
	select SUPPORTS_LITTLE_ENDIAN
	bool

config SYS_SOC
	default "mscc"

config SOC_OCELOT
	bool
	select SOC_VCOREIII
	help
	  This supports MSCC Ocelot family of SOCs.

config SOC_LUTON
	bool
	select SOC_VCOREIII
	help
	  This supports MSCC Luton family of SOCs.

config SYS_CONFIG_NAME
	default "vcoreiii"

choice
	prompt "Board select"

config TARGET_OCELOT_PCB120
	bool "MSCC PCB120 Reference Board (aka VSC5635EV)"
	select SOC_OCELOT
	help
	  When selected, CONFIG_DEFAULT_DEVICE_TREE should be set to
	  ocelot_pcb120

config TARGET_OCELOT_PCB123
	bool "MSCC PCB123 Reference Board (aka VSC7514EV))"
	select SOC_OCELOT
	help
	  When selected, CONFIG_DEFAULT_DEVICE_TREE should be set to
	  ocelot_pcb123

config TARGET_LUTON_PCB091
	bool "MSCC PCB091 Reference Board"
	select SOC_LUTON
	select MSCC_BITBANG_SPI_GPIO
	help
	  When selected, CONFIG_DEFAULT_DEVICE_TREE should be set to
	  luton_pcb091
endchoice

choice
	prompt "DDR type"

config DDRTYPE_H5TQ4G63MFR
	bool "Hynix H5TQ4G63MFR-PBC (4Gbit, DDR3-800, 256Mbitx16)"

config DDRTYPE_MT41K256M16
	bool "Micron MT41K256M16 (4Gbit, DDR3L-800, 256Mbitx16)"

config DDRTYPE_H5TQ1G63BFA
	bool "Hynix H5TQ1G63BFA (1Gbit DDR3, x16)"

config DDRTYPE_MT41J128M16HA
	bool "Micron MT41J128M16HA-15E:D (2Gbit DDR3, x16)"

config DDRTYPE_MT41K128M16JT
	bool "Micron MT41K128M16JT-125 (2Gbit DDR3L, 128Mbitx16)"

config DDRTYPE_MT47H128M8HQ
	bool "Micron MT47H128M8-3 (1Gbit, DDR-533@CL4 @ 4.80ns 16Mbisx8x8)"

endchoice

source "board/mscc/ocelot/Kconfig"

source "board/mscc/luton/Kconfig"

endmenu
