if ARCH_MEDIATEK

config SYS_SOC
	default "mediatek"

config SYS_VENDOR
	default "mediatek"

config MT8512
	bool "MediaTek MT8512 SoC"

choice
	prompt "MediaTek board select"

config TARGET_MT7622
	bool "MediaTek MT7622 SoC"
	select ARM64
	help
	  The MediaTek MT7622 is a ARM64-based SoC with a dual-core Cortex-A53.
	  including UART, SPI, USB3.0, SD and MMC cards, NAND, SNFI, PWM, PCIe,
	  Gigabit Ethernet, I2C, built-in Wi-Fi, and PCIe.

config TARGET_MT7623
	bool "MediaTek MT7623 SoC"
	select CPU_V7A
	help
	  The MediaTek MT7623 is a ARM-based SoC with a quad-core Cortex-A7
	  including NEON and GPU, Mali-450 graphics, several DDR3 options,
	  crypto engine, built-in Wi-Fi / Bluetooth combo chip, JPEG decoder,
	  video interfaces supporting HDMI and MIPI, and video codec support.
	  Peripherals include Gigabit Ethernet, switch, USB3.0 and OTG, PCIe,
	  I2S, PCM, S/PDIF, UART, SPI, I2C, IR TX/RX, and PWM.

config TARGET_MT7629
	bool "MediaTek MT7629 SoC"
	select CPU_V7A
	select SPL
	help
	  The MediaTek MT7629 is a ARM-based SoC with a dual-core Cortex-A7
	  including DDR3, crypto engine, 3x3 11n/ac Wi-Fi, Gigabit Ethernet,
	  switch, USB3.0, PCIe, UART, SPI, I2C and PWM.

config TARGET_MT7981
	bool "MediaTek MT7981 SoC"
	select ARM64
	select CPU
	help
	  The MediaTek MT7981 is a ARM64-based SoC with a dual-core Cortex-A53.
	  including UART, SPI, USB, NAND, SNFI, PWM, Gigabit Ethernet, I2C,
          built-in Wi-Fi, and PCIe.

config TARGET_MT7986
	bool "MediaTek MT7986 SoC"
	select ARM64
	select CPU
	help
	  The MediaTek MT7986 is a ARM64-based SoC with a quad-core Cortex-A53.
	  including UART, SPI, SPI flash, USB3.0, MMC, NAND, SNFI, PWM, PCIe,
	  Gigabit Ethernet, I2C, built-in 4x4 Wi-Fi, and PCIe.

config TARGET_MT7988
	bool "MediaTek MT7988 SoC"
	select ARM64
	select CPU
	help
	  The MediaTek MT7988 is a ARM64-based SoC with a quad-core Cortex-A73.
	  including UART, SPI, SPI flash, USB3.0, MMC, NAND, SNFI, PWM, PCIe,
	  10 Gigabit Ethernet , I2C, and PCIe.

config TARGET_MT8183
	bool "MediaTek MT8183 SoC"
	select ARM64
	help
	  The MediaTek MT8183 is a ARM64-based SoC with a quad-core Cortex-A73 and
	  a quad-core Cortex-A53. It is including UART, SPI, USB3.0 dual role,
	  SD and MMC cards, UFS, PWM, I2C, I2S, S/PDIF, and several LPDDR3
	  and LPDDR4 options.

config TARGET_MT8365
	bool "MediaTek MT8365 SoC"
	select ARM64
	help
	  The MediaTek MT8365 is a ARM64-based SoC with a quad-core Cortex-A53.
	  It is including UART, SPI, USB2.0 dual role, SD and MMC cards, NAND, PWM,
	  I2C, I2S, S/PDIF, and several LPDDR3 and LPDDR4 options.

config TARGET_MT8512
        bool "MediaTek MT8512 M1 Board"
        select ARM64
	select MT8512
        help
          The MediaTek MT8512 is a ARM64-based SoC with a dual-core Cortex-A53.
          including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
          IR RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth digital
          and several LPDDR3 and LPDDR4 options.

config TARGET_MT8516
	bool "MediaTek MT8516 SoC"
	select ARM64
	help
	  The MediaTek MT8516 is a ARM64-based SoC with a quad-core Cortex-A35.
	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
	  chip and several DDR3 and DDR4 options.

config TARGET_MT8518
	bool "MediaTek MT8518 SoC"
	select ARM64
	help
	  The MediaTek MT8518 is a ARM64-based SoC with a quad-core Cortex-A53.
	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
	  chip and several DDR3 and DDR4 options.

endchoice

config SYS_BOARD
	string "Board name"
	default "mt7622" if TARGET_MT7622
	default "mt7623" if TARGET_MT7623
	default "mt7629" if TARGET_MT7629
	default "mt7981" if TARGET_MT7981
	default "mt7986" if TARGET_MT7986
	default "mt7988" if TARGET_MT7988
	default "mt8183" if TARGET_MT8183
	default "mt8512" if TARGET_MT8512
	default "mt8516" if TARGET_MT8516
	default "mt8518" if TARGET_MT8518
	default ""
	help
	  This option contains information about board name.
	  Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
	  be used.

config SYS_CONFIG_NAME
	default "mt7622" if TARGET_MT7622
	default "mt7623" if TARGET_MT7623
	default "mt7629" if TARGET_MT7629
	default "mt7981" if TARGET_MT7981
	default "mt7986" if TARGET_MT7986
	default "mt7988" if TARGET_MT7988
	default "mt8183" if TARGET_MT8183
	default "mt8365" if TARGET_MT8365
	default "mt8512" if TARGET_MT8512
	default "mt8516" if TARGET_MT8516
	default "mt8518" if TARGET_MT8518

config MTK_BROM_HEADER_INFO
	string
	default "media=nor" if TARGET_MT8518 || TARGET_MT8512 || TARGET_MT7629 || TARGET_MT7622
	default "media=emmc" if TARGET_MT8516 || TARGET_MT8365 || TARGET_MT8183
	default "media=snand;nandinfo=2k+64" if TARGET_MT7981 || TARGET_MT7986 || TARGET_MT7988
	default "lk=1" if TARGET_MT7623

endif
