Weijie Gao 2d6962e061 arm: mediatek: add support for MediaTek MT7987 SoC
This patch adds basic support for MediaTek MT7987 SoC.
This includes files that will initialize the SoC after boot and
its device tree.

In order to maximize the continuous usable  memory space, MT7987 has its
ATF BL31 loaded at the top of RAM. Since u-boot will also locate itself to
top of RAM, u-boot will read the actual memory region of BL31 and set
correct gd->ram_top to avoid u-boot overlapping with BL31.

As now support for mt7987 hasn't been submitted to linux kernel, all dts
filed will be put to arch/arm/dts. They'll be removed after successfully
being merged by linux kernel, and OF_UPSTREAM will also be switched on.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
2025-01-30 14:35:14 -06:00

174 lines
5.3 KiB
Plaintext

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
select MMC_SUPPORTS_TUNING
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_MT7987
bool "MediaTek MT7987 SoC"
select ARM64
select CPU
select MTK_TZ_MOVABLE
help
The MediaTek MT7987 is a ARM64-based SoC with a quad-core Cortex-A53.
including UART, I2C, PWM, SPI controller which support SPI flash,
USB3.0, MMC, PCIe, SGMII and built-in Ethernet PHY.
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 "mt7987" if TARGET_MT7987
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 "mt7987" if TARGET_MT7987
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_MT7987 || TARGET_MT7988
default "lk=1" if TARGET_MT7623
config MTK_TZ_MOVABLE
select ARCH_MISC_INIT
select OF_SYSTEM_SETUP
bool
endif