blob: af00ee1db07a3b1172e3d81fd9682a846198cfea [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
Simon Glassa2f6c042019-01-11 18:37:08 -070021 select BLK
22 select DM_MMC
Thomas Abrahama99ad392016-04-23 22:18:12 +053023 help
24 Samsung Exynos4 SoC family are based on ARM Cortex-A9 CPU. There
25 are multiple SoCs in this family including Exynos4210, Exynos4412,
26 and Exynos4212.
27
28config ARCH_EXYNOS5
29 bool "Exynos5 SoC family"
Simon Glass7a99a872017-01-23 13:31:20 -070030 select BOARD_EARLY_INIT_F
Michal Simek7e7ba3b2018-07-23 15:55:15 +020031 select CPU_V7A
Tom Rini5bdd9192017-05-15 12:17:49 -040032 select SHA_HW_ACCEL
Tom Rini6fb86c12022-12-02 16:42:21 -050033 select SPI_BOOTING if EXYNOS5_DT
Tom Rini4a655032022-12-02 16:42:12 -050034 select USB_BOOTING
Simon Glass027608e2017-05-17 03:25:25 -060035 imply CMD_HASH
Michal Simek7e7ba3b2018-07-23 15:55:15 +020036 imply CRC32_VERIFY
Daniel Thompsona9e2c672017-05-19 17:26:58 +010037 imply HASH_VERIFY
Simon Glass278efc682021-11-24 09:26:44 -070038 imply KEYBOARD
Chris Packhamb110e112017-08-28 20:50:46 +120039 imply USB_ETHER_ASIX
Michal Simek7e7ba3b2018-07-23 15:55:15 +020040 imply USB_ETHER_RTL8152
Chris Packhamb110e112017-08-28 20:50:46 +120041 imply USB_ETHER_SMSC95XX
Simon Glassa2f6c042019-01-11 18:37:08 -070042 select BLK
43 select DM_MMC
44
Thomas Abrahama99ad392016-04-23 22:18:12 +053045 help
46 Samsung Exynos5 SoC family are based on ARM Cortex-A15 CPU (and
47 Cortex-A7 CPU in big.LITTLE configuration). There are multiple SoCs
48 in this family including Exynos5250, Exynos5420 and Exynos5800.
49
Thomas Abrahamd23cb312016-04-23 22:18:13 +053050config ARCH_EXYNOS7
51 bool "Exynos7 SoC family"
52 select ARM64
Simon Glass7a99a872017-01-23 13:31:20 -070053 select BOARD_EARLY_INIT_F
Simon Glassa2f6c042019-01-11 18:37:08 -070054 select BLK
55 select DM_MMC
Thomas Abrahamd23cb312016-04-23 22:18:13 +053056 help
57 Samsung Exynos7 SoC family are based on ARM Cortex-A57 CPU or
58 Cortex-A53 CPU (and some in a big.LITTLE configuration). There are
59 multiple SoCs in this family including Exynos7420.
60
Sam Protsenko4d718732024-01-10 21:09:07 -060061config ARCH_EXYNOS9
62 bool "Exynos9 SoC family"
63 select ARM64
64 select BLK
65 select DM_MMC
66 help
67 Samsung Exynos9 SoC family are based on ARMv8 Cortex CPU. There are
68 multiple SoCs in this family including Exynos850.
69
Thomas Abrahama99ad392016-04-23 22:18:12 +053070endchoice
71
72if ARCH_EXYNOS4
73
Tom Rini893cd412022-06-10 22:59:33 -040074config EXYNOS4210
75 bool
76
Thomas Abrahama99ad392016-04-23 22:18:12 +053077choice
78 prompt "EXYNOS4 board select"
79
Masahiro Yamadac54550b2014-08-31 07:11:00 +090080config TARGET_SMDKV310
81 bool "Exynos4210 SMDKV310 board"
Tom Rini893cd412022-06-10 22:59:33 -040082 select EXYNOS4210
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +090083 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +020084 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +090085
86config TARGET_TRATS
Tom Rinib5207bb2022-11-19 18:45:26 -050087 select MISC_COMMON
Masahiro Yamadac54550b2014-08-31 07:11:00 +090088 bool "Exynos4210 Trats board"
89
90config TARGET_S5PC210_UNIVERSAL
91 bool "EXYNOS4210 Universal C210 board"
Tom Rinib5207bb2022-11-19 18:45:26 -050092 select MISC_COMMON
Masahiro Yamadac54550b2014-08-31 07:11:00 +090093
94config TARGET_ORIGEN
95 bool "Exynos4412 Origen board"
Tom Rini893cd412022-06-10 22:59:33 -040096 select EXYNOS4210
Masahiro Yamada6e0971b2014-10-20 17:45:56 +090097 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +090098
99config TARGET_TRATS2
100 bool "Exynos4412 Trat2 board"
Tom Rinib5207bb2022-11-19 18:45:26 -0500101 select MISC_COMMON
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900102
Przemyslaw Marczaka314d9e2014-09-01 13:50:53 +0200103config TARGET_ODROID
104 bool "Exynos4412 Odroid board"
Tom Rinib5207bb2022-11-19 18:45:26 -0500105 select MISC_COMMON
Przemyslaw Marczaka314d9e2014-09-01 13:50:53 +0200106
Thomas Abrahama99ad392016-04-23 22:18:12 +0530107endchoice
108endif
109
110if ARCH_EXYNOS5
111
Tom Rini893cd412022-06-10 22:59:33 -0400112config EXYNOS5250
113 bool
114
115config EXYNOS5420
116 bool
117
118config EXYNOS5_DT
119 bool
120
Simon Glass035939e2021-07-10 21:14:30 -0600121config SPL_GPIO
Simon Glass0bdfc3e2016-09-12 23:18:39 -0600122 default y
123
Simon Glassf2a89462016-09-12 23:18:41 -0600124config SPL_LIBCOMMON_SUPPORT
125 default y
126
Simon Glassb16c92c2016-09-12 23:18:43 -0600127config SPL_LIBGENERIC_SUPPORT
128 default y
129
Thomas Abrahama99ad392016-04-23 22:18:12 +0530130choice
131 prompt "EXYNOS5 board select"
132
Hyungwon Hwang3b6880d2014-12-12 14:45:45 +0900133config TARGET_ODROID_XU3
134 bool "Exynos5422 Odroid board"
Tom Rini893cd412022-06-10 22:59:33 -0400135 select EXYNOS5_DT
136 select EXYNOS5420
Tom Rinib5207bb2022-11-19 18:45:26 -0500137 select MISC_COMMON
Hyungwon Hwang3b6880d2014-12-12 14:45:45 +0900138 select OF_CONTROL
139
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900140config TARGET_ARNDALE
141 bool "Exynos5250 Arndale board"
Tom Rinibacb52c2017-03-07 07:13:42 -0500142 select ARM_ERRATA_773022
143 select ARM_ERRATA_774769
Hans de Goede85437352014-11-14 09:34:30 +0100144 select CPU_V7_HAS_NONSEC
145 select CPU_V7_HAS_VIRT
Tom Rini893cd412022-06-10 22:59:33 -0400146 select EXYNOS5250
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900147 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200148 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900149
150config TARGET_SMDK5250
151 bool "SMDK5250 board"
Tom Rini893cd412022-06-10 22:59:33 -0400152 select EXYNOS5_DT
153 select EXYNOS5250
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900154 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200155 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900156
157config TARGET_SNOW
158 bool "Snow board"
Tom Rini893cd412022-06-10 22:59:33 -0400159 select EXYNOS5_DT
160 select EXYNOS5250
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900161 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200162 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900163
Simon Glassb1398362015-08-03 08:19:37 -0600164config TARGET_SPRING
165 bool "Spring board"
Tom Rini893cd412022-06-10 22:59:33 -0400166 select EXYNOS5_DT
167 select EXYNOS5250
Simon Glassb1398362015-08-03 08:19:37 -0600168 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200169 select SUPPORT_SPL
Simon Glassb1398362015-08-03 08:19:37 -0600170
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900171config TARGET_SMDK5420
172 bool "SMDK5420 board"
Tom Rini893cd412022-06-10 22:59:33 -0400173 select EXYNOS5_DT
174 select EXYNOS5420
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900175 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200176 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900177
Akshay Saraswat62c2f9f2014-11-13 22:38:17 +0530178config TARGET_PEACH_PI
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900179 bool "Peach Pi board"
Tom Rini893cd412022-06-10 22:59:33 -0400180 select EXYNOS5_DT
181 select EXYNOS5420
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900182 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200183 select SUPPORT_SPL
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900184
Akshay Saraswat62c2f9f2014-11-13 22:38:17 +0530185config TARGET_PEACH_PIT
186 bool "Peach Pit board"
Tom Rini893cd412022-06-10 22:59:33 -0400187 select EXYNOS5_DT
188 select EXYNOS5420
Masahiro Yamadacfc2f7d2015-02-24 22:26:21 +0900189 select OF_CONTROL
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200190 select SUPPORT_SPL
Akshay Saraswat62c2f9f2014-11-13 22:38:17 +0530191
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900192endchoice
Thomas Abrahama99ad392016-04-23 22:18:12 +0530193endif
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900194
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530195if ARCH_EXYNOS7
196
197choice
198 prompt "EXYNOS7 board select"
199
Tom Rini8b66e042021-08-19 16:23:58 -0400200config TARGET_ESPRESSO7420
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530201 bool "ESPRESSO7420 board"
202 select ARM64
Thomas Abrahamf1855fc2016-11-16 18:49:16 +0530203 select ARMV8_MULTIENTRY
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200204 select CLK_EXYNOS
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530205 select OF_CONTROL
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530206 select PINCTRL
207 select PINCTRL_EXYNOS7420
Michal Simek7e7ba3b2018-07-23 15:55:15 +0200208 select SUPPORT_SPL
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530209
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300210config TARGET_A5Y17LTE
211 bool "Samsung SM-A520F board"
212 select ARM64
213 select CLK_EXYNOS
214 select OF_CONTROL
215 select PINCTRL
216 select PINCTRL_EXYNOS78x0
217 select SUPPORT_SPL
218
219config TARGET_A7Y17LTE
Henrik Grimler3d4ce0b2022-01-07 20:12:54 +0100220 bool "Samsung SM-A720F board"
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300221 select ARM64
222 select CLK_EXYNOS
223 select OF_CONTROL
224 select PINCTRL
225 select PINCTRL_EXYNOS78x0
226 select SUPPORT_SPL
227
228config TARGET_A3Y17LTE
Henrik Grimler3d4ce0b2022-01-07 20:12:54 +0100229 bool "Samsung SM-A320F board"
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300230 select ARM64
231 select CLK_EXYNOS
232 select OF_CONTROL
233 select PINCTRL
Henrik Grimler3d4ce0b2022-01-07 20:12:54 +0100234 select PINCTRL_EXYNOS78x0
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300235 select SUPPORT_SPL
236
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530237endchoice
238endif
239
Sam Protsenko29c80272024-01-10 21:09:08 -0600240if ARCH_EXYNOS9
241
242choice
243 prompt "EXYNOS9 board select"
244
245config TARGET_E850_96
246 bool "WinLink E850-96 board"
247 select ARM64
248 select CLK_EXYNOS
249 select OF_CONTROL
250 select PINCTRL
251 select PINCTRL_EXYNOS850
252
253endchoice
254endif
255
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900256config SYS_SOC
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900257 default "exynos"
258
Tom Rini893cd412022-06-10 22:59:33 -0400259config EXYNOS_ACE_SHA
260 bool "Advanced Crypto Engine SHA support"
261 depends on (ARCH_EXYNOS4 || ARCH_EXYNOS5) && (LIB_HW_RAND || SHA_HW_ACCEL)
262 default y if ARCH_EXYNOS5
263
264config EXYNOS_TMU
265 bool "Exynos5 thermal management unit support"
266 depends on ARCH_EXYNOS5
267 default y
268
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900269source "board/samsung/smdkv310/Kconfig"
270source "board/samsung/trats/Kconfig"
271source "board/samsung/universal_c210/Kconfig"
272source "board/samsung/origen/Kconfig"
273source "board/samsung/trats2/Kconfig"
Przemyslaw Marczaka314d9e2014-09-01 13:50:53 +0200274source "board/samsung/odroid/Kconfig"
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900275source "board/samsung/arndale/Kconfig"
276source "board/samsung/smdk5250/Kconfig"
277source "board/samsung/smdk5420/Kconfig"
Thomas Abraham8d84faa2016-04-23 22:18:14 +0530278source "board/samsung/espresso7420/Kconfig"
Dzmitry Sankouski83af4cb2021-10-17 13:45:42 +0300279source "board/samsung/axy17lte/Kconfig"
Sam Protsenko29c80272024-01-10 21:09:08 -0600280source "board/samsung/e850-96/Kconfig"
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900281
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900282endif