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