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
102 select HAVE_AT91_USB_CLK
103 select HAVE_AT91_UTMI
110 Select this if you are using one of those Microchip SoC:
130 depends on ARCH_MULTI_V5
131 select ATMEL_AIC5_IRQ
132 select ATMEL_PM if PM
134 select HAVE_AT91_USB_CLK
135 select HAVE_AT91_GENERATED_CLK
136 select HAVE_AT91_SAM9X60_PLL
142 Select this if you are using Microchip's SAM9X60 SoC
144 comment "Clocksource driver selection"
146 config 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
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
156 config 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
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.
167 config MICROCHIP_CLOCKSOURCE_PIT64B
168 bool "64-bit Periodic Interval Timer (PIT64B) support"
169 default SOC_SAM9X60 || SOC_SAMA7
170 select MICROCHIP_PIT64B
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.
176 config HAVE_AT91_UTMI
179 config HAVE_AT91_USB_CLK
182 config COMMON_CLK_AT91
189 config HAVE_AT91_H32MX
192 config HAVE_AT91_GENERATED_CLK
195 config HAVE_AT91_AUDIO_PLL
198 config HAVE_AT91_I2S_MUX_CLK
201 config HAVE_AT91_SAM9X60_PLL
212 select ATMEL_AIC5_IRQ
213 select ATMEL_PM if PM
221 config ATMEL_SECURE_PM
222 bool "Atmel Secure PM support"
223 depends on SOC_SAMA5D2 && ATMEL_PM
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.
233 select ATMEL_PM if PM