xref: /openbmc/linux/arch/arm/mach-at91/Kconfig (revision 0a94608f)
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 HAVE_AT91_UTMI
169	bool
170
171config HAVE_AT91_USB_CLK
172	bool
173
174config COMMON_CLK_AT91
175	bool
176	select MFD_SYSCON
177
178config HAVE_AT91_SMD
179	bool
180
181config HAVE_AT91_H32MX
182	bool
183
184config HAVE_AT91_GENERATED_CLK
185	bool
186
187config HAVE_AT91_AUDIO_PLL
188	bool
189
190config HAVE_AT91_I2S_MUX_CLK
191	bool
192
193config HAVE_AT91_SAM9X60_PLL
194	bool
195
196config SOC_SAM_V4_V5
197	bool
198
199config SOC_SAM_V7
200	bool
201
202config SOC_SAMA5
203	bool
204	select ATMEL_AIC5_IRQ
205	select ATMEL_PM if PM
206	select ATMEL_SDRAMC
207	select MEMORY
208	select SOC_SAM_V7
209	select SRAM if PM
210
211config ATMEL_PM
212	bool
213
214config SOC_SAMA7
215	bool
216	select ARM_GIC
217	select ATMEL_PM if PM
218	select ATMEL_SDRAMC
219	select MEMORY
220	select SOC_SAM_V7
221	select SRAM if PM
222endif
223