Loading...
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig ARCH_AT91
3 bool "AT91/Microchip SoCs"
4 depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \
5 ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
6 select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
7 select COMMON_CLK_AT91
8 select GPIOLIB
9 select PINCTRL
10 select SOC_BUS
11
12if ARCH_AT91
13config SOC_SAMV7
14 bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
15 select COMMON_CLK_AT91
16 select PINCTRL_AT91
17 help
18 Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
19 families.
20
21config SOC_SAMA5D2
22 bool "SAMA5D2 family"
23 depends on ARCH_MULTI_V7
24 select SOC_SAMA5
25 select CACHE_L2X0
26 select HAVE_AT91_UTMI
27 select HAVE_AT91_USB_CLK
28 select HAVE_AT91_H32MX
29 select HAVE_AT91_GENERATED_CLK
30 select HAVE_AT91_AUDIO_PLL
31 select HAVE_AT91_I2S_MUX_CLK
32 select PINCTRL_AT91PIO4
33 help
34 Select this if ou are using one of Microchip's SAMA5D2 family SoC.
35
36config SOC_SAMA5D3
37 bool "SAMA5D3 family"
38 depends on ARCH_MULTI_V7
39 select SOC_SAMA5
40 select HAVE_AT91_UTMI
41 select HAVE_AT91_SMD
42 select HAVE_AT91_USB_CLK
43 select PINCTRL_AT91
44 help
45 Select this if you are using one of Microchip's SAMA5D3 family SoC.
46 This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
47
48config SOC_SAMA5D4
49 bool "SAMA5D4 family"
50 depends on ARCH_MULTI_V7
51 select SOC_SAMA5
52 select CACHE_L2X0
53 select HAVE_AT91_UTMI
54 select HAVE_AT91_SMD
55 select HAVE_AT91_USB_CLK
56 select HAVE_AT91_H32MX
57 select PINCTRL_AT91
58 help
59 Select this if you are using one of Microchip's SAMA5D4 family SoC.
60
61config SOC_SAMA7G5
62 bool "SAMA7G5 family"
63 depends on ARCH_MULTI_V7
64 select HAVE_AT91_GENERATED_CLK
65 select HAVE_AT91_SAM9X60_PLL
66 select HAVE_AT91_UTMI
67 select PM_OPP
68 select SOC_SAMA7
69 help
70 Select this if you are using one of Microchip's SAMA7G5 family SoC.
71
72config SOC_LAN966
73 bool "ARMv7 based Microchip LAN966 SoC family"
74 depends on ARCH_MULTI_V7
75 select DW_APB_TIMER_OF
76 select ARM_GIC
77 select MEMORY
78 help
79 This enables support for ARMv7 based Microchip LAN966 SoC family.
80
81config SOC_AT91RM9200
82 bool "AT91RM9200"
83 depends on ARCH_MULTI_V4T
84 select ATMEL_AIC_IRQ
85 select ATMEL_PM if PM
86 select ATMEL_ST
87 select CPU_ARM920T
88 select HAVE_AT91_USB_CLK
89 select PINCTRL_AT91
90 select SOC_SAM_V4_V5
91 select SRAM if PM
92 help
93 Select this if you are using Microchip's AT91RM9200 SoC.
94
95config SOC_AT91SAM9
96 bool "AT91SAM9"
97 depends on ARCH_MULTI_V5
98 select ATMEL_AIC_IRQ
99 select ATMEL_PM if PM
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 CPU_ARM926T
134 select HAVE_AT91_USB_CLK
135 select HAVE_AT91_GENERATED_CLK
136 select HAVE_AT91_SAM9X60_PLL
137 select MEMORY
138 select PINCTRL_AT91
139 select SOC_SAM_V4_V5
140 select SRAM if PM
141 help
142 Select this if you are using Microchip's SAM9X60 SoC
143
144config SOC_SAM9X7
145 bool "SAM9X7"
146 depends on ARCH_MULTI_V5
147 select ATMEL_AIC5_IRQ
148 select ATMEL_PM if PM
149 select CPU_ARM926T
150 select HAVE_AT91_USB_CLK
151 select HAVE_AT91_GENERATED_CLK
152 select HAVE_AT91_SAM9X60_PLL
153 select MEMORY
154 select PINCTRL_AT91
155 select SOC_SAM_V4_V5
156 select SRAM if PM
157 help
158 Select this if you are using Microchip's SAM9X7 SoC
159
160comment "Clocksource driver selection"
161
162config ATMEL_CLOCKSOURCE_PIT
163 bool "Periodic Interval Timer (PIT) support"
164 depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
165 default SOC_AT91SAM9 || SOC_SAMA5
166 select ATMEL_PIT
167 help
168 Select this to get a clocksource based on the Atmel Periodic Interval
169 Timer. It has a relatively low resolution and the TC Block clocksource
170 should be preferred.
171
172config ATMEL_CLOCKSOURCE_TCB
173 bool "Timer Counter Blocks (TCB) support"
174 default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
175 select ATMEL_TCB_CLKSRC
176 help
177 Select this to get a high precision clocksource based on a
178 TC block with a 5+ MHz base clock rate.
179 On platforms with 16-bit counters, two timer channels are combined
180 to make a single 32-bit timer.
181 It can also be used as a clock event device supporting oneshot mode.
182
183config MICROCHIP_CLOCKSOURCE_PIT64B
184 bool "64-bit Periodic Interval Timer (PIT64B) support"
185 default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA7
186 select MICROCHIP_PIT64B
187 help
188 Select this to get a high resolution clockevent (SAM9X60) or
189 clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
190 Periodic Interval Timer.
191
192config HAVE_AT91_UTMI
193 bool
194
195config HAVE_AT91_USB_CLK
196 bool
197
198config COMMON_CLK_AT91
199 bool
200 select MFD_SYSCON
201
202config HAVE_AT91_SMD
203 bool
204
205config HAVE_AT91_H32MX
206 bool
207
208config HAVE_AT91_GENERATED_CLK
209 bool
210
211config HAVE_AT91_AUDIO_PLL
212 bool
213
214config HAVE_AT91_I2S_MUX_CLK
215 bool
216
217config HAVE_AT91_SAM9X60_PLL
218 bool
219
220config SOC_SAM_V4_V5
221 bool
222
223config SOC_SAM_V7
224 bool
225
226config SOC_SAMA5
227 bool
228 select ATMEL_AIC5_IRQ
229 select ATMEL_PM if PM
230 select MEMORY
231 select SOC_SAM_V7
232 select SRAM if PM
233
234config ATMEL_PM
235 bool
236
237config ATMEL_SECURE_PM
238 bool "Atmel Secure PM support"
239 depends on SOC_SAMA5D2 && ATMEL_PM
240 select ARM_PSCI
241 help
242 When running under a TEE, the suspend mode must be requested to be set
243 at TEE level. When enable, this option will use secure monitor calls
244 to set the suspend level. PSCI is then used to enter suspend.
245
246config SOC_SAMA7
247 bool
248 select ARM_GIC
249 select ATMEL_PM if PM
250 select MEMORY
251 select SOC_SAM_V7
252 select SRAM if PM
253endif
1# SPDX-License-Identifier: GPL-2.0-only
2menuconfig ARCH_AT91
3 bool "AT91/Microchip SoCs"
4 depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \
5 ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
6 select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
7 select COMMON_CLK_AT91
8 select GPIOLIB
9 select PINCTRL
10 select SOC_BUS
11
12if ARCH_AT91
13config SOC_SAMV7
14 bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
15 select COMMON_CLK_AT91
16 select PINCTRL_AT91
17 help
18 Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
19 families.
20
21config SOC_SAMA5D2
22 bool "SAMA5D2 family"
23 depends on ARCH_MULTI_V7
24 select SOC_SAMA5
25 select CACHE_L2X0
26 select HAVE_AT91_UTMI
27 select HAVE_AT91_USB_CLK
28 select HAVE_AT91_H32MX
29 select HAVE_AT91_GENERATED_CLK
30 select HAVE_AT91_AUDIO_PLL
31 select HAVE_AT91_I2S_MUX_CLK
32 select PINCTRL_AT91PIO4
33 help
34 Select this if ou are using one of Microchip's SAMA5D2 family SoC.
35
36config SOC_SAMA5D3
37 bool "SAMA5D3 family"
38 depends on ARCH_MULTI_V7
39 select SOC_SAMA5
40 select HAVE_AT91_UTMI
41 select HAVE_AT91_SMD
42 select HAVE_AT91_USB_CLK
43 select PINCTRL_AT91
44 help
45 Select this if you are using one of Microchip's SAMA5D3 family SoC.
46 This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
47
48config SOC_SAMA5D4
49 bool "SAMA5D4 family"
50 depends on ARCH_MULTI_V7
51 select SOC_SAMA5
52 select CACHE_L2X0
53 select HAVE_AT91_UTMI
54 select HAVE_AT91_SMD
55 select HAVE_AT91_USB_CLK
56 select HAVE_AT91_H32MX
57 select PINCTRL_AT91
58 help
59 Select this if you are using one of Microchip's SAMA5D4 family SoC.
60
61config SOC_SAMA7G5
62 bool "SAMA7G5 family"
63 depends on ARCH_MULTI_V7
64 select HAVE_AT91_GENERATED_CLK
65 select HAVE_AT91_SAM9X60_PLL
66 select HAVE_AT91_UTMI
67 select PM_OPP
68 select SOC_SAMA7
69 help
70 Select this if you are using one of Microchip's SAMA7G5 family SoC.
71
72config SOC_LAN966
73 bool "ARMv7 based Microchip LAN966 SoC family"
74 depends on ARCH_MULTI_V7
75 select DW_APB_TIMER_OF
76 select ARM_GIC
77 select MEMORY
78 help
79 This enables support for ARMv7 based Microchip LAN966 SoC family.
80
81config SOC_AT91RM9200
82 bool "AT91RM9200"
83 depends on ARCH_MULTI_V4T
84 select ATMEL_AIC_IRQ
85 select ATMEL_PM if PM
86 select ATMEL_ST
87 select CPU_ARM920T
88 select HAVE_AT91_USB_CLK
89 select PINCTRL_AT91
90 select SOC_SAM_V4_V5
91 select SRAM if PM
92 help
93 Select this if you are using Microchip's AT91RM9200 SoC.
94
95config SOC_AT91SAM9
96 bool "AT91SAM9"
97 depends on ARCH_MULTI_V5
98 select ATMEL_AIC_IRQ
99 select ATMEL_PM if PM
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 CPU_ARM926T
134 select HAVE_AT91_USB_CLK
135 select HAVE_AT91_GENERATED_CLK
136 select HAVE_AT91_SAM9X60_PLL
137 select MEMORY
138 select PINCTRL_AT91
139 select SOC_SAM_V4_V5
140 select SRAM if PM
141 help
142 Select this if you are using Microchip's SAM9X60 SoC
143
144comment "Clocksource driver selection"
145
146config ATMEL_CLOCKSOURCE_PIT
147 bool "Periodic Interval Timer (PIT) support"
148 depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
149 default SOC_AT91SAM9 || SOC_SAMA5
150 select ATMEL_PIT
151 help
152 Select this to get a clocksource based on the Atmel Periodic Interval
153 Timer. It has a relatively low resolution and the TC Block clocksource
154 should be preferred.
155
156config ATMEL_CLOCKSOURCE_TCB
157 bool "Timer Counter Blocks (TCB) support"
158 default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
159 select ATMEL_TCB_CLKSRC
160 help
161 Select this to get a high precision clocksource based on a
162 TC block with a 5+ MHz base clock rate.
163 On platforms with 16-bit counters, two timer channels are combined
164 to make a single 32-bit timer.
165 It can also be used as a clock event device supporting oneshot mode.
166
167config MICROCHIP_CLOCKSOURCE_PIT64B
168 bool "64-bit Periodic Interval Timer (PIT64B) support"
169 default SOC_SAM9X60 || SOC_SAMA7
170 select MICROCHIP_PIT64B
171 help
172 Select this to get a high resolution clockevent (SAM9X60) or
173 clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
174 Periodic Interval Timer.
175
176config HAVE_AT91_UTMI
177 bool
178
179config HAVE_AT91_USB_CLK
180 bool
181
182config COMMON_CLK_AT91
183 bool
184 select MFD_SYSCON
185
186config HAVE_AT91_SMD
187 bool
188
189config HAVE_AT91_H32MX
190 bool
191
192config HAVE_AT91_GENERATED_CLK
193 bool
194
195config HAVE_AT91_AUDIO_PLL
196 bool
197
198config HAVE_AT91_I2S_MUX_CLK
199 bool
200
201config HAVE_AT91_SAM9X60_PLL
202 bool
203
204config SOC_SAM_V4_V5
205 bool
206
207config SOC_SAM_V7
208 bool
209
210config SOC_SAMA5
211 bool
212 select ATMEL_AIC5_IRQ
213 select ATMEL_PM if PM
214 select MEMORY
215 select SOC_SAM_V7
216 select SRAM if PM
217
218config ATMEL_PM
219 bool
220
221config ATMEL_SECURE_PM
222 bool "Atmel Secure PM support"
223 depends on SOC_SAMA5D2 && ATMEL_PM
224 select ARM_PSCI
225 help
226 When running under a TEE, the suspend mode must be requested to be set
227 at TEE level. When enable, this option will use secure monitor calls
228 to set the suspend level. PSCI is then used to enter suspend.
229
230config SOC_SAMA7
231 bool
232 select ARM_GIC
233 select ATMEL_PM if PM
234 select MEMORY
235 select SOC_SAM_V7
236 select SRAM if PM
237endif