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