xref: /linux/arch/arm/mach-at91/Kconfig (revision 1260ed77798502de9c98020040d2995008de10cc)
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
61*452d18c7SRyan Wannerconfig SOC_SAMA7D65
62*452d18c7SRyan Wanner	bool "SAMA7D65 family"
63*452d18c7SRyan Wanner	depends on ARCH_MULTI_V7
64*452d18c7SRyan Wanner	select HAVE_AT91_GENERATED_CLK
65*452d18c7SRyan Wanner	select HAVE_AT91_SAM9X60_PLL
66*452d18c7SRyan Wanner	select HAVE_AT91_USB_CLK
67*452d18c7SRyan Wanner	select HAVE_AT91_UTMI
68*452d18c7SRyan Wanner	select SOC_SAMA7
69*452d18c7SRyan Wanner	help
70*452d18c7SRyan Wanner	  Select this if you are using one of Microchip's SAMA7D65 family SoC.
71*452d18c7SRyan Wanner
7256bc2965SEugen Hristevconfig SOC_SAMA7G5
7356bc2965SEugen Hristev	bool "SAMA7G5 family"
7456bc2965SEugen Hristev	depends on ARCH_MULTI_V7
7556bc2965SEugen Hristev	select HAVE_AT91_GENERATED_CLK
7656bc2965SEugen Hristev	select HAVE_AT91_SAM9X60_PLL
7756bc2965SEugen Hristev	select HAVE_AT91_UTMI
78f8e0f301SClaudiu Beznea	select PM_OPP
7956bc2965SEugen Hristev	select SOC_SAMA7
8056bc2965SEugen Hristev	help
8156bc2965SEugen Hristev	  Select this if you are using one of Microchip's SAMA7G5 family SoC.
8256bc2965SEugen Hristev
833efc4431SKavyasree Kotagiriconfig SOC_LAN966
843efc4431SKavyasree Kotagiri	bool "ARMv7 based Microchip LAN966 SoC family"
853efc4431SKavyasree Kotagiri	depends on ARCH_MULTI_V7
863efc4431SKavyasree Kotagiri	select DW_APB_TIMER_OF
873efc4431SKavyasree Kotagiri	select ARM_GIC
883efc4431SKavyasree Kotagiri	select MEMORY
893efc4431SKavyasree Kotagiri	help
903efc4431SKavyasree Kotagiri	  This enables support for ARMv7 based Microchip LAN966 SoC family.
913efc4431SKavyasree Kotagiri
921e3ce2b8SJean-Christophe PLAGNIOL-VILLARDconfig SOC_AT91RM9200
93e3246542SMasahiro Yamada	bool "AT91RM9200"
94e3246542SMasahiro Yamada	depends on ARCH_MULTI_V4T
95ef7eda2cSNicolas Ferre	select ATMEL_AIC_IRQ
96b2f06274SAlexandre Belloni	select ATMEL_PM if PM
97b53cdd03SAlexandre Belloni	select ATMEL_ST
98c750815eSRussell King	select CPU_ARM920T
99c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
1008423536fSLudovic Desroches	select PINCTRL_AT91
10141141127SAlexandre Belloni	select SOC_SAM_V4_V5
102896bc871SWenyou Yang	select SRAM if PM
10341141127SAlexandre Belloni	help
104ed08b63cSNicolas Ferre	  Select this if you are using Microchip's AT91RM9200 SoC.
1059d041268SAndrew Victor
1062b019a43SAlexandre Belloniconfig SOC_AT91SAM9
107e3246542SMasahiro Yamada	bool "AT91SAM9"
108e3246542SMasahiro Yamada	depends on ARCH_MULTI_V5
1092b019a43SAlexandre Belloni	select ATMEL_AIC_IRQ
110b2f06274SAlexandre Belloni	select ATMEL_PM if PM
1112b019a43SAlexandre Belloni	select CPU_ARM926T
112a9c0688fSBoris BREZILLON	select HAVE_AT91_SMD
113c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
1142b019a43SAlexandre Belloni	select HAVE_AT91_UTMI
11574db4fb9SHong Xu	select HAVE_FB_ATMEL
1162b019a43SAlexandre Belloni	select MEMORY
1178423536fSLudovic Desroches	select PINCTRL_AT91
11841141127SAlexandre Belloni	select SOC_SAM_V4_V5
119896bc871SWenyou Yang	select SRAM if PM
12074db4fb9SHong Xu	help
121ed08b63cSNicolas Ferre	  Select this if you are using one of those Microchip SoC:
1222b019a43SAlexandre Belloni	    AT91SAM9260
1232b019a43SAlexandre Belloni	    AT91SAM9261
1242b019a43SAlexandre Belloni	    AT91SAM9263
1252b019a43SAlexandre Belloni	    AT91SAM9G15
1262b019a43SAlexandre Belloni	    AT91SAM9G20
1272b019a43SAlexandre Belloni	    AT91SAM9G25
1282b019a43SAlexandre Belloni	    AT91SAM9G35
1292b019a43SAlexandre Belloni	    AT91SAM9G45
1302b019a43SAlexandre Belloni	    AT91SAM9G46
1312b019a43SAlexandre Belloni	    AT91SAM9M10
1322b019a43SAlexandre Belloni	    AT91SAM9M11
1332b019a43SAlexandre Belloni	    AT91SAM9N12
1342b019a43SAlexandre Belloni	    AT91SAM9RL
1352b019a43SAlexandre Belloni	    AT91SAM9X25
1362b019a43SAlexandre Belloni	    AT91SAM9X35
1372b019a43SAlexandre Belloni	    AT91SAM9XE
1389f1ccefeSGreg Ungerer
139fe7ff55dSClaudiu Bezneaconfig SOC_SAM9X60
140fe7ff55dSClaudiu Beznea	bool "SAM9X60"
141fe7ff55dSClaudiu Beznea	depends on ARCH_MULTI_V5
142fe7ff55dSClaudiu Beznea	select ATMEL_AIC5_IRQ
143fe7ff55dSClaudiu Beznea	select ATMEL_PM if PM
144fe7ff55dSClaudiu Beznea	select CPU_ARM926T
145fe7ff55dSClaudiu Beznea	select HAVE_AT91_USB_CLK
146fe7ff55dSClaudiu Beznea	select HAVE_AT91_GENERATED_CLK
147fe7ff55dSClaudiu Beznea	select HAVE_AT91_SAM9X60_PLL
148fe7ff55dSClaudiu Beznea	select MEMORY
149fe7ff55dSClaudiu Beznea	select PINCTRL_AT91
150fe7ff55dSClaudiu Beznea	select SOC_SAM_V4_V5
151fe7ff55dSClaudiu Beznea	select SRAM if PM
152fe7ff55dSClaudiu Beznea	help
153fe7ff55dSClaudiu Beznea	  Select this if you are using Microchip's SAM9X60 SoC
154fe7ff55dSClaudiu Beznea
1551a92f038SVarshini Rajendranconfig SOC_SAM9X7
1561a92f038SVarshini Rajendran	bool "SAM9X7"
1571a92f038SVarshini Rajendran	depends on ARCH_MULTI_V5
1581a92f038SVarshini Rajendran	select ATMEL_AIC5_IRQ
1591a92f038SVarshini Rajendran	select ATMEL_PM if PM
1601a92f038SVarshini Rajendran	select CPU_ARM926T
1611a92f038SVarshini Rajendran	select HAVE_AT91_USB_CLK
1621a92f038SVarshini Rajendran	select HAVE_AT91_GENERATED_CLK
1631a92f038SVarshini Rajendran	select HAVE_AT91_SAM9X60_PLL
1641a92f038SVarshini Rajendran	select MEMORY
1651a92f038SVarshini Rajendran	select PINCTRL_AT91
1661a92f038SVarshini Rajendran	select SOC_SAM_V4_V5
1671a92f038SVarshini Rajendran	select SRAM if PM
1681a92f038SVarshini Rajendran	help
1691a92f038SVarshini Rajendran	  Select this if you are using Microchip's SAM9X7 SoC
1701a92f038SVarshini Rajendran
1717803dc86SAlexandre Bellonicomment "Clocksource driver selection"
1727803dc86SAlexandre Belloni
1737803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_PIT
1747803dc86SAlexandre Belloni	bool "Periodic Interval Timer (PIT) support"
1751a92f038SVarshini Rajendran	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
1767803dc86SAlexandre Belloni	default SOC_AT91SAM9 || SOC_SAMA5
1777803dc86SAlexandre Belloni	select ATMEL_PIT
1787803dc86SAlexandre Belloni	help
1797803dc86SAlexandre Belloni	  Select this to get a clocksource based on the Atmel Periodic Interval
1807803dc86SAlexandre Belloni	  Timer. It has a relatively low resolution and the TC Block clocksource
1817803dc86SAlexandre Belloni	  should be preferred.
1827803dc86SAlexandre Belloni
1837803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_TCB
1847803dc86SAlexandre Belloni	bool "Timer Counter Blocks (TCB) support"
1851a92f038SVarshini Rajendran	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
1867803dc86SAlexandre Belloni	select ATMEL_TCB_CLKSRC
1877803dc86SAlexandre Belloni	help
1887803dc86SAlexandre Belloni	  Select this to get a high precision clocksource based on a
1897803dc86SAlexandre Belloni	  TC block with a 5+ MHz base clock rate.
1907803dc86SAlexandre Belloni	  On platforms with 16-bit counters, two timer channels are combined
1917803dc86SAlexandre Belloni	  to make a single 32-bit timer.
1927803dc86SAlexandre Belloni	  It can also be used as a clock event device supporting oneshot mode.
1937803dc86SAlexandre Belloni
194f611af4cSClaudiu Bezneaconfig MICROCHIP_CLOCKSOURCE_PIT64B
195f611af4cSClaudiu Beznea	bool "64-bit Periodic Interval Timer (PIT64B) support"
1961a92f038SVarshini Rajendran	default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA7
197f611af4cSClaudiu Beznea	select MICROCHIP_PIT64B
198f611af4cSClaudiu Beznea	help
199f611af4cSClaudiu Beznea	  Select this to get a high resolution clockevent (SAM9X60) or
200f611af4cSClaudiu Beznea	  clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
201f611af4cSClaudiu Beznea	  Periodic Interval Timer.
202f611af4cSClaudiu Beznea
20341141127SAlexandre Belloniconfig HAVE_AT91_UTMI
20441141127SAlexandre Belloni	bool
20541141127SAlexandre Belloni
20641141127SAlexandre Belloniconfig HAVE_AT91_USB_CLK
20741141127SAlexandre Belloni	bool
20841141127SAlexandre Belloni
20941141127SAlexandre Belloniconfig COMMON_CLK_AT91
21041141127SAlexandre Belloni	bool
211863a81c3SBoris Brezillon	select MFD_SYSCON
21241141127SAlexandre Belloni
21341141127SAlexandre Belloniconfig HAVE_AT91_SMD
21441141127SAlexandre Belloni	bool
21541141127SAlexandre Belloni
21641141127SAlexandre Belloniconfig HAVE_AT91_H32MX
21741141127SAlexandre Belloni	bool
21841141127SAlexandre Belloni
219df70aeefSNicolas Ferreconfig HAVE_AT91_GENERATED_CLK
220df70aeefSNicolas Ferre	bool
221df70aeefSNicolas Ferre
2220865805dSQuentin Schulzconfig HAVE_AT91_AUDIO_PLL
2230865805dSQuentin Schulz	bool
2240865805dSQuentin Schulz
22596e4ea8cSCodrin Ciubotariuconfig HAVE_AT91_I2S_MUX_CLK
22696e4ea8cSCodrin Ciubotariu	bool
22796e4ea8cSCodrin Ciubotariu
228fc8c4c05SClaudiu Bezneaconfig HAVE_AT91_SAM9X60_PLL
229fc8c4c05SClaudiu Beznea	bool
230fc8c4c05SClaudiu Beznea
23141141127SAlexandre Belloniconfig SOC_SAM_V4_V5
23241141127SAlexandre Belloni	bool
23341141127SAlexandre Belloni
23441141127SAlexandre Belloniconfig SOC_SAM_V7
23541141127SAlexandre Belloni	bool
23641141127SAlexandre Belloni
23741141127SAlexandre Belloniconfig SOC_SAMA5
23841141127SAlexandre Belloni	bool
23941141127SAlexandre Belloni	select ATMEL_AIC5_IRQ
240b2f06274SAlexandre Belloni	select ATMEL_PM if PM
24141141127SAlexandre Belloni	select MEMORY
24241141127SAlexandre Belloni	select SOC_SAM_V7
24341141127SAlexandre Belloni	select SRAM if PM
24441141127SAlexandre Belloni
245b2f06274SAlexandre Belloniconfig ATMEL_PM
24646a65cd3SYueHaibing	bool
247f2f5cf78SClément Léger
248f2f5cf78SClément Légerconfig ATMEL_SECURE_PM
249f2f5cf78SClément Léger	bool "Atmel Secure PM support"
250f2f5cf78SClément Léger	depends on SOC_SAMA5D2 && ATMEL_PM
251f2f5cf78SClément Léger	select ARM_PSCI
252f2f5cf78SClément Léger	help
253f2f5cf78SClément Léger	  When running under a TEE, the suspend mode must be requested to be set
254f2f5cf78SClément Léger	  at TEE level. When enable, this option will use secure monitor calls
255f2f5cf78SClément Léger	  to set the suspend level. PSCI is then used to enter suspend.
256b2f06274SAlexandre Belloni
25756bc2965SEugen Hristevconfig SOC_SAMA7
25856bc2965SEugen Hristev	bool
25956bc2965SEugen Hristev	select ARM_GIC
26056bc2965SEugen Hristev	select ATMEL_PM if PM
26156bc2965SEugen Hristev	select MEMORY
26256bc2965SEugen Hristev	select SOC_SAM_V7
26356bc2965SEugen Hristev	select SRAM if PM
2649d041268SAndrew Victorendif
265