1if ARCH_MEDIATEK
2
3config SYS_SOC
4	default "mediatek"
5
6config SYS_VENDOR
7	default "mediatek"
8
9config MT8512
10	bool "MediaTek MT8512 SoC"
11
12choice
13	prompt "MediaTek board select"
14
15config TARGET_MT7622
16	bool "MediaTek MT7622 SoC"
17	select ARM64
18	help
19	  The MediaTek MT7622 is a ARM64-based SoC with a dual-core Cortex-A53.
20	  including UART, SPI, USB3.0, SD and MMC cards, NAND, SNFI, PWM, PCIe,
21	  Gigabit Ethernet, I2C, built-in Wi-Fi, and PCIe.
22
23config TARGET_MT7623
24	bool "MediaTek MT7623 SoC"
25	select CPU_V7A
26	help
27	  The MediaTek MT7623 is a ARM-based SoC with a quad-core Cortex-A7
28	  including NEON and GPU, Mali-450 graphics, several DDR3 options,
29	  crypto engine, built-in Wi-Fi / Bluetooth combo chip, JPEG decoder,
30	  video interfaces supporting HDMI and MIPI, and video codec support.
31	  Peripherals include Gigabit Ethernet, switch, USB3.0 and OTG, PCIe,
32	  I2S, PCM, S/PDIF, UART, SPI, I2C, IR TX/RX, and PWM.
33
34config TARGET_MT7629
35	bool "MediaTek MT7629 SoC"
36	select CPU_V7A
37	select SPL
38	help
39	  The MediaTek MT7629 is a ARM-based SoC with a dual-core Cortex-A7
40	  including DDR3, crypto engine, 3x3 11n/ac Wi-Fi, Gigabit Ethernet,
41	  switch, USB3.0, PCIe, UART, SPI, I2C and PWM.
42
43config TARGET_MT7981
44	bool "MediaTek MT7981 SoC"
45	select ARM64
46	select CPU
47	help
48	  The MediaTek MT7981 is a ARM64-based SoC with a dual-core Cortex-A53.
49	  including UART, SPI, USB, NAND, SNFI, PWM, Gigabit Ethernet, I2C,
50          built-in Wi-Fi, and PCIe.
51
52config TARGET_MT7986
53	bool "MediaTek MT7986 SoC"
54	select ARM64
55	select CPU
56	help
57	  The MediaTek MT7986 is a ARM64-based SoC with a quad-core Cortex-A53.
58	  including UART, SPI, SPI flash, USB3.0, MMC, NAND, SNFI, PWM, PCIe,
59	  Gigabit Ethernet, I2C, built-in 4x4 Wi-Fi, and PCIe.
60
61config TARGET_MT8183
62	bool "MediaTek MT8183 SoC"
63	select ARM64
64	help
65	  The MediaTek MT8183 is a ARM64-based SoC with a quad-core Cortex-A73 and
66	  a quad-core Cortex-A53. It is including UART, SPI, USB3.0 dual role,
67	  SD and MMC cards, UFS, PWM, I2C, I2S, S/PDIF, and several LPDDR3
68	  and LPDDR4 options.
69
70config TARGET_MT8512
71        bool "MediaTek MT8512 M1 Board"
72        select ARM64
73	select MT8512
74        help
75          The MediaTek MT8512 is a ARM64-based SoC with a dual-core Cortex-A53.
76          including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
77          IR RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth digital
78          and several LPDDR3 and LPDDR4 options.
79
80config TARGET_MT8516
81	bool "MediaTek MT8516 SoC"
82	select ARM64
83	help
84	  The MediaTek MT8516 is a ARM64-based SoC with a quad-core Cortex-A35.
85	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
86	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
87	  chip and several DDR3 and DDR4 options.
88
89config TARGET_MT8518
90	bool "MediaTek MT8518 SoC"
91	select ARM64
92	help
93	  The MediaTek MT8518 is a ARM64-based SoC with a quad-core Cortex-A53.
94	  including UART, SPI, USB2.0 and OTG, SD and MMC cards, NAND, PWM,
95	  Ethernet, IR TX/RX, I2C, I2S, S/PDIF, and built-in Wi-Fi / Bluetooth combo
96	  chip and several DDR3 and DDR4 options.
97
98endchoice
99
100config SYS_BOARD
101	string "Board name"
102	default "mt7622" if TARGET_MT7622
103	default "mt7623" if TARGET_MT7623
104	default "mt7629" if TARGET_MT7629
105	default "mt7981" if TARGET_MT7981
106	default "mt7986" if TARGET_MT7986
107	default "mt8183" if TARGET_MT8183
108	default "mt8512" if TARGET_MT8512
109	default "mt8516" if TARGET_MT8516
110	default "mt8518" if TARGET_MT8518
111	default ""
112	help
113	  This option contains information about board name.
114	  Based on this option board/<CONFIG_SYS_VENDOR>/<CONFIG_SYS_BOARD> will
115	  be used.
116
117config SYS_CONFIG_NAME
118	string "Board configuration name"
119	default "mt7622" if TARGET_MT7622
120	default "mt7623" if TARGET_MT7623
121	default "mt7629" if TARGET_MT7629
122	default "mt7981" if TARGET_MT7981
123	default "mt7986" if TARGET_MT7986
124	default "mt8183" if TARGET_MT8183
125	default "mt8512" if TARGET_MT8512
126	default "mt8516" if TARGET_MT8516
127	default "mt8518" if TARGET_MT8518
128	default ""
129	help
130	  This option contains information about board configuration name.
131	  Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
132	  will be used for board configuration.
133
134config MTK_BROM_HEADER_INFO
135	string
136	default "media=nor" if TARGET_MT8518 || TARGET_MT8512 || TARGET_MT7629 || TARGET_MT7622
137	default "media=emmc" if TARGET_MT8516 || TARGET_MT8365 || TARGET_MT8183
138	default "media=snand;nandinfo=2k+64" if TARGET_MT7981 || TARGET_MT7986
139	default "lk=1" if TARGET_MT7623
140
141endif
142