xref: /openbmc/linux/arch/arm/mach-at91/Kconfig (revision 887069f4)
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 SOC_SAMA7
67	help
68	  Select this if you are using one of Microchip's SAMA7G5 family SoC.
69
70config SOC_AT91RM9200
71	bool "AT91RM9200"
72	depends on ARCH_MULTI_V4T
73	select ATMEL_AIC_IRQ
74	select ATMEL_PM if PM
75	select ATMEL_ST
76	select CPU_ARM920T
77	select HAVE_AT91_USB_CLK
78	select PINCTRL_AT91
79	select SOC_SAM_V4_V5
80	select SRAM if PM
81	help
82	  Select this if you are using Microchip's AT91RM9200 SoC.
83
84config SOC_AT91SAM9
85	bool "AT91SAM9"
86	depends on ARCH_MULTI_V5
87	select ATMEL_AIC_IRQ
88	select ATMEL_PM if PM
89	select ATMEL_SDRAMC
90	select CPU_ARM926T
91	select HAVE_AT91_SMD
92	select HAVE_AT91_USB_CLK
93	select HAVE_AT91_UTMI
94	select HAVE_FB_ATMEL
95	select MEMORY
96	select PINCTRL_AT91
97	select SOC_SAM_V4_V5
98	select SRAM if PM
99	help
100	  Select this if you are using one of those Microchip SoC:
101	    AT91SAM9260
102	    AT91SAM9261
103	    AT91SAM9263
104	    AT91SAM9G15
105	    AT91SAM9G20
106	    AT91SAM9G25
107	    AT91SAM9G35
108	    AT91SAM9G45
109	    AT91SAM9G46
110	    AT91SAM9M10
111	    AT91SAM9M11
112	    AT91SAM9N12
113	    AT91SAM9RL
114	    AT91SAM9X25
115	    AT91SAM9X35
116	    AT91SAM9XE
117
118config SOC_SAM9X60
119	bool "SAM9X60"
120	depends on ARCH_MULTI_V5
121	select ATMEL_AIC5_IRQ
122	select ATMEL_PM if PM
123	select ATMEL_SDRAMC
124	select CPU_ARM926T
125	select HAVE_AT91_USB_CLK
126	select HAVE_AT91_GENERATED_CLK
127	select HAVE_AT91_SAM9X60_PLL
128	select MEMORY
129	select PINCTRL_AT91
130	select SOC_SAM_V4_V5
131	select SRAM if PM
132	help
133	  Select this if you are using Microchip's SAM9X60 SoC
134
135comment "Clocksource driver selection"
136
137config ATMEL_CLOCKSOURCE_PIT
138	bool "Periodic Interval Timer (PIT) support"
139	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
140	default SOC_AT91SAM9 || SOC_SAMA5
141	select ATMEL_PIT
142	help
143	  Select this to get a clocksource based on the Atmel Periodic Interval
144	  Timer. It has a relatively low resolution and the TC Block clocksource
145	  should be preferred.
146
147config ATMEL_CLOCKSOURCE_TCB
148	bool "Timer Counter Blocks (TCB) support"
149	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
150	select ATMEL_TCB_CLKSRC
151	help
152	  Select this to get a high precision clocksource based on a
153	  TC block with a 5+ MHz base clock rate.
154	  On platforms with 16-bit counters, two timer channels are combined
155	  to make a single 32-bit timer.
156	  It can also be used as a clock event device supporting oneshot mode.
157
158config HAVE_AT91_UTMI
159	bool
160
161config HAVE_AT91_USB_CLK
162	bool
163
164config COMMON_CLK_AT91
165	bool
166	select MFD_SYSCON
167
168config HAVE_AT91_SMD
169	bool
170
171config HAVE_AT91_H32MX
172	bool
173
174config HAVE_AT91_GENERATED_CLK
175	bool
176
177config HAVE_AT91_AUDIO_PLL
178	bool
179
180config HAVE_AT91_I2S_MUX_CLK
181	bool
182
183config HAVE_AT91_SAM9X60_PLL
184	bool
185
186config SOC_SAM_V4_V5
187	bool
188
189config SOC_SAM_V7
190	bool
191
192config SOC_SAMA5
193	bool
194	select ATMEL_AIC5_IRQ
195	select ATMEL_PM if PM
196	select ATMEL_SDRAMC
197	select MEMORY
198	select SOC_SAM_V7
199	select SRAM if PM
200
201config ATMEL_PM
202	bool
203
204config SOC_SAMA7
205	bool
206	select ARM_GIC
207	select ATMEL_PM if PM
208	select ATMEL_SDRAMC
209	select MEMORY
210	select SOC_SAM_V7
211	select SRAM if PM
212endif
213