^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) menuconfig ARCH_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) bool "AT91/Microchip SoCs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select COMMON_CLK_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) select GPIOLIB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) select PINCTRL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) select SOC_BUS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) if ARCH_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) config SOC_SAMV7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) select COMMON_CLK_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) select PINCTRL_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) families.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) config SOC_SAMA5D2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) bool "SAMA5D2 family"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) depends on ARCH_MULTI_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) select SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) select CACHE_L2X0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select HAVE_AT91_UTMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) select HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) select HAVE_AT91_H32MX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) select HAVE_AT91_GENERATED_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) select HAVE_AT91_AUDIO_PLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) select HAVE_AT91_I2S_MUX_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) select PINCTRL_AT91PIO4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Select this if ou are using one of Microchip's SAMA5D2 family SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) config SOC_SAMA5D3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) bool "SAMA5D3 family"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) depends on ARCH_MULTI_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) select SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) select HAVE_AT91_UTMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) select HAVE_AT91_SMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) select HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) select PINCTRL_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Select this if you are using one of Microchip's SAMA5D3 family SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) config SOC_SAMA5D4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) bool "SAMA5D4 family"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) depends on ARCH_MULTI_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) select SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) select CACHE_L2X0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) select HAVE_AT91_UTMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) select HAVE_AT91_SMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) select HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) select HAVE_AT91_H32MX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) select PINCTRL_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Select this if you are using one of Microchip's SAMA5D4 family SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) config SOC_AT91RM9200
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) bool "AT91RM9200"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) depends on ARCH_MULTI_V4T
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) select ATMEL_AIC_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) select ATMEL_PM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) select ATMEL_ST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) select CPU_ARM920T
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) select HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) select PINCTRL_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) select SOC_SAM_V4_V5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) select SRAM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) Select this if you are using Microchip's AT91RM9200 SoC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) config SOC_AT91SAM9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) bool "AT91SAM9"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) depends on ARCH_MULTI_V5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) select ATMEL_AIC_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) select ATMEL_PM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) select ATMEL_SDRAMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) select CPU_ARM926T
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) select HAVE_AT91_SMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) select HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) select HAVE_AT91_UTMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) select HAVE_FB_ATMEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) select MEMORY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) select PINCTRL_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) select SOC_SAM_V4_V5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) select SRAM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) Select this if you are using one of those Microchip SoC:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) AT91SAM9260
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) AT91SAM9261
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) AT91SAM9263
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) AT91SAM9G15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) AT91SAM9G20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) AT91SAM9G25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) AT91SAM9G35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) AT91SAM9G45
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) AT91SAM9G46
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) AT91SAM9M10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) AT91SAM9M11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) AT91SAM9N12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) AT91SAM9RL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) AT91SAM9X25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) AT91SAM9X35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) AT91SAM9XE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) config SOC_SAM9X60
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) bool "SAM9X60"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) depends on ARCH_MULTI_V5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) select ATMEL_AIC5_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) select ATMEL_PM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) select ATMEL_SDRAMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) select CPU_ARM926T
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) select HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) select HAVE_AT91_GENERATED_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) select HAVE_AT91_SAM9X60_PLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) select MEMORY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) select PINCTRL_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) select SOC_SAM_V4_V5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) select SRAM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) Select this if you are using Microchip's SAM9X60 SoC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) comment "Clocksource driver selection"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) config ATMEL_CLOCKSOURCE_PIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) bool "Periodic Interval Timer (PIT) support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) default SOC_AT91SAM9 || SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) select ATMEL_PIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) Select this to get a clocksource based on the Atmel Periodic Interval
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) Timer. It has a relatively low resolution and the TC Block clocksource
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) should be preferred.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) config ATMEL_CLOCKSOURCE_TCB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) bool "Timer Counter Blocks (TCB) support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) select ATMEL_TCB_CLKSRC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) Select this to get a high precision clocksource based on a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) TC block with a 5+ MHz base clock rate.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) On platforms with 16-bit counters, two timer channels are combined
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) to make a single 32-bit timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) It can also be used as a clock event device supporting oneshot mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) config HAVE_AT91_UTMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) config HAVE_AT91_USB_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) config COMMON_CLK_AT91
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) select MFD_SYSCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) config HAVE_AT91_SMD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) config HAVE_AT91_H32MX
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) config HAVE_AT91_GENERATED_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) config HAVE_AT91_AUDIO_PLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) config HAVE_AT91_I2S_MUX_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) config HAVE_AT91_SAM9X60_PLL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) config SOC_SAM_V4_V5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) config SOC_SAM_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) config SOC_SAMA5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) select ATMEL_AIC5_IRQ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) select ATMEL_PM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) select ATMEL_SDRAMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) select MEMORY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) select SOC_SAM_V7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) select SRAM if PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) config ATMEL_PM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) endif