18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_cimenuconfig ARCH_AT91
38c2ecf20Sopenharmony_ci	bool "AT91/Microchip SoCs"
48c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
58c2ecf20Sopenharmony_ci	select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
68c2ecf20Sopenharmony_ci	select COMMON_CLK_AT91
78c2ecf20Sopenharmony_ci	select GPIOLIB
88c2ecf20Sopenharmony_ci	select PINCTRL
98c2ecf20Sopenharmony_ci	select SOC_BUS
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciif ARCH_AT91
128c2ecf20Sopenharmony_ciconfig SOC_SAMV7
138c2ecf20Sopenharmony_ci	bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
148c2ecf20Sopenharmony_ci	select COMMON_CLK_AT91
158c2ecf20Sopenharmony_ci	select PINCTRL_AT91
168c2ecf20Sopenharmony_ci	help
178c2ecf20Sopenharmony_ci	  Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
188c2ecf20Sopenharmony_ci	  families.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciconfig SOC_SAMA5D2
218c2ecf20Sopenharmony_ci	bool "SAMA5D2 family"
228c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
238c2ecf20Sopenharmony_ci	select SOC_SAMA5
248c2ecf20Sopenharmony_ci	select CACHE_L2X0
258c2ecf20Sopenharmony_ci	select HAVE_AT91_UTMI
268c2ecf20Sopenharmony_ci	select HAVE_AT91_USB_CLK
278c2ecf20Sopenharmony_ci	select HAVE_AT91_H32MX
288c2ecf20Sopenharmony_ci	select HAVE_AT91_GENERATED_CLK
298c2ecf20Sopenharmony_ci	select HAVE_AT91_AUDIO_PLL
308c2ecf20Sopenharmony_ci	select HAVE_AT91_I2S_MUX_CLK
318c2ecf20Sopenharmony_ci	select PINCTRL_AT91PIO4
328c2ecf20Sopenharmony_ci	help
338c2ecf20Sopenharmony_ci	  Select this if ou are using one of Microchip's SAMA5D2 family SoC.
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ciconfig SOC_SAMA5D3
368c2ecf20Sopenharmony_ci	bool "SAMA5D3 family"
378c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
388c2ecf20Sopenharmony_ci	select SOC_SAMA5
398c2ecf20Sopenharmony_ci	select HAVE_AT91_UTMI
408c2ecf20Sopenharmony_ci	select HAVE_AT91_SMD
418c2ecf20Sopenharmony_ci	select HAVE_AT91_USB_CLK
428c2ecf20Sopenharmony_ci	select PINCTRL_AT91
438c2ecf20Sopenharmony_ci	help
448c2ecf20Sopenharmony_ci	  Select this if you are using one of Microchip's SAMA5D3 family SoC.
458c2ecf20Sopenharmony_ci	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciconfig SOC_SAMA5D4
488c2ecf20Sopenharmony_ci	bool "SAMA5D4 family"
498c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
508c2ecf20Sopenharmony_ci	select SOC_SAMA5
518c2ecf20Sopenharmony_ci	select CACHE_L2X0
528c2ecf20Sopenharmony_ci	select HAVE_AT91_UTMI
538c2ecf20Sopenharmony_ci	select HAVE_AT91_SMD
548c2ecf20Sopenharmony_ci	select HAVE_AT91_USB_CLK
558c2ecf20Sopenharmony_ci	select HAVE_AT91_H32MX
568c2ecf20Sopenharmony_ci	select PINCTRL_AT91
578c2ecf20Sopenharmony_ci	help
588c2ecf20Sopenharmony_ci	  Select this if you are using one of Microchip's SAMA5D4 family SoC.
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciconfig SOC_AT91RM9200
618c2ecf20Sopenharmony_ci	bool "AT91RM9200"
628c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V4T
638c2ecf20Sopenharmony_ci	select ATMEL_AIC_IRQ
648c2ecf20Sopenharmony_ci	select ATMEL_PM if PM
658c2ecf20Sopenharmony_ci	select ATMEL_ST
668c2ecf20Sopenharmony_ci	select CPU_ARM920T
678c2ecf20Sopenharmony_ci	select HAVE_AT91_USB_CLK
688c2ecf20Sopenharmony_ci	select PINCTRL_AT91
698c2ecf20Sopenharmony_ci	select SOC_SAM_V4_V5
708c2ecf20Sopenharmony_ci	select SRAM if PM
718c2ecf20Sopenharmony_ci	help
728c2ecf20Sopenharmony_ci	  Select this if you are using Microchip's AT91RM9200 SoC.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciconfig SOC_AT91SAM9
758c2ecf20Sopenharmony_ci	bool "AT91SAM9"
768c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V5
778c2ecf20Sopenharmony_ci	select ATMEL_AIC_IRQ
788c2ecf20Sopenharmony_ci	select ATMEL_PM if PM
798c2ecf20Sopenharmony_ci	select ATMEL_SDRAMC
808c2ecf20Sopenharmony_ci	select CPU_ARM926T
818c2ecf20Sopenharmony_ci	select HAVE_AT91_SMD
828c2ecf20Sopenharmony_ci	select HAVE_AT91_USB_CLK
838c2ecf20Sopenharmony_ci	select HAVE_AT91_UTMI
848c2ecf20Sopenharmony_ci	select HAVE_FB_ATMEL
858c2ecf20Sopenharmony_ci	select MEMORY
868c2ecf20Sopenharmony_ci	select PINCTRL_AT91
878c2ecf20Sopenharmony_ci	select SOC_SAM_V4_V5
888c2ecf20Sopenharmony_ci	select SRAM if PM
898c2ecf20Sopenharmony_ci	help
908c2ecf20Sopenharmony_ci	  Select this if you are using one of those Microchip SoC:
918c2ecf20Sopenharmony_ci	    AT91SAM9260
928c2ecf20Sopenharmony_ci	    AT91SAM9261
938c2ecf20Sopenharmony_ci	    AT91SAM9263
948c2ecf20Sopenharmony_ci	    AT91SAM9G15
958c2ecf20Sopenharmony_ci	    AT91SAM9G20
968c2ecf20Sopenharmony_ci	    AT91SAM9G25
978c2ecf20Sopenharmony_ci	    AT91SAM9G35
988c2ecf20Sopenharmony_ci	    AT91SAM9G45
998c2ecf20Sopenharmony_ci	    AT91SAM9G46
1008c2ecf20Sopenharmony_ci	    AT91SAM9M10
1018c2ecf20Sopenharmony_ci	    AT91SAM9M11
1028c2ecf20Sopenharmony_ci	    AT91SAM9N12
1038c2ecf20Sopenharmony_ci	    AT91SAM9RL
1048c2ecf20Sopenharmony_ci	    AT91SAM9X25
1058c2ecf20Sopenharmony_ci	    AT91SAM9X35
1068c2ecf20Sopenharmony_ci	    AT91SAM9XE
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ciconfig SOC_SAM9X60
1098c2ecf20Sopenharmony_ci	bool "SAM9X60"
1108c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V5
1118c2ecf20Sopenharmony_ci	select ATMEL_AIC5_IRQ
1128c2ecf20Sopenharmony_ci	select ATMEL_PM if PM
1138c2ecf20Sopenharmony_ci	select ATMEL_SDRAMC
1148c2ecf20Sopenharmony_ci	select CPU_ARM926T
1158c2ecf20Sopenharmony_ci	select HAVE_AT91_USB_CLK
1168c2ecf20Sopenharmony_ci	select HAVE_AT91_GENERATED_CLK
1178c2ecf20Sopenharmony_ci	select HAVE_AT91_SAM9X60_PLL
1188c2ecf20Sopenharmony_ci	select MEMORY
1198c2ecf20Sopenharmony_ci	select PINCTRL_AT91
1208c2ecf20Sopenharmony_ci	select SOC_SAM_V4_V5
1218c2ecf20Sopenharmony_ci	select SRAM if PM
1228c2ecf20Sopenharmony_ci	help
1238c2ecf20Sopenharmony_ci	  Select this if you are using Microchip's SAM9X60 SoC
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_cicomment "Clocksource driver selection"
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciconfig ATMEL_CLOCKSOURCE_PIT
1288c2ecf20Sopenharmony_ci	bool "Periodic Interval Timer (PIT) support"
1298c2ecf20Sopenharmony_ci	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
1308c2ecf20Sopenharmony_ci	default SOC_AT91SAM9 || SOC_SAMA5
1318c2ecf20Sopenharmony_ci	select ATMEL_PIT
1328c2ecf20Sopenharmony_ci	help
1338c2ecf20Sopenharmony_ci	  Select this to get a clocksource based on the Atmel Periodic Interval
1348c2ecf20Sopenharmony_ci	  Timer. It has a relatively low resolution and the TC Block clocksource
1358c2ecf20Sopenharmony_ci	  should be preferred.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig ATMEL_CLOCKSOURCE_TCB
1388c2ecf20Sopenharmony_ci	bool "Timer Counter Blocks (TCB) support"
1398c2ecf20Sopenharmony_ci	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
1408c2ecf20Sopenharmony_ci	select ATMEL_TCB_CLKSRC
1418c2ecf20Sopenharmony_ci	help
1428c2ecf20Sopenharmony_ci	  Select this to get a high precision clocksource based on a
1438c2ecf20Sopenharmony_ci	  TC block with a 5+ MHz base clock rate.
1448c2ecf20Sopenharmony_ci	  On platforms with 16-bit counters, two timer channels are combined
1458c2ecf20Sopenharmony_ci	  to make a single 32-bit timer.
1468c2ecf20Sopenharmony_ci	  It can also be used as a clock event device supporting oneshot mode.
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ciconfig HAVE_AT91_UTMI
1498c2ecf20Sopenharmony_ci	bool
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ciconfig HAVE_AT91_USB_CLK
1528c2ecf20Sopenharmony_ci	bool
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ciconfig COMMON_CLK_AT91
1558c2ecf20Sopenharmony_ci	bool
1568c2ecf20Sopenharmony_ci	select MFD_SYSCON
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciconfig HAVE_AT91_SMD
1598c2ecf20Sopenharmony_ci	bool
1608c2ecf20Sopenharmony_ci
1618c2ecf20Sopenharmony_ciconfig HAVE_AT91_H32MX
1628c2ecf20Sopenharmony_ci	bool
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ciconfig HAVE_AT91_GENERATED_CLK
1658c2ecf20Sopenharmony_ci	bool
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ciconfig HAVE_AT91_AUDIO_PLL
1688c2ecf20Sopenharmony_ci	bool
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ciconfig HAVE_AT91_I2S_MUX_CLK
1718c2ecf20Sopenharmony_ci	bool
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ciconfig HAVE_AT91_SAM9X60_PLL
1748c2ecf20Sopenharmony_ci	bool
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciconfig SOC_SAM_V4_V5
1778c2ecf20Sopenharmony_ci	bool
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ciconfig SOC_SAM_V7
1808c2ecf20Sopenharmony_ci	bool
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ciconfig SOC_SAMA5
1838c2ecf20Sopenharmony_ci	bool
1848c2ecf20Sopenharmony_ci	select ATMEL_AIC5_IRQ
1858c2ecf20Sopenharmony_ci	select ATMEL_PM if PM
1868c2ecf20Sopenharmony_ci	select ATMEL_SDRAMC
1878c2ecf20Sopenharmony_ci	select MEMORY
1888c2ecf20Sopenharmony_ci	select SOC_SAM_V7
1898c2ecf20Sopenharmony_ci	select SRAM if PM
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ciconfig ATMEL_PM
1928c2ecf20Sopenharmony_ci	bool
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ciendif
195