# SPDX-License-Identifier: GPL-2.0-only menuconfig ARCH_AT91 bool "AT91/Microchip SoCs" depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \ ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7 select COMMON_CLK_AT91 select GPIOLIB select PINCTRL select SOC_BUS if ARCH_AT91 config SOC_SAMV7 bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M select COMMON_CLK_AT91 select PINCTRL_AT91 help Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7 families. config SOC_SAMA5D2 bool "SAMA5D2 family" depends on ARCH_MULTI_V7 select SOC_SAMA5 select CACHE_L2X0 select HAVE_AT91_UTMI select HAVE_AT91_USB_CLK select HAVE_AT91_H32MX select HAVE_AT91_GENERATED_CLK select HAVE_AT91_AUDIO_PLL select HAVE_AT91_I2S_MUX_CLK select PINCTRL_AT91PIO4 help Select this if ou are using one of Microchip's SAMA5D2 family SoC. config SOC_SAMA5D3 bool "SAMA5D3 family" depends on ARCH_MULTI_V7 select SOC_SAMA5 select HAVE_AT91_UTMI select HAVE_AT91_SMD select HAVE_AT91_USB_CLK select PINCTRL_AT91 help Select this if you are using one of Microchip's SAMA5D3 family SoC. This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36. config SOC_SAMA5D4 bool "SAMA5D4 family" depends on ARCH_MULTI_V7 select SOC_SAMA5 select CACHE_L2X0 select HAVE_AT91_UTMI select HAVE_AT91_SMD select HAVE_AT91_USB_CLK select HAVE_AT91_H32MX select PINCTRL_AT91 help Select this if you are using one of Microchip's SAMA5D4 family SoC. config SOC_SAMA7G5 bool "SAMA7G5 family" depends on ARCH_MULTI_V7 select HAVE_AT91_GENERATED_CLK select HAVE_AT91_SAM9X60_PLL select HAVE_AT91_UTMI select PM_OPP select SOC_SAMA7 help Select this if you are using one of Microchip's SAMA7G5 family SoC. config SOC_LAN966 bool "ARMv7 based Microchip LAN966 SoC family" depends on ARCH_MULTI_V7 select DW_APB_TIMER_OF select ARM_GIC select MEMORY help This enables support for ARMv7 based Microchip LAN966 SoC family. config SOC_AT91RM9200 bool "AT91RM9200" depends on ARCH_MULTI_V4T select ATMEL_AIC_IRQ select ATMEL_PM if PM select ATMEL_ST select CPU_ARM920T select HAVE_AT91_USB_CLK select PINCTRL_AT91 select SOC_SAM_V4_V5 select SRAM if PM help Select this if you are using Microchip's AT91RM9200 SoC. config SOC_AT91SAM9 bool "AT91SAM9" depends on ARCH_MULTI_V5 select ATMEL_AIC_IRQ select ATMEL_PM if PM select CPU_ARM926T select HAVE_AT91_SMD select HAVE_AT91_USB_CLK select HAVE_AT91_UTMI select HAVE_FB_ATMEL select MEMORY select PINCTRL_AT91 select SOC_SAM_V4_V5 select SRAM if PM help Select this if you are using one of those Microchip SoC: AT91SAM9260 AT91SAM9261 AT91SAM9263 AT91SAM9G15 AT91SAM9G20 AT91SAM9G25 AT91SAM9G35 AT91SAM9G45 AT91SAM9G46 AT91SAM9M10 AT91SAM9M11 AT91SAM9N12 AT91SAM9RL AT91SAM9X25 AT91SAM9X35 AT91SAM9XE config SOC_SAM9X60 bool "SAM9X60" depends on ARCH_MULTI_V5 select ATMEL_AIC5_IRQ select ATMEL_PM if PM select CPU_ARM926T select HAVE_AT91_USB_CLK select HAVE_AT91_GENERATED_CLK select HAVE_AT91_SAM9X60_PLL select MEMORY select PINCTRL_AT91 select SOC_SAM_V4_V5 select SRAM if PM help Select this if you are using Microchip's SAM9X60 SoC comment "Clocksource driver selection" config ATMEL_CLOCKSOURCE_PIT bool "Periodic Interval Timer (PIT) support" depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5 default SOC_AT91SAM9 || SOC_SAMA5 select ATMEL_PIT help Select this to get a clocksource based on the Atmel Periodic Interval Timer. It has a relatively low resolution and the TC Block clocksource should be preferred. config ATMEL_CLOCKSOURCE_TCB bool "Timer Counter Blocks (TCB) support" default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5 select ATMEL_TCB_CLKSRC help Select this to get a high precision clocksource based on a TC block with a 5+ MHz base clock rate. On platforms with 16-bit counters, two timer channels are combined to make a single 32-bit timer. It can also be used as a clock event device supporting oneshot mode. config MICROCHIP_CLOCKSOURCE_PIT64B bool "64-bit Periodic Interval Timer (PIT64B) support" default SOC_SAM9X60 || SOC_SAMA7 select MICROCHIP_PIT64B help Select this to get a high resolution clockevent (SAM9X60) or clocksource and clockevent (SAMA7G5) based on Microchip 64-bit Periodic Interval Timer. config HAVE_AT91_UTMI bool config HAVE_AT91_USB_CLK bool config COMMON_CLK_AT91 bool select MFD_SYSCON config HAVE_AT91_SMD bool config HAVE_AT91_H32MX bool config HAVE_AT91_GENERATED_CLK bool config HAVE_AT91_AUDIO_PLL bool config HAVE_AT91_I2S_MUX_CLK bool config HAVE_AT91_SAM9X60_PLL bool config SOC_SAM_V4_V5 bool config SOC_SAM_V7 bool config SOC_SAMA5 bool select ATMEL_AIC5_IRQ select ATMEL_PM if PM select MEMORY select SOC_SAM_V7 select SRAM if PM config ATMEL_PM bool config ATMEL_SECURE_PM bool "Atmel Secure PM support" depends on SOC_SAMA5D2 && ATMEL_PM select ARM_PSCI help When running under a TEE, the suspend mode must be requested to be set at TEE level. When enable, this option will use secure monitor calls to set the suspend level. PSCI is then used to enter suspend. config SOC_SAMA7 bool select ARM_GIC select ATMEL_PM if PM select MEMORY select SOC_SAM_V7 select SRAM if PM endif