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