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