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