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