xref: /openbmc/linux/arch/arm/mach-at91/Kconfig (revision d3369a4b)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
241141127SAlexandre Bellonimenuconfig ARCH_AT91
3ed08b63cSNicolas Ferre	bool "AT91/Microchip SoCs"
45d6f5267SArnd Bergmann	depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \
55d6f5267SArnd Bergmann		ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
6dbeb0c8eSArnd Bergmann	select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
7ef7eda2cSNicolas Ferre	select COMMON_CLK_AT91
85c34a4e8SLinus Walleij	select GPIOLIB
941141127SAlexandre Belloni	select PINCTRL
1041141127SAlexandre Belloni	select SOC_BUS
118f4b4794SLudovic Desroches
1241141127SAlexandre Belloniif ARCH_AT91
132d4c44e9SSzemző Andrásconfig SOC_SAMV7
142d4c44e9SSzemző András	bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
152d4c44e9SSzemző András	select COMMON_CLK_AT91
162d4c44e9SSzemző András	select PINCTRL_AT91
172d4c44e9SSzemző András	help
18ed08b63cSNicolas Ferre	  Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
192d4c44e9SSzemző András	  families.
202d4c44e9SSzemző András
21c268a743SNicolas Ferreconfig SOC_SAMA5D2
22e3246542SMasahiro Yamada	bool "SAMA5D2 family"
23e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
24c268a743SNicolas Ferre	select SOC_SAMA5
25c268a743SNicolas Ferre	select CACHE_L2X0
26c268a743SNicolas Ferre	select HAVE_AT91_UTMI
27c268a743SNicolas Ferre	select HAVE_AT91_USB_CLK
28c268a743SNicolas Ferre	select HAVE_AT91_H32MX
29c268a743SNicolas Ferre	select HAVE_AT91_GENERATED_CLK
300865805dSQuentin Schulz	select HAVE_AT91_AUDIO_PLL
3196e4ea8cSCodrin Ciubotariu	select HAVE_AT91_I2S_MUX_CLK
328423536fSLudovic Desroches	select PINCTRL_AT91PIO4
33c268a743SNicolas Ferre	help
34ed08b63cSNicolas Ferre	  Select this if ou are using one of Microchip's SAMA5D2 family SoC.
35c268a743SNicolas Ferre
368f4b4794SLudovic Desrochesconfig SOC_SAMA5D3
37e3246542SMasahiro Yamada	bool "SAMA5D3 family"
38e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
398f4b4794SLudovic Desroches	select SOC_SAMA5
40f090fb37SBoris BREZILLON	select HAVE_AT91_UTMI
41a9c0688fSBoris BREZILLON	select HAVE_AT91_SMD
42c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
438423536fSLudovic Desroches	select PINCTRL_AT91
448f4b4794SLudovic Desroches	help
45ed08b63cSNicolas Ferre	  Select this if you are using one of Microchip's SAMA5D3 family SoC.
467f457160SJosh Wu	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
472dc850b6SNicolas Ferre
482dc850b6SNicolas Ferreconfig SOC_SAMA5D4
49e3246542SMasahiro Yamada	bool "SAMA5D4 family"
50e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
512dc850b6SNicolas Ferre	select SOC_SAMA5
522dc850b6SNicolas Ferre	select CACHE_L2X0
532dc850b6SNicolas Ferre	select HAVE_AT91_UTMI
542dc850b6SNicolas Ferre	select HAVE_AT91_SMD
552dc850b6SNicolas Ferre	select HAVE_AT91_USB_CLK
562dc850b6SNicolas Ferre	select HAVE_AT91_H32MX
578423536fSLudovic Desroches	select PINCTRL_AT91
582dc850b6SNicolas Ferre	help
59ed08b63cSNicolas Ferre	  Select this if you are using one of Microchip's SAMA5D4 family SoC.
608f4b4794SLudovic Desroches
6156bc2965SEugen Hristevconfig SOC_SAMA7G5
6256bc2965SEugen Hristev	bool "SAMA7G5 family"
6356bc2965SEugen Hristev	depends on ARCH_MULTI_V7
6456bc2965SEugen Hristev	select HAVE_AT91_GENERATED_CLK
6556bc2965SEugen Hristev	select HAVE_AT91_SAM9X60_PLL
6656bc2965SEugen Hristev	select HAVE_AT91_UTMI
67f8e0f301SClaudiu Beznea	select PM_OPP
6856bc2965SEugen Hristev	select SOC_SAMA7
6956bc2965SEugen Hristev	help
7056bc2965SEugen Hristev	  Select this if you are using one of Microchip's SAMA7G5 family SoC.
7156bc2965SEugen Hristev
723efc4431SKavyasree Kotagiriconfig SOC_LAN966
733efc4431SKavyasree Kotagiri	bool "ARMv7 based Microchip LAN966 SoC family"
743efc4431SKavyasree Kotagiri	depends on ARCH_MULTI_V7
753efc4431SKavyasree Kotagiri	select DW_APB_TIMER_OF
763efc4431SKavyasree Kotagiri	select ARM_GIC
773efc4431SKavyasree Kotagiri	select MEMORY
783efc4431SKavyasree Kotagiri	help
793efc4431SKavyasree Kotagiri	  This enables support for ARMv7 based Microchip LAN966 SoC family.
803efc4431SKavyasree Kotagiri
811e3ce2b8SJean-Christophe PLAGNIOL-VILLARDconfig SOC_AT91RM9200
82e3246542SMasahiro Yamada	bool "AT91RM9200"
83e3246542SMasahiro Yamada	depends on ARCH_MULTI_V4T
84ef7eda2cSNicolas Ferre	select ATMEL_AIC_IRQ
85b2f06274SAlexandre Belloni	select ATMEL_PM if PM
86b53cdd03SAlexandre Belloni	select ATMEL_ST
87c750815eSRussell King	select CPU_ARM920T
88c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
898423536fSLudovic Desroches	select PINCTRL_AT91
9041141127SAlexandre Belloni	select SOC_SAM_V4_V5
91896bc871SWenyou Yang	select SRAM if PM
9241141127SAlexandre Belloni	help
93ed08b63cSNicolas Ferre	  Select this if you are using Microchip's AT91RM9200 SoC.
949d041268SAndrew Victor
952b019a43SAlexandre Belloniconfig SOC_AT91SAM9
96e3246542SMasahiro Yamada	bool "AT91SAM9"
97e3246542SMasahiro Yamada	depends on ARCH_MULTI_V5
982b019a43SAlexandre Belloni	select ATMEL_AIC_IRQ
99b2f06274SAlexandre Belloni	select ATMEL_PM if PM
1002b019a43SAlexandre Belloni	select CPU_ARM926T
101a9c0688fSBoris BREZILLON	select HAVE_AT91_SMD
102c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
1032b019a43SAlexandre Belloni	select HAVE_AT91_UTMI
10474db4fb9SHong Xu	select HAVE_FB_ATMEL
1052b019a43SAlexandre Belloni	select MEMORY
1068423536fSLudovic Desroches	select PINCTRL_AT91
10741141127SAlexandre Belloni	select SOC_SAM_V4_V5
108896bc871SWenyou Yang	select SRAM if PM
10974db4fb9SHong Xu	help
110ed08b63cSNicolas Ferre	  Select this if you are using one of those Microchip SoC:
1112b019a43SAlexandre Belloni	    AT91SAM9260
1122b019a43SAlexandre Belloni	    AT91SAM9261
1132b019a43SAlexandre Belloni	    AT91SAM9263
1142b019a43SAlexandre Belloni	    AT91SAM9G15
1152b019a43SAlexandre Belloni	    AT91SAM9G20
1162b019a43SAlexandre Belloni	    AT91SAM9G25
1172b019a43SAlexandre Belloni	    AT91SAM9G35
1182b019a43SAlexandre Belloni	    AT91SAM9G45
1192b019a43SAlexandre Belloni	    AT91SAM9G46
1202b019a43SAlexandre Belloni	    AT91SAM9M10
1212b019a43SAlexandre Belloni	    AT91SAM9M11
1222b019a43SAlexandre Belloni	    AT91SAM9N12
1232b019a43SAlexandre Belloni	    AT91SAM9RL
1242b019a43SAlexandre Belloni	    AT91SAM9X25
1252b019a43SAlexandre Belloni	    AT91SAM9X35
1262b019a43SAlexandre Belloni	    AT91SAM9XE
1279f1ccefeSGreg Ungerer
128fe7ff55dSClaudiu Bezneaconfig SOC_SAM9X60
129fe7ff55dSClaudiu Beznea	bool "SAM9X60"
130fe7ff55dSClaudiu Beznea	depends on ARCH_MULTI_V5
131fe7ff55dSClaudiu Beznea	select ATMEL_AIC5_IRQ
132fe7ff55dSClaudiu Beznea	select ATMEL_PM if PM
133fe7ff55dSClaudiu Beznea	select CPU_ARM926T
134fe7ff55dSClaudiu Beznea	select HAVE_AT91_USB_CLK
135fe7ff55dSClaudiu Beznea	select HAVE_AT91_GENERATED_CLK
136fe7ff55dSClaudiu Beznea	select HAVE_AT91_SAM9X60_PLL
137fe7ff55dSClaudiu Beznea	select MEMORY
138fe7ff55dSClaudiu Beznea	select PINCTRL_AT91
139fe7ff55dSClaudiu Beznea	select SOC_SAM_V4_V5
140fe7ff55dSClaudiu Beznea	select SRAM if PM
141fe7ff55dSClaudiu Beznea	help
142fe7ff55dSClaudiu Beznea	  Select this if you are using Microchip's SAM9X60 SoC
143fe7ff55dSClaudiu Beznea
1447803dc86SAlexandre Bellonicomment "Clocksource driver selection"
1457803dc86SAlexandre Belloni
1467803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_PIT
1477803dc86SAlexandre Belloni	bool "Periodic Interval Timer (PIT) support"
148fe7ff55dSClaudiu Beznea	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
1497803dc86SAlexandre Belloni	default SOC_AT91SAM9 || SOC_SAMA5
1507803dc86SAlexandre Belloni	select ATMEL_PIT
1517803dc86SAlexandre Belloni	help
1527803dc86SAlexandre Belloni	  Select this to get a clocksource based on the Atmel Periodic Interval
1537803dc86SAlexandre Belloni	  Timer. It has a relatively low resolution and the TC Block clocksource
1547803dc86SAlexandre Belloni	  should be preferred.
1557803dc86SAlexandre Belloni
1567803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_TCB
1577803dc86SAlexandre Belloni	bool "Timer Counter Blocks (TCB) support"
158fe7ff55dSClaudiu Beznea	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
1597803dc86SAlexandre Belloni	select ATMEL_TCB_CLKSRC
1607803dc86SAlexandre Belloni	help
1617803dc86SAlexandre Belloni	  Select this to get a high precision clocksource based on a
1627803dc86SAlexandre Belloni	  TC block with a 5+ MHz base clock rate.
1637803dc86SAlexandre Belloni	  On platforms with 16-bit counters, two timer channels are combined
1647803dc86SAlexandre Belloni	  to make a single 32-bit timer.
1657803dc86SAlexandre Belloni	  It can also be used as a clock event device supporting oneshot mode.
1667803dc86SAlexandre Belloni
167f611af4cSClaudiu Bezneaconfig MICROCHIP_CLOCKSOURCE_PIT64B
168f611af4cSClaudiu Beznea	bool "64-bit Periodic Interval Timer (PIT64B) support"
169f611af4cSClaudiu Beznea	default SOC_SAM9X60 || SOC_SAMA7
170f611af4cSClaudiu Beznea	select MICROCHIP_PIT64B
171f611af4cSClaudiu Beznea	help
172f611af4cSClaudiu Beznea	  Select this to get a high resolution clockevent (SAM9X60) or
173f611af4cSClaudiu Beznea	  clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
174f611af4cSClaudiu Beznea	  Periodic Interval Timer.
175f611af4cSClaudiu Beznea
17641141127SAlexandre Belloniconfig HAVE_AT91_UTMI
17741141127SAlexandre Belloni	bool
17841141127SAlexandre Belloni
17941141127SAlexandre Belloniconfig HAVE_AT91_USB_CLK
18041141127SAlexandre Belloni	bool
18141141127SAlexandre Belloni
18241141127SAlexandre Belloniconfig COMMON_CLK_AT91
18341141127SAlexandre Belloni	bool
184863a81c3SBoris Brezillon	select MFD_SYSCON
18541141127SAlexandre Belloni
18641141127SAlexandre Belloniconfig HAVE_AT91_SMD
18741141127SAlexandre Belloni	bool
18841141127SAlexandre Belloni
18941141127SAlexandre Belloniconfig HAVE_AT91_H32MX
19041141127SAlexandre Belloni	bool
19141141127SAlexandre Belloni
192df70aeefSNicolas Ferreconfig HAVE_AT91_GENERATED_CLK
193df70aeefSNicolas Ferre	bool
194df70aeefSNicolas Ferre
1950865805dSQuentin Schulzconfig HAVE_AT91_AUDIO_PLL
1960865805dSQuentin Schulz	bool
1970865805dSQuentin Schulz
19896e4ea8cSCodrin Ciubotariuconfig HAVE_AT91_I2S_MUX_CLK
19996e4ea8cSCodrin Ciubotariu	bool
20096e4ea8cSCodrin Ciubotariu
201fc8c4c05SClaudiu Bezneaconfig HAVE_AT91_SAM9X60_PLL
202fc8c4c05SClaudiu Beznea	bool
203fc8c4c05SClaudiu Beznea
20441141127SAlexandre Belloniconfig SOC_SAM_V4_V5
20541141127SAlexandre Belloni	bool
20641141127SAlexandre Belloni
20741141127SAlexandre Belloniconfig SOC_SAM_V7
20841141127SAlexandre Belloni	bool
20941141127SAlexandre Belloni
21041141127SAlexandre Belloniconfig SOC_SAMA5
21141141127SAlexandre Belloni	bool
21241141127SAlexandre Belloni	select ATMEL_AIC5_IRQ
213b2f06274SAlexandre Belloni	select ATMEL_PM if PM
21441141127SAlexandre Belloni	select MEMORY
21541141127SAlexandre Belloni	select SOC_SAM_V7
21641141127SAlexandre Belloni	select SRAM if PM
21741141127SAlexandre Belloni
218b2f06274SAlexandre Belloniconfig ATMEL_PM
219*46a65cd3SYueHaibing	bool
220f2f5cf78SClément Léger
221f2f5cf78SClément Légerconfig ATMEL_SECURE_PM
222f2f5cf78SClément Léger	bool "Atmel Secure PM support"
223f2f5cf78SClément Léger	depends on SOC_SAMA5D2 && ATMEL_PM
224f2f5cf78SClément Léger	select ARM_PSCI
225f2f5cf78SClément Léger	help
226f2f5cf78SClément Léger	  When running under a TEE, the suspend mode must be requested to be set
227f2f5cf78SClément Léger	  at TEE level. When enable, this option will use secure monitor calls
228f2f5cf78SClément Léger	  to set the suspend level. PSCI is then used to enter suspend.
229b2f06274SAlexandre Belloni
23056bc2965SEugen Hristevconfig SOC_SAMA7
23156bc2965SEugen Hristev	bool
23256bc2965SEugen Hristev	select ARM_GIC
23356bc2965SEugen Hristev	select ATMEL_PM if PM
23456bc2965SEugen Hristev	select MEMORY
23556bc2965SEugen Hristev	select SOC_SAM_V7
23656bc2965SEugen Hristev	select SRAM if PM
2379d041268SAndrew Victorendif
238