1if ARCH_EXYNOS
2
3config BOARD_COMMON
4	def_bool y
5	depends on !TARGET_SMDKV310 && !TARGET_ARNDALE
6
7config SPI_BOOTING
8	bool
9
10config USB_BOOTING
11	bool
12
13choice
14	prompt "EXYNOS architecture type select"
15	optional
16
17config ARCH_EXYNOS4
18	bool "Exynos4 SoC family"
19	select BOARD_EARLY_INIT_F
20	select CPU_V7A
21	select BLK
22	select DM_MMC
23	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"
30	select BOARD_EARLY_INIT_F
31	select CPU_V7A
32	select SHA_HW_ACCEL
33	select SPI_BOOTING if EXYNOS5_DT
34	select USB_BOOTING
35	imply CMD_HASH
36	imply CRC32_VERIFY
37	imply HASH_VERIFY
38	imply KEYBOARD
39	imply USB_ETHER_ASIX
40	imply USB_ETHER_RTL8152
41	imply USB_ETHER_SMSC95XX
42	select BLK
43	select DM_MMC
44
45	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
50config ARCH_EXYNOS7
51	bool "Exynos7 SoC family"
52	select ARM64
53	select BOARD_EARLY_INIT_F
54	select BLK
55	select DM_MMC
56	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
61endchoice
62
63if ARCH_EXYNOS4
64
65config EXYNOS4210
66	bool
67
68choice
69	prompt "EXYNOS4 board select"
70
71config TARGET_SMDKV310
72	bool "Exynos4210 SMDKV310 board"
73	select EXYNOS4210
74	select OF_CONTROL
75	select SUPPORT_SPL
76
77config TARGET_TRATS
78	select MISC_COMMON
79	bool "Exynos4210 Trats board"
80
81config TARGET_S5PC210_UNIVERSAL
82	bool "EXYNOS4210 Universal C210 board"
83	select MISC_COMMON
84
85config TARGET_ORIGEN
86	bool "Exynos4412 Origen board"
87	select EXYNOS4210
88	select SUPPORT_SPL
89
90config TARGET_TRATS2
91	bool "Exynos4412 Trat2 board"
92	select MISC_COMMON
93
94config TARGET_ODROID
95	bool "Exynos4412 Odroid board"
96	select MISC_COMMON
97
98endchoice
99endif
100
101if ARCH_EXYNOS5
102
103config EXYNOS5250
104	bool
105
106config EXYNOS5420
107	bool
108
109config EXYNOS5_DT
110	bool
111
112config SPL_GPIO
113	default y
114
115config SPL_LIBCOMMON_SUPPORT
116	default y
117
118config SPL_LIBGENERIC_SUPPORT
119	default y
120
121choice
122	prompt "EXYNOS5 board select"
123
124config TARGET_ODROID_XU3
125	bool "Exynos5422 Odroid board"
126	select EXYNOS5_DT
127	select EXYNOS5420
128	select MISC_COMMON
129	select OF_CONTROL
130
131config TARGET_ARNDALE
132	bool "Exynos5250 Arndale board"
133	select ARM_ERRATA_773022
134	select ARM_ERRATA_774769
135	select CPU_V7_HAS_NONSEC
136	select CPU_V7_HAS_VIRT
137	select EXYNOS5250
138	select OF_CONTROL
139	select SUPPORT_SPL
140
141config TARGET_SMDK5250
142	bool "SMDK5250 board"
143	select EXYNOS5_DT
144	select EXYNOS5250
145	select OF_CONTROL
146	select SUPPORT_SPL
147
148config TARGET_SNOW
149	bool "Snow board"
150	select EXYNOS5_DT
151	select EXYNOS5250
152	select OF_CONTROL
153	select SUPPORT_SPL
154
155config TARGET_SPRING
156	bool "Spring board"
157	select EXYNOS5_DT
158	select EXYNOS5250
159	select OF_CONTROL
160	select SUPPORT_SPL
161
162config TARGET_SMDK5420
163	bool "SMDK5420 board"
164	select EXYNOS5_DT
165	select EXYNOS5420
166	select OF_CONTROL
167	select SUPPORT_SPL
168
169config TARGET_PEACH_PI
170	bool "Peach Pi board"
171	select EXYNOS5_DT
172	select EXYNOS5420
173	select OF_CONTROL
174	select SUPPORT_SPL
175
176config TARGET_PEACH_PIT
177	bool "Peach Pit board"
178	select EXYNOS5_DT
179	select EXYNOS5420
180	select OF_CONTROL
181	select SUPPORT_SPL
182
183endchoice
184endif
185
186if ARCH_EXYNOS7
187
188choice
189	prompt "EXYNOS7 board select"
190
191config TARGET_ESPRESSO7420
192	bool "ESPRESSO7420 board"
193	select ARM64
194	select ARMV8_MULTIENTRY
195	select CLK_EXYNOS
196	select OF_CONTROL
197	select PINCTRL
198	select PINCTRL_EXYNOS7420
199	select SUPPORT_SPL
200
201config  TARGET_A5Y17LTE
202	bool "Samsung SM-A520F board"
203	select ARM64
204	select CLK_EXYNOS
205	select OF_CONTROL
206	select PINCTRL
207	select PINCTRL_EXYNOS78x0
208	select SUPPORT_SPL
209
210config  TARGET_A7Y17LTE
211	bool "Samsung SM-A720F 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_A3Y17LTE
220	bool "Samsung SM-A320F board"
221	select ARM64
222	select CLK_EXYNOS
223	select OF_CONTROL
224	select PINCTRL
225	select PINCTRL_EXYNOS78x0
226	select SUPPORT_SPL
227
228endchoice
229endif
230
231config SYS_SOC
232	default "exynos"
233
234config EXYNOS_ACE_SHA
235	bool "Advanced Crypto Engine SHA support"
236	depends on (ARCH_EXYNOS4 || ARCH_EXYNOS5) && (LIB_HW_RAND || SHA_HW_ACCEL)
237	default y if ARCH_EXYNOS5
238
239config EXYNOS_TMU
240	bool "Exynos5 thermal management unit support"
241	depends on ARCH_EXYNOS5
242	default y
243
244source "board/samsung/smdkv310/Kconfig"
245source "board/samsung/trats/Kconfig"
246source "board/samsung/universal_c210/Kconfig"
247source "board/samsung/origen/Kconfig"
248source "board/samsung/trats2/Kconfig"
249source "board/samsung/odroid/Kconfig"
250source "board/samsung/arndale/Kconfig"
251source "board/samsung/smdk5250/Kconfig"
252source "board/samsung/smdk5420/Kconfig"
253source "board/samsung/espresso7420/Kconfig"
254source "board/samsung/axy17lte/Kconfig"
255
256endif
257