xref: /linux/arch/arm/mach-at91/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1# SPDX-License-Identifier: GPL-2.0-only
2config ARCH_MICROCHIP
3	bool
4
5menuconfig ARCH_AT91
6	bool "AT91/Microchip SoCs"
7	depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \
8		ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
9	select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
10	select COMMON_CLK_AT91
11	select GPIOLIB
12	select PINCTRL
13	select SOC_BUS
14	select ARCH_MICROCHIP
15
16if ARCH_AT91
17config SOC_SAMV7
18	bool "SAM Cortex-M7 family (DEPRECATED)" if ARM_SINGLE_ARMV7M
19	select COMMON_CLK_AT91
20	select PINCTRL_AT91
21	help
22	  Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
23	  families.
24
25	  This platform is scheduled for removal in early 2027
26
27config SOC_SAMA5D2
28	bool "SAMA5D2 family"
29	depends on ARCH_MULTI_V7
30	select SOC_SAMA5
31	select CACHE_L2X0
32	select HAVE_AT91_UTMI
33	select HAVE_AT91_USB_CLK
34	select HAVE_AT91_H32MX
35	select HAVE_AT91_GENERATED_CLK
36	select HAVE_AT91_AUDIO_PLL
37	select HAVE_AT91_I2S_MUX_CLK
38	select PINCTRL_AT91PIO4
39	help
40	  Select this if ou are using one of Microchip's SAMA5D2 family SoC.
41
42config SOC_SAMA5D3
43	bool "SAMA5D3 family"
44	depends on ARCH_MULTI_V7
45	select SOC_SAMA5
46	select HAVE_AT91_UTMI
47	select HAVE_AT91_SMD
48	select HAVE_AT91_USB_CLK
49	select PINCTRL_AT91
50	help
51	  Select this if you are using one of Microchip's SAMA5D3 family SoC.
52	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
53
54config SOC_SAMA5D4
55	bool "SAMA5D4 family"
56	depends on ARCH_MULTI_V7
57	select SOC_SAMA5
58	select CACHE_L2X0
59	select HAVE_AT91_UTMI
60	select HAVE_AT91_SMD
61	select HAVE_AT91_USB_CLK
62	select HAVE_AT91_H32MX
63	select PINCTRL_AT91
64	help
65	  Select this if you are using one of Microchip's SAMA5D4 family SoC.
66
67config SOC_SAMA7D65
68	bool "SAMA7D65 family"
69	depends on ARCH_MULTI_V7
70	select HAVE_AT91_GENERATED_CLK
71	select HAVE_AT91_SAM9X60_PLL
72	select HAVE_AT91_USB_CLK
73	select HAVE_AT91_UTMI
74	select SOC_SAMA7
75	help
76	  Select this if you are using one of Microchip's SAMA7D65 family SoC.
77
78config SOC_SAMA7G5
79	bool "SAMA7G5 family"
80	depends on ARCH_MULTI_V7
81	select HAVE_AT91_GENERATED_CLK
82	select HAVE_AT91_SAM9X60_PLL
83	select HAVE_AT91_UTMI
84	select PM_OPP
85	select SOC_SAMA7
86	help
87	  Select this if you are using one of Microchip's SAMA7G5 family SoC.
88
89config SOC_LAN966
90	bool "ARMv7 based Microchip LAN966 SoC family"
91	depends on ARCH_MULTI_V7
92	select DW_APB_TIMER_OF
93	select ARM_GIC
94	select MEMORY
95	help
96	  This enables support for ARMv7 based Microchip LAN966 SoC family.
97
98config SOC_AT91RM9200
99	bool "AT91RM9200"
100	depends on ARCH_MULTI_V4T
101	select ATMEL_AIC_IRQ
102	select ATMEL_PM if PM
103	select ATMEL_ST
104	select CPU_ARM920T
105	select HAVE_AT91_USB_CLK
106	select PINCTRL_AT91
107	select SOC_SAM_V4_V5
108	select SRAM if PM
109	help
110	  Select this if you are using Microchip's AT91RM9200 SoC.
111
112config SOC_AT91SAM9
113	bool "AT91SAM9"
114	depends on ARCH_MULTI_V5
115	select ATMEL_AIC_IRQ
116	select ATMEL_PM if PM
117	select CPU_ARM926T
118	select HAVE_AT91_SMD
119	select HAVE_AT91_USB_CLK
120	select HAVE_AT91_UTMI
121	select HAVE_FB_ATMEL
122	select MEMORY
123	select PINCTRL_AT91
124	select SOC_SAM_V4_V5
125	select SRAM if PM
126	help
127	  Select this if you are using one of those Microchip SoC:
128	    AT91SAM9260
129	    AT91SAM9261
130	    AT91SAM9263
131	    AT91SAM9G15
132	    AT91SAM9G20
133	    AT91SAM9G25
134	    AT91SAM9G35
135	    AT91SAM9G45
136	    AT91SAM9G46
137	    AT91SAM9M10
138	    AT91SAM9M11
139	    AT91SAM9N12
140	    AT91SAM9RL
141	    AT91SAM9X25
142	    AT91SAM9X35
143	    AT91SAM9XE
144
145config SOC_SAM9X60
146	bool "SAM9X60"
147	depends on ARCH_MULTI_V5
148	select ATMEL_AIC5_IRQ
149	select ATMEL_PM if PM
150	select CPU_ARM926T
151	select HAVE_AT91_USB_CLK
152	select HAVE_AT91_GENERATED_CLK
153	select HAVE_AT91_SAM9X60_PLL
154	select MEMORY
155	select PINCTRL_AT91
156	select SOC_SAM_V4_V5
157	select SRAM if PM
158	help
159	  Select this if you are using Microchip's SAM9X60 SoC
160
161config SOC_SAM9X7
162	bool "SAM9X7"
163	depends on ARCH_MULTI_V5
164	select ATMEL_AIC5_IRQ
165	select ATMEL_PM if PM
166	select CPU_ARM926T
167	select HAVE_AT91_USB_CLK
168	select HAVE_AT91_GENERATED_CLK
169	select HAVE_AT91_SAM9X60_PLL
170	select MEMORY
171	select PINCTRL_AT91
172	select SOC_SAM_V4_V5
173	select SRAM if PM
174	help
175	  Select this if you are using Microchip's SAM9X7 SoC
176
177comment "Clocksource driver selection"
178
179config ATMEL_CLOCKSOURCE_PIT
180	bool "Periodic Interval Timer (PIT) support"
181	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
182	default SOC_AT91SAM9 || SOC_SAMA5
183	select ATMEL_PIT
184	help
185	  Select this to get a clocksource based on the Atmel Periodic Interval
186	  Timer. It has a relatively low resolution and the TC Block clocksource
187	  should be preferred.
188
189config ATMEL_CLOCKSOURCE_TCB
190	bool "Timer Counter Blocks (TCB) support"
191	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
192	select ATMEL_TCB_CLKSRC
193	help
194	  Select this to get a high precision clocksource based on a
195	  TC block with a 5+ MHz base clock rate.
196	  On platforms with 16-bit counters, two timer channels are combined
197	  to make a single 32-bit timer.
198	  It can also be used as a clock event device supporting oneshot mode.
199
200config MICROCHIP_CLOCKSOURCE_PIT64B
201	bool "64-bit Periodic Interval Timer (PIT64B) support"
202	default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA7
203	select MICROCHIP_PIT64B
204	help
205	  Select this to get a high resolution clockevent (SAM9X60) or
206	  clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
207	  Periodic Interval Timer.
208
209config HAVE_AT91_UTMI
210	bool
211
212config HAVE_AT91_USB_CLK
213	bool
214
215config COMMON_CLK_AT91
216	bool
217	select MFD_SYSCON
218
219config HAVE_AT91_SMD
220	bool
221
222config HAVE_AT91_H32MX
223	bool
224
225config HAVE_AT91_GENERATED_CLK
226	bool
227
228config HAVE_AT91_AUDIO_PLL
229	bool
230
231config HAVE_AT91_I2S_MUX_CLK
232	bool
233
234config HAVE_AT91_SAM9X60_PLL
235	bool
236
237config SOC_SAM_V4_V5
238	bool
239
240config SOC_SAM_V7
241	bool
242
243config SOC_SAMA5
244	bool
245	select ATMEL_AIC5_IRQ
246	select ATMEL_PM if PM
247	select MEMORY
248	select SOC_SAM_V7
249	select SRAM if PM
250
251config ATMEL_PM
252	bool
253
254config ATMEL_SECURE_PM
255	bool "Atmel Secure PM support"
256	depends on SOC_SAMA5D2 && ATMEL_PM
257	select ARM_PSCI
258	help
259	  When running under a TEE, the suspend mode must be requested to be set
260	  at TEE level. When enable, this option will use secure monitor calls
261	  to set the suspend level. PSCI is then used to enter suspend.
262
263config SOC_SAMA7
264	bool
265	select ARM_GIC
266	select ATMEL_PM if PM
267	select MEMORY
268	select SOC_SAM_V7
269	select SRAM if PM
270endif
271