xref: /linux/arch/arm/mach-at91/Kconfig (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
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
144*1a92f038SVarshini Rajendranconfig SOC_SAM9X7
145*1a92f038SVarshini Rajendran	bool "SAM9X7"
146*1a92f038SVarshini Rajendran	depends on ARCH_MULTI_V5
147*1a92f038SVarshini Rajendran	select ATMEL_AIC5_IRQ
148*1a92f038SVarshini Rajendran	select ATMEL_PM if PM
149*1a92f038SVarshini Rajendran	select CPU_ARM926T
150*1a92f038SVarshini Rajendran	select HAVE_AT91_USB_CLK
151*1a92f038SVarshini Rajendran	select HAVE_AT91_GENERATED_CLK
152*1a92f038SVarshini Rajendran	select HAVE_AT91_SAM9X60_PLL
153*1a92f038SVarshini Rajendran	select MEMORY
154*1a92f038SVarshini Rajendran	select PINCTRL_AT91
155*1a92f038SVarshini Rajendran	select SOC_SAM_V4_V5
156*1a92f038SVarshini Rajendran	select SRAM if PM
157*1a92f038SVarshini Rajendran	help
158*1a92f038SVarshini Rajendran	  Select this if you are using Microchip's SAM9X7 SoC
159*1a92f038SVarshini Rajendran
1607803dc86SAlexandre Bellonicomment "Clocksource driver selection"
1617803dc86SAlexandre Belloni
1627803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_PIT
1637803dc86SAlexandre Belloni	bool "Periodic Interval Timer (PIT) support"
164*1a92f038SVarshini Rajendran	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
1657803dc86SAlexandre Belloni	default SOC_AT91SAM9 || SOC_SAMA5
1667803dc86SAlexandre Belloni	select ATMEL_PIT
1677803dc86SAlexandre Belloni	help
1687803dc86SAlexandre Belloni	  Select this to get a clocksource based on the Atmel Periodic Interval
1697803dc86SAlexandre Belloni	  Timer. It has a relatively low resolution and the TC Block clocksource
1707803dc86SAlexandre Belloni	  should be preferred.
1717803dc86SAlexandre Belloni
1727803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_TCB
1737803dc86SAlexandre Belloni	bool "Timer Counter Blocks (TCB) support"
174*1a92f038SVarshini Rajendran	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
1757803dc86SAlexandre Belloni	select ATMEL_TCB_CLKSRC
1767803dc86SAlexandre Belloni	help
1777803dc86SAlexandre Belloni	  Select this to get a high precision clocksource based on a
1787803dc86SAlexandre Belloni	  TC block with a 5+ MHz base clock rate.
1797803dc86SAlexandre Belloni	  On platforms with 16-bit counters, two timer channels are combined
1807803dc86SAlexandre Belloni	  to make a single 32-bit timer.
1817803dc86SAlexandre Belloni	  It can also be used as a clock event device supporting oneshot mode.
1827803dc86SAlexandre Belloni
183f611af4cSClaudiu Bezneaconfig MICROCHIP_CLOCKSOURCE_PIT64B
184f611af4cSClaudiu Beznea	bool "64-bit Periodic Interval Timer (PIT64B) support"
185*1a92f038SVarshini Rajendran	default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA7
186f611af4cSClaudiu Beznea	select MICROCHIP_PIT64B
187f611af4cSClaudiu Beznea	help
188f611af4cSClaudiu Beznea	  Select this to get a high resolution clockevent (SAM9X60) or
189f611af4cSClaudiu Beznea	  clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
190f611af4cSClaudiu Beznea	  Periodic Interval Timer.
191f611af4cSClaudiu Beznea
19241141127SAlexandre Belloniconfig HAVE_AT91_UTMI
19341141127SAlexandre Belloni	bool
19441141127SAlexandre Belloni
19541141127SAlexandre Belloniconfig HAVE_AT91_USB_CLK
19641141127SAlexandre Belloni	bool
19741141127SAlexandre Belloni
19841141127SAlexandre Belloniconfig COMMON_CLK_AT91
19941141127SAlexandre Belloni	bool
200863a81c3SBoris Brezillon	select MFD_SYSCON
20141141127SAlexandre Belloni
20241141127SAlexandre Belloniconfig HAVE_AT91_SMD
20341141127SAlexandre Belloni	bool
20441141127SAlexandre Belloni
20541141127SAlexandre Belloniconfig HAVE_AT91_H32MX
20641141127SAlexandre Belloni	bool
20741141127SAlexandre Belloni
208df70aeefSNicolas Ferreconfig HAVE_AT91_GENERATED_CLK
209df70aeefSNicolas Ferre	bool
210df70aeefSNicolas Ferre
2110865805dSQuentin Schulzconfig HAVE_AT91_AUDIO_PLL
2120865805dSQuentin Schulz	bool
2130865805dSQuentin Schulz
21496e4ea8cSCodrin Ciubotariuconfig HAVE_AT91_I2S_MUX_CLK
21596e4ea8cSCodrin Ciubotariu	bool
21696e4ea8cSCodrin Ciubotariu
217fc8c4c05SClaudiu Bezneaconfig HAVE_AT91_SAM9X60_PLL
218fc8c4c05SClaudiu Beznea	bool
219fc8c4c05SClaudiu Beznea
22041141127SAlexandre Belloniconfig SOC_SAM_V4_V5
22141141127SAlexandre Belloni	bool
22241141127SAlexandre Belloni
22341141127SAlexandre Belloniconfig SOC_SAM_V7
22441141127SAlexandre Belloni	bool
22541141127SAlexandre Belloni
22641141127SAlexandre Belloniconfig SOC_SAMA5
22741141127SAlexandre Belloni	bool
22841141127SAlexandre Belloni	select ATMEL_AIC5_IRQ
229b2f06274SAlexandre Belloni	select ATMEL_PM if PM
23041141127SAlexandre Belloni	select MEMORY
23141141127SAlexandre Belloni	select SOC_SAM_V7
23241141127SAlexandre Belloni	select SRAM if PM
23341141127SAlexandre Belloni
234b2f06274SAlexandre Belloniconfig ATMEL_PM
23546a65cd3SYueHaibing	bool
236f2f5cf78SClément Léger
237f2f5cf78SClément Légerconfig ATMEL_SECURE_PM
238f2f5cf78SClément Léger	bool "Atmel Secure PM support"
239f2f5cf78SClément Léger	depends on SOC_SAMA5D2 && ATMEL_PM
240f2f5cf78SClément Léger	select ARM_PSCI
241f2f5cf78SClément Léger	help
242f2f5cf78SClément Léger	  When running under a TEE, the suspend mode must be requested to be set
243f2f5cf78SClément Léger	  at TEE level. When enable, this option will use secure monitor calls
244f2f5cf78SClément Léger	  to set the suspend level. PSCI is then used to enter suspend.
245b2f06274SAlexandre Belloni
24656bc2965SEugen Hristevconfig SOC_SAMA7
24756bc2965SEugen Hristev	bool
24856bc2965SEugen Hristev	select ARM_GIC
24956bc2965SEugen Hristev	select ATMEL_PM if PM
25056bc2965SEugen Hristev	select MEMORY
25156bc2965SEugen Hristev	select SOC_SAM_V7
25256bc2965SEugen Hristev	select SRAM if PM
2539d041268SAndrew Victorendif
254