blob: 28193039cb84251a6fec85cbd249ee36386aa3dd [file] [log] [blame]
Masahiro Yamadac54550b2014-08-31 07:11:00 +09001if ARCH_EXYNOS
2
Tom Rini853bf312022-02-23 12:28:17 -05003config BOARD_COMMON
4 def_bool y
Sam Protsenko29c80272024-01-10 21:09:08 -06005 depends on !TARGET_SMDKV310 && !TARGET_ARNDALE && !TARGET_E850_96
Tom Rini853bf312022-02-23 12:28:17 -05006
Tom Rini6fb86c12022-12-02 16:42:21 -05007config SPI_BOOTING
8 bool
9
Tom Rini4a655032022-12-02 16:42:12 -050010config USB_BOOTING
11 bool
12
Masahiro Yamadac54550b2014-08-31 07:11:00 +090013choice
Thomas Abrahama99ad392016-04-23 22:18:12 +053014 prompt "EXYNOS architecture type select"
Joe Hershbergerf0699602015-05-12 14:46:23 -050015 optional
Masahiro Yamadac54550b2014-08-31 07:11:00 +090016
Thomas Abrahama99ad392016-04-23 22:18:12 +053017config ARCH_EXYNOS4
18 bool "Exynos4 SoC family"
Simon Glass7a99a872017-01-23 13:31:20 -070019 select BOARD_EARLY_INIT_F
Michal Simek7e7ba3b2018-07-23 15:55:15 +020020 select CPU_V7A
Tom Rinie97402e2025-01-14 19:22:09 -060021 select MMC
Thomas Abrahama99ad392016-04-23 22:18:12 +053022 help
23 Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There
24 are multiple SoCs in this family including Exynos4210, Exynos4412,
25 and Exynos4212.
26
27config ARCH_EXYNOS5
28 bool "Exynos5 SoC family"
Simon Glass7a99a872017-01-23 13:31:20 -070029 select BOARD_EARLY_INIT_F
Michal Simek7e7ba3b2018-07-23 15:55:15 +020030 select CPU_V7A
Tom Rini5bdd9192017-05-15 12:17:49 -040031 select SHA_HW_ACCEL
Tom Rini6fb86c12022-12-02 16:42:21 -050032 select SPI_BOOTING if EXYNOS5_DT
Tom Rini4a655032022-12-02 16:42:12 -050033 select USB_BOOTING
Simon Glass027608e2017-05-17 03:25:25 -060034 imply CMD_HASH
Michal Simek7e7ba3b2018-07-23 15:55:15 +020035 imply CRC32_VERIFY
Daniel Thompsona9e2c672017-05-19 17:26:58 +010036 imply HASH_VERIFY
Simon Glass278efc682021-11-24 09:26:44 -070037 imply KEYBOARD
Chris Packhamb110e112017-08-28 20:50:46 +120038 imply USB_ETHER_ASIX
Michal Simek7e7ba3b2018-07-23 15:55:15 +020039 imply USB_ETHER_RTL8152
Chris Packhamb110e112017-08-28 20:50:46 +120040 imply USB_ETHER_SMSC95XX
Tom Rinie97402e2025-01-14 19:22:09 -060041 select MMC
Simon Glassa2f6c042019-01-11 18:37:08 -070042
Thomas Abrahama99ad392016-04-23 22:18:12 +053043 help
44 Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and
45 Cortex-A7 CPU in big.LITTLE configuration). There are multiple SoCs
46 in this family including Exynos5250, Exynos5420 and Exynos5800.
47
Thomas Abrahamd23cb312016-04-23 22:18:13 +053048config ARCH_EXYNOS7
49 bool "Exynos7 SoC family"
50 select ARM64
Simon Glass7a99a872017-01-23 13:31:20 -070051 select BOARD_EARLY_INIT_F
Tom Rinie97402e2025-01-14 19:22:09 -060052 select MMC
Thomas Abrahamd23cb312016-04-23 22:18:13 +053053 help
54 Samsung Exynos7 SoC family are based on ARM Cortex-A57 CPU or
55 Cortex-A53 CPU (and some in a big.LITTLE configuration). There are
56 multiple SoCs in this family including Exynos7420.
57
Sam Protsenko4d718732024-01-10 21:09:07 -060058config ARCH_EXYNOS9
59 bool "Exynos9 SoC family"
60 select ARM64
Tom Rinie97402e2025-01-14 19:22:09 -060061 select MMC
Sam Protsenko4d718732024-01-10 21:09:07 -060062 help
63 Samsung Exynos9 SoC family are based on ARMv8 Cortex CPU. There are
64 multiple SoCs in this family including Exynos850.
65
Thomas Abrahama99ad392016-04-23 22:18:12 +053066endchoice
67
68if ARCH_EXYNOS4
69
Tom Rini893cd412022-06-10 22:59:33 -040070config EXYNOS4210
71 bool
72
Thomas Abrahama99ad392016-04-23 22:18:12 +053073choice
74 prompt "EXYNOS4 board select"
75
Masahiro Yamadac54550b2014-08-31 07:11:00 +090076config TARGET_SMDKV310
77 bool "Exynos4210 SMDKV310 board"
Tom Rini893cd412022-06-10 22:59:33 -040078 select EXYNOS4210
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +090079 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +020080 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +090081
82config TARGET_TRATS
Tom Rinib5207bb2022-11-19 18:45:26 -050083 select MISC_COMMON
Masahiro Yamadac54550b2014-08-31 07:11:00 +090084 bool "Exynos4210 Trats board"
85
86config TARGET_S5PC210_UNIVERSAL
87 bool "EXYNOS4210 Universal C210 board"
Tom Rinib5207bb2022-11-19 18:45:26 -050088 select MISC_COMMON
Masahiro Yamadac54550b2014-08-31 07:11:00 +090089
90config TARGET_ORIGEN
91 bool "Exynos4412 Origen board"
Tom Rini893cd412022-06-10 22:59:33 -040092 select EXYNOS4210
Masahiro Yamada6e0971b2014-10-20 17:45:56 +090093 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +090094
95config TARGET_TRATS2
96 bool "Exynos4412 Trat2 board"
Tom Rinib5207bb2022-11-19 18:45:26 -050097 select MISC_COMMON
Masahiro Yamadac54550b2014-08-31 07:11:00 +090098
Przemyslaw Marczaka314d9e2014-09-01 13:50:53 +020099config TARGET_ODROID
100 bool "Exynos4412 Odroid board"
Tom Rinib5207bb2022-11-19 18:45:26 -0500101 select MISC_COMMON
Przemyslaw Marczaka314d9e2014-09-01 13:50:53 +0200102
Thomas Abrahama99ad392016-04-23 22:18:12 +0530103endchoice
104endif
105
106if ARCH_EXYNOS5
107
Tom Rini893cd412022-06-10 22:59:33 -0400108config EXYNOS5250
109 bool
110
111config EXYNOS5420
112 bool
113
114config EXYNOS5_DT
115 bool
116
Simon Glass035939e2021-07-10 21:14:30 -0600117config SPL_GPIO
Simon Glass0bdfc3e2016-09-12 23:18:39 -0600118 default y
119
Simon Glassf2a89462016-09-12 23:18:41 -0600120config SPL_LIBCOMMON_SUPPORT
121 default y
122
Simon Glassb16c92c2016-09-12 23:18:43 -0600123config SPL_LIBGENERIC_SUPPORT
124 default y
125
Thomas Abrahama99ad392016-04-23 22:18:12 +0530126choice
127 prompt "EXYNOS5 board select"
128
Hyungwon Hwang3b6880d2014-12-12 14:45:45 +0900129config TARGET_ODROID_XU3
130 bool "Exynos5422 Odroid board"
Tom Rini893cd412022-06-10 22:59:33 -0400131 select EXYNOS5_DT
132 select EXYNOS5420
Tom Rinib5207bb2022-11-19 18:45:26 -0500133 select MISC_COMMON
Hyungwon Hwang3b6880d2014-12-12 14:45:45 +0900134 select OF_CONTROL
135
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900136config TARGET_ARNDALE
137 bool "Exynos5250 Arndale board"
Tom Rinibacb52c2017-03-07 07:13:42 -0500138 select ARM_ERRATA_773022
139 select ARM_ERRATA_774769
Hans de Goede85437352014-11-14 09:34:30 +0100140 select CPU_V7_HAS_NONSEC
141 select CPU_V7_HAS_VIRT
Tom Rini893cd412022-06-10 22:59:33 -0400142 select EXYNOS5250
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900143 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200144 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900145
146config TARGET_SMDK5250
147 bool "SMDK5250 board"
Tom Rini893cd412022-06-10 22:59:33 -0400148 select EXYNOS5_DT
149 select EXYNOS5250
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900150 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200151 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900152
153config TARGET_SNOW
154 bool "Snow board"
Tom Rini893cd412022-06-10 22:59:33 -0400155 select EXYNOS5_DT
156 select EXYNOS5250
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900157 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200158 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900159
Simon Glassb1398362015-08-03 08:19:37 -0600160config TARGET_SPRING
161 bool "Spring board"
Tom Rini893cd412022-06-10 22:59:33 -0400162 select EXYNOS5_DT
163 select EXYNOS5250
Simon Glassb1398362015-08-03 08:19:37 -0600164 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200165 select SUPPORT_SPL
Simon Glassb1398362015-08-03 08:19:37 -0600166
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900167config TARGET_SMDK5420
168 bool "SMDK5420 board"
Tom Rini893cd412022-06-10 22:59:33 -0400169 select EXYNOS5_DT
170 select EXYNOS5420
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900171 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200172 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900173
Akshay Saraswat62c2f9f2014-11-13 22:38:17 +0530174config TARGET_PEACH_PI
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900175 bool "Peach Pi board"
Tom Rini893cd412022-06-10 22:59:33 -0400176 select EXYNOS5_DT
177 select EXYNOS5420
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900178 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200179 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900180
Akshay Saraswat62c2f9f2014-11-13 22:38:17 +0530181config TARGET_PEACH_PIT
182 bool "Peach Pit board"
Tom Rini893cd412022-06-10 22:59:33 -0400183 select EXYNOS5_DT
184 select EXYNOS5420
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900185 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200186 select SUPPORT_SPL
Akshay Saraswat62c2f9f2014-11-13 22:38:17 +0530187
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900188endchoice
Thomas Abrahama99ad392016-04-23 22:18:12 +0530189endif
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900190
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530191if ARCH_EXYNOS7
192
193choice
194 prompt "EXYNOS7 board select"
195
Tom Rini8b66e042021-08-19 16:23:58 -0400196config TARGET_ESPRESSO7420
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530197 bool "ESPRESSO7420 board"
198 select ARM64
Thomas Abrahamf1855fc2016-11-16 18:49:16 +0530199 select ARMV8_MULTIENTRY
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200200 select CLK_EXYNOS
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530201 select OF_CONTROL
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530202 select PINCTRL
203 select PINCTRL_EXYNOS7420
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200204 select SUPPORT_SPL
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530205
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300206config TARGET_A5Y17LTE
207 bool "Samsung SM-A520F board"
208 select ARM64
209 select CLK_EXYNOS
210 select OF_CONTROL
211 select PINCTRL
212 select PINCTRL_EXYNOS78x0
213 select SUPPORT_SPL
214
215config TARGET_A7Y17LTE
Henrik Grimler3d4ce0b2022-01-07 20:12:54 +0100216 bool "Samsung SM-A720F board"
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300217 select ARM64
218 select CLK_EXYNOS
219 select OF_CONTROL
220 select PINCTRL
221 select PINCTRL_EXYNOS78x0
222 select SUPPORT_SPL
223
224config TARGET_A3Y17LTE
Henrik Grimler3d4ce0b2022-01-07 20:12:54 +0100225 bool "Samsung SM-A320F board"
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300226 select ARM64
227 select CLK_EXYNOS
228 select OF_CONTROL
229 select PINCTRL
Henrik Grimler3d4ce0b2022-01-07 20:12:54 +0100230 select PINCTRL_EXYNOS78x0
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300231 select SUPPORT_SPL
232
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530233endchoice
234endif
235
Sam Protsenko29c80272024-01-10 21:09:08 -0600236if ARCH_EXYNOS9
237
238choice
239 prompt "EXYNOS9 board select"
240
241config TARGET_E850_96
242 bool "WinLink E850-96 board"
243 select ARM64
244 select CLK_EXYNOS
245 select OF_CONTROL
246 select PINCTRL
247 select PINCTRL_EXYNOS850
Sam Protsenko34dd70b2024-05-25 16:18:36 -0500248 imply OF_UPSTREAM
Sam Protsenko942e32c2024-07-23 13:14:39 -0500249 imply DM_RNG
250 imply RNG_EXYNOS
Sam Protsenko29c80272024-01-10 21:09:08 -0600251
252endchoice
253endif
254
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900255config SYS_SOC
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900256 default "exynos"
257
Tom Rini893cd412022-06-10 22:59:33 -0400258config EXYNOS_ACE_SHA
259 bool "Advanced Crypto Engine SHA support"
260 depends on (ARCH_EXYNOS4 || ARCH_EXYNOS5) && (LIB_HW_RAND || SHA_HW_ACCEL)
261 default y if ARCH_EXYNOS5
262
263config EXYNOS_TMU
264 bool "Exynos5 thermal management unit support"
265 depends on ARCH_EXYNOS5
266 default y
267
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900268source "board/samsung/smdkv310/Kconfig"
269source "board/samsung/trats/Kconfig"
270source "board/samsung/universal_c210/Kconfig"
271source "board/samsung/origen/Kconfig"
272source "board/samsung/trats2/Kconfig"
Przemyslaw Marczaka314d9e2014-09-01 13:50:53 +0200273source "board/samsung/odroid/Kconfig"
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900274source "board/samsung/arndale/Kconfig"
275source "board/samsung/smdk5250/Kconfig"
276source "board/samsung/smdk5420/Kconfig"
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530277source "board/samsung/espresso7420/Kconfig"
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300278source "board/samsung/axy17lte/Kconfig"
Sam Protsenko29c80272024-01-10 21:09:08 -0600279source "board/samsung/e850-96/Kconfig"
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900280
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900281endif