1 # SPDX-License-Identifier: GPL-2.0-only
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
14 bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
15 select COMMON_CLK_AT91
18 Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
23 depends on ARCH_MULTI_V7
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
34 Select this if ou are using one of Microchip's SAMA5D2 family SoC.
38 depends on ARCH_MULTI_V7
42 select HAVE_AT91_USB_CLK
45 Select this if you are using one of Microchip's SAMA5D3 family SoC.
46 This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
50 depends on ARCH_MULTI_V7
55 select HAVE_AT91_USB_CLK
56 select HAVE_AT91_H32MX
59 Select this if you are using one of Microchip's SAMA5D4 family SoC.
63 depends on ARCH_MULTI_V7
64 select HAVE_AT91_GENERATED_CLK
65 select HAVE_AT91_SAM9X60_PLL
70 Select this if you are using one of Microchip's SAMA7G5 family SoC.
73 bool "ARMv7 based Microchip LAN966 SoC family"
74 depends on ARCH_MULTI_V7
75 select DW_APB_TIMER_OF
79 This enables support for ARMv7 based Microchip LAN966 SoC family.
83 depends on ARCH_MULTI_V4T
88 select HAVE_AT91_USB_CLK
93 Select this if you are using Microchip's AT91RM9200 SoC.
97 depends on ARCH_MULTI_V5
103 select HAVE_AT91_USB_CLK
104 select HAVE_AT91_UTMI
111 Select this if you are using one of those Microchip SoC:
131 depends on ARCH_MULTI_V5
132 select ATMEL_AIC5_IRQ
133 select ATMEL_PM if PM
136 select HAVE_AT91_USB_CLK
137 select HAVE_AT91_GENERATED_CLK
138 select HAVE_AT91_SAM9X60_PLL
144 Select this if you are using Microchip's SAM9X60 SoC
146 comment "Clocksource driver selection"
148 config ATMEL_CLOCKSOURCE_PIT
149 bool "Periodic Interval Timer (PIT) support"
150 depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
151 default SOC_AT91SAM9 || SOC_SAMA5
154 Select this to get a clocksource based on the Atmel Periodic Interval
155 Timer. It has a relatively low resolution and the TC Block clocksource
158 config ATMEL_CLOCKSOURCE_TCB
159 bool "Timer Counter Blocks (TCB) support"
160 default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
161 select ATMEL_TCB_CLKSRC
163 Select this to get a high precision clocksource based on a
164 TC block with a 5+ MHz base clock rate.
165 On platforms with 16-bit counters, two timer channels are combined
166 to make a single 32-bit timer.
167 It can also be used as a clock event device supporting oneshot mode.
169 config MICROCHIP_CLOCKSOURCE_PIT64B
170 bool "64-bit Periodic Interval Timer (PIT64B) support"
171 default SOC_SAM9X60 || SOC_SAMA7
172 select MICROCHIP_PIT64B
174 Select this to get a high resolution clockevent (SAM9X60) or
175 clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
176 Periodic Interval Timer.
178 config HAVE_AT91_UTMI
181 config HAVE_AT91_USB_CLK
184 config COMMON_CLK_AT91
191 config HAVE_AT91_H32MX
194 config HAVE_AT91_GENERATED_CLK
197 config HAVE_AT91_AUDIO_PLL
200 config HAVE_AT91_I2S_MUX_CLK
203 config HAVE_AT91_SAM9X60_PLL
214 select ATMEL_AIC5_IRQ
215 select ATMEL_PM if PM
224 config ATMEL_SECURE_PM
225 bool "Atmel Secure PM support"
226 depends on SOC_SAMA5D2 && ATMEL_PM
229 When running under a TEE, the suspend mode must be requested to be set
230 at TEE level. When enable, this option will use secure monitor calls
231 to set the suspend level. PSCI is then used to enter suspend.
236 select ATMEL_PM if PM