1# SPDX-License-Identifier: GPL-2.0
2menuconfig SOC_RENESAS
3	bool "Renesas SoC driver support" if COMPILE_TEST && !ARCH_RENESAS
4	default y if ARCH_RENESAS
5	select GPIOLIB
6	select PINCTRL
7	select SOC_BUS
8
9if SOC_RENESAS
10
11config ARCH_RCAR_GEN1
12	bool
13	select PM
14	select PM_GENERIC_DOMAINS
15	select RENESAS_INTC_IRQPIN
16	select RST_RCAR
17	select SYS_SUPPORTS_SH_TMU
18
19config ARCH_RCAR_GEN2
20	bool
21	select HAVE_ARM_ARCH_TIMER
22	select PM
23	select PM_GENERIC_DOMAINS
24	select RENESAS_IRQC
25	select RST_RCAR
26	select SYS_SUPPORTS_SH_CMT
27
28config ARCH_RCAR_GEN3
29	bool
30	select PM
31	select PM_GENERIC_DOMAINS
32	select RENESAS_IRQC
33	select RST_RCAR
34	select SYS_SUPPORTS_SH_CMT
35	select SYS_SUPPORTS_SH_TMU
36
37config ARCH_RCAR_GEN4
38	bool
39	select ARCH_RCAR_GEN3
40
41config ARCH_RMOBILE
42	bool
43	select PM
44	select PM_GENERIC_DOMAINS
45	select SYS_SUPPORTS_SH_CMT
46	select SYS_SUPPORTS_SH_TMU
47	select SYSC_RMOBILE
48
49config ARCH_RZG2L
50	bool
51	select PM
52	select PM_GENERIC_DOMAINS
53	select RENESAS_RZG2L_IRQC
54
55config ARCH_RZN1
56	bool
57	select PM
58	select PM_GENERIC_DOMAINS
59	select ARM_AMBA
60
61if ARM && ARCH_RENESAS
62
63#comment "Renesas ARM SoCs System Type"
64
65config ARCH_EMEV2
66	bool "ARM32 Platform support for Emma Mobile EV2"
67	select HAVE_ARM_SCU if SMP
68	select SYS_SUPPORTS_EM_STI
69
70config ARCH_R8A7794
71	bool "ARM32 Platform support for R-Car E2"
72	select ARCH_RCAR_GEN2
73	select ARM_ERRATA_814220
74	select SYSC_R8A7794
75
76config ARCH_R8A7779
77	bool "ARM32 Platform support for R-Car H1"
78	select ARCH_RCAR_GEN1
79	select ARM_ERRATA_754322
80	select ARM_GLOBAL_TIMER
81	select HAVE_ARM_SCU if SMP
82	select HAVE_ARM_TWD if SMP
83	select SYSC_R8A7779
84
85config ARCH_R8A7790
86	bool "ARM32 Platform support for R-Car H2"
87	select ARCH_RCAR_GEN2
88	select ARM_ERRATA_798181 if SMP
89	select ARM_ERRATA_814220
90	select I2C
91	select SYSC_R8A7790
92
93config ARCH_R8A7778
94	bool "ARM32 Platform support for R-Car M1A"
95	select ARCH_RCAR_GEN1
96	select ARM_ERRATA_754322
97
98config ARCH_R8A7793
99	bool "ARM32 Platform support for R-Car M2-N"
100	select ARCH_RCAR_GEN2
101	select ARM_ERRATA_798181 if SMP
102	select I2C
103	select SYSC_R8A7791
104
105config ARCH_R8A7791
106	bool "ARM32 Platform support for R-Car M2-W"
107	select ARCH_RCAR_GEN2
108	select ARM_ERRATA_798181 if SMP
109	select I2C
110	select SYSC_R8A7791
111
112config ARCH_R8A7792
113	bool "ARM32 Platform support for R-Car V2H"
114	select ARCH_RCAR_GEN2
115	select ARM_ERRATA_798181 if SMP
116	select SYSC_R8A7792
117
118config ARCH_R8A7740
119	bool "ARM32 Platform support for R-Mobile A1"
120	select ARCH_RMOBILE
121	select ARM_ERRATA_754322
122	select RENESAS_INTC_IRQPIN
123
124config ARCH_R8A73A4
125	bool "ARM32 Platform support for R-Mobile APE6"
126	select ARCH_RMOBILE
127	select ARM_ERRATA_798181 if SMP
128	select ARM_ERRATA_814220
129	select HAVE_ARM_ARCH_TIMER
130	select RENESAS_IRQC
131
132config ARCH_R7S72100
133	bool "ARM32 Platform support for RZ/A1H"
134	select ARM_ERRATA_754322
135	select PM
136	select PM_GENERIC_DOMAINS
137	select RENESAS_OSTM
138	select RENESAS_RZA1_IRQC
139	select SYS_SUPPORTS_SH_MTU2
140
141config ARCH_R7S9210
142	bool "ARM32 Platform support for RZ/A2"
143	select PM
144	select PM_GENERIC_DOMAINS
145	select RENESAS_OSTM
146	select RENESAS_RZA1_IRQC
147
148config ARCH_R8A77470
149	bool "ARM32 Platform support for RZ/G1C"
150	select ARCH_RCAR_GEN2
151	select ARM_ERRATA_814220
152	select SYSC_R8A77470
153
154config ARCH_R8A7745
155	bool "ARM32 Platform support for RZ/G1E"
156	select ARCH_RCAR_GEN2
157	select ARM_ERRATA_814220
158	select SYSC_R8A7745
159
160config ARCH_R8A7742
161	bool "ARM32 Platform support for RZ/G1H"
162	select ARCH_RCAR_GEN2
163	select ARM_ERRATA_798181 if SMP
164	select ARM_ERRATA_814220
165	select SYSC_R8A7742
166
167config ARCH_R8A7743
168	bool "ARM32 Platform support for RZ/G1M"
169	select ARCH_RCAR_GEN2
170	select ARM_ERRATA_798181 if SMP
171	select SYSC_R8A7743
172
173config ARCH_R8A7744
174	bool "ARM32 Platform support for RZ/G1N"
175	select ARCH_RCAR_GEN2
176	select ARM_ERRATA_798181 if SMP
177	select SYSC_R8A7743
178
179config ARCH_R9A06G032
180	bool "ARM32 Platform support for RZ/N1D"
181	select ARCH_RZN1
182	select ARM_ERRATA_814220
183
184config ARCH_SH73A0
185	bool "ARM32 Platform support for SH-Mobile AG5"
186	select ARCH_RMOBILE
187	select ARM_ERRATA_754322
188	select ARM_GLOBAL_TIMER
189	select HAVE_ARM_SCU if SMP
190	select HAVE_ARM_TWD if SMP
191	select RENESAS_INTC_IRQPIN
192
193endif # ARM
194
195if ARM64
196
197config ARCH_R8A77995
198	bool "ARM64 Platform support for R-Car D3"
199	select ARCH_RCAR_GEN3
200	select SYSC_R8A77995
201	help
202	  This enables support for the Renesas R-Car D3 SoC.
203	  This includes different gradings like R-Car D3e.
204
205config ARCH_R8A77990
206	bool "ARM64 Platform support for R-Car E3"
207	select ARCH_RCAR_GEN3
208	select SYSC_R8A77990
209	help
210	  This enables support for the Renesas R-Car E3 SoC.
211	  This includes different gradings like R-Car E3e.
212
213config ARCH_R8A77951
214	bool "ARM64 Platform support for R-Car H3 ES2.0+"
215	select ARCH_RCAR_GEN3
216	select SYSC_R8A7795
217	help
218	  This enables support for the Renesas R-Car H3 SoC (revisions 2.0 and
219	  later).
220	  This includes different gradings like R-Car H3e, H3e-2G, and H3Ne.
221
222config ARCH_R8A77965
223	bool "ARM64 Platform support for R-Car M3-N"
224	select ARCH_RCAR_GEN3
225	select SYSC_R8A77965
226	help
227	  This enables support for the Renesas R-Car M3-N SoC.
228	  This includes different gradings like R-Car M3Ne and M3Ne-2G.
229
230config ARCH_R8A77960
231	bool "ARM64 Platform support for R-Car M3-W"
232	select ARCH_RCAR_GEN3
233	select SYSC_R8A77960
234	help
235	  This enables support for the Renesas R-Car M3-W SoC.
236
237config ARCH_R8A77961
238	bool "ARM64 Platform support for R-Car M3-W+"
239	select ARCH_RCAR_GEN3
240	select SYSC_R8A77961
241	help
242	  This enables support for the Renesas R-Car M3-W+ SoC.
243	  This includes different gradings like R-Car M3e and M3e-2G.
244
245config ARCH_R8A779F0
246	bool "ARM64 Platform support for R-Car S4-8"
247	select ARCH_RCAR_GEN4
248	select SYSC_R8A779F0
249	help
250	  This enables support for the Renesas R-Car S4-8 SoC.
251
252config ARCH_R8A77980
253	bool "ARM64 Platform support for R-Car V3H"
254	select ARCH_RCAR_GEN3
255	select SYSC_R8A77980
256	help
257	  This enables support for the Renesas R-Car V3H SoC.
258
259config ARCH_R8A77970
260	bool "ARM64 Platform support for R-Car V3M"
261	select ARCH_RCAR_GEN3
262	select SYSC_R8A77970
263	help
264	  This enables support for the Renesas R-Car V3M SoC.
265
266config ARCH_R8A779A0
267	bool "ARM64 Platform support for R-Car V3U"
268	select ARCH_RCAR_GEN4
269	select SYSC_R8A779A0
270	help
271	  This enables support for the Renesas R-Car V3U SoC.
272
273config ARCH_R8A779G0
274	bool "ARM64 Platform support for R-Car V4H"
275	select ARCH_RCAR_GEN4
276	select SYSC_R8A779G0
277	help
278	  This enables support for the Renesas R-Car V4H SoC.
279
280config ARCH_R8A779H0
281	bool "ARM64 Platform support for R-Car V4M"
282	select ARCH_RCAR_GEN4
283	select SYSC_R8A779H0
284	help
285	  This enables support for the Renesas R-Car V4M SoC.
286
287config ARCH_R8A774C0
288	bool "ARM64 Platform support for RZ/G2E"
289	select ARCH_RCAR_GEN3
290	select SYSC_R8A774C0
291	help
292	  This enables support for the Renesas RZ/G2E SoC.
293
294config ARCH_R8A774E1
295	bool "ARM64 Platform support for RZ/G2H"
296	select ARCH_RCAR_GEN3
297	select SYSC_R8A774E1
298	help
299	  This enables support for the Renesas RZ/G2H SoC.
300
301config ARCH_R8A774A1
302	bool "ARM64 Platform support for RZ/G2M"
303	select ARCH_RCAR_GEN3
304	select SYSC_R8A774A1
305	help
306	  This enables support for the Renesas RZ/G2M SoC.
307
308config ARCH_R8A774B1
309	bool "ARM64 Platform support for RZ/G2N"
310	select ARCH_RCAR_GEN3
311	select SYSC_R8A774B1
312	help
313	  This enables support for the Renesas RZ/G2N SoC.
314
315config ARCH_R9A07G043
316	bool "ARM64 Platform support for RZ/G2UL"
317	select ARCH_RZG2L
318	help
319	  This enables support for the Renesas RZ/G2UL SoC variants.
320
321config ARCH_R9A07G044
322	bool "ARM64 Platform support for RZ/G2L"
323	select ARCH_RZG2L
324	help
325	  This enables support for the Renesas RZ/G2L SoC variants.
326
327config ARCH_R9A07G054
328	bool "ARM64 Platform support for RZ/V2L"
329	select ARCH_RZG2L
330	help
331	  This enables support for the Renesas RZ/V2L SoC variants.
332
333config ARCH_R9A08G045
334	bool "ARM64 Platform support for RZ/G3S"
335	select ARCH_RZG2L
336	help
337	  This enables support for the Renesas RZ/G3S SoC variants.
338
339config ARCH_R9A09G011
340	bool "ARM64 Platform support for RZ/V2M"
341	select PM
342	select PM_GENERIC_DOMAINS
343	select PWC_RZV2M
344	help
345	  This enables support for the Renesas RZ/V2M SoC.
346
347endif # ARM64
348
349if RISCV
350
351config ARCH_R9A07G043
352	bool "RISC-V Platform support for RZ/Five"
353	depends on NONPORTABLE
354	depends on !DMA_DIRECT_REMAP
355	depends on RISCV_ALTERNATIVE
356	depends on !RISCV_ISA_ZICBOM
357	depends on RISCV_SBI
358	select ARCH_RZG2L
359	select AX45MP_L2_CACHE
360	select DMA_GLOBAL_POOL
361	select ERRATA_ANDES
362	select ERRATA_ANDES_CMO
363	help
364	  This enables support for the Renesas RZ/Five SoC.
365
366endif # RISCV
367
368config PWC_RZV2M
369	bool "Renesas RZ/V2M PWC support" if COMPILE_TEST
370
371config RST_RCAR
372	bool "Reset Controller support for R-Car" if COMPILE_TEST
373
374endif # SOC_RENESAS
375