xref: /linux/arch/arm/mach-at91/Kconfig (revision b9a10f876409bf3768178f4aded199e193ddbe33)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2*d302effaSRobert Markoconfig ARCH_MICROCHIP
3*d302effaSRobert Marko	bool
4*d302effaSRobert Marko
541141127SAlexandre Bellonimenuconfig ARCH_AT91
6ed08b63cSNicolas Ferre	bool "AT91/Microchip SoCs"
75d6f5267SArnd Bergmann	depends on (CPU_LITTLE_ENDIAN && (ARCH_MULTI_V4T || ARCH_MULTI_V5)) || \
85d6f5267SArnd Bergmann		ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
9dbeb0c8eSArnd Bergmann	select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
10ef7eda2cSNicolas Ferre	select COMMON_CLK_AT91
115c34a4e8SLinus Walleij	select GPIOLIB
1241141127SAlexandre Belloni	select PINCTRL
1341141127SAlexandre Belloni	select SOC_BUS
14*d302effaSRobert Marko	select ARCH_MICROCHIP
158f4b4794SLudovic Desroches
1641141127SAlexandre Belloniif ARCH_AT91
172d4c44e9SSzemző Andrásconfig SOC_SAMV7
182d4c44e9SSzemző András	bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
192d4c44e9SSzemző András	select COMMON_CLK_AT91
202d4c44e9SSzemző András	select PINCTRL_AT91
212d4c44e9SSzemző András	help
22ed08b63cSNicolas Ferre	  Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
232d4c44e9SSzemző András	  families.
242d4c44e9SSzemző András
25c268a743SNicolas Ferreconfig SOC_SAMA5D2
26e3246542SMasahiro Yamada	bool "SAMA5D2 family"
27e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
28c268a743SNicolas Ferre	select SOC_SAMA5
29c268a743SNicolas Ferre	select CACHE_L2X0
30c268a743SNicolas Ferre	select HAVE_AT91_UTMI
31c268a743SNicolas Ferre	select HAVE_AT91_USB_CLK
32c268a743SNicolas Ferre	select HAVE_AT91_H32MX
33c268a743SNicolas Ferre	select HAVE_AT91_GENERATED_CLK
340865805dSQuentin Schulz	select HAVE_AT91_AUDIO_PLL
3596e4ea8cSCodrin Ciubotariu	select HAVE_AT91_I2S_MUX_CLK
368423536fSLudovic Desroches	select PINCTRL_AT91PIO4
37c268a743SNicolas Ferre	help
38ed08b63cSNicolas Ferre	  Select this if ou are using one of Microchip's SAMA5D2 family SoC.
39c268a743SNicolas Ferre
408f4b4794SLudovic Desrochesconfig SOC_SAMA5D3
41e3246542SMasahiro Yamada	bool "SAMA5D3 family"
42e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
438f4b4794SLudovic Desroches	select SOC_SAMA5
44f090fb37SBoris BREZILLON	select HAVE_AT91_UTMI
45a9c0688fSBoris BREZILLON	select HAVE_AT91_SMD
46c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
478423536fSLudovic Desroches	select PINCTRL_AT91
488f4b4794SLudovic Desroches	help
49ed08b63cSNicolas Ferre	  Select this if you are using one of Microchip's SAMA5D3 family SoC.
507f457160SJosh Wu	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
512dc850b6SNicolas Ferre
522dc850b6SNicolas Ferreconfig SOC_SAMA5D4
53e3246542SMasahiro Yamada	bool "SAMA5D4 family"
54e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
552dc850b6SNicolas Ferre	select SOC_SAMA5
562dc850b6SNicolas Ferre	select CACHE_L2X0
572dc850b6SNicolas Ferre	select HAVE_AT91_UTMI
582dc850b6SNicolas Ferre	select HAVE_AT91_SMD
592dc850b6SNicolas Ferre	select HAVE_AT91_USB_CLK
602dc850b6SNicolas Ferre	select HAVE_AT91_H32MX
618423536fSLudovic Desroches	select PINCTRL_AT91
622dc850b6SNicolas Ferre	help
63ed08b63cSNicolas Ferre	  Select this if you are using one of Microchip's SAMA5D4 family SoC.
648f4b4794SLudovic Desroches
65452d18c7SRyan Wannerconfig SOC_SAMA7D65
66452d18c7SRyan Wanner	bool "SAMA7D65 family"
67452d18c7SRyan Wanner	depends on ARCH_MULTI_V7
68452d18c7SRyan Wanner	select HAVE_AT91_GENERATED_CLK
69452d18c7SRyan Wanner	select HAVE_AT91_SAM9X60_PLL
70452d18c7SRyan Wanner	select HAVE_AT91_USB_CLK
71452d18c7SRyan Wanner	select HAVE_AT91_UTMI
72452d18c7SRyan Wanner	select SOC_SAMA7
73452d18c7SRyan Wanner	help
74452d18c7SRyan Wanner	  Select this if you are using one of Microchip's SAMA7D65 family SoC.
75452d18c7SRyan Wanner
7656bc2965SEugen Hristevconfig SOC_SAMA7G5
7756bc2965SEugen Hristev	bool "SAMA7G5 family"
7856bc2965SEugen Hristev	depends on ARCH_MULTI_V7
7956bc2965SEugen Hristev	select HAVE_AT91_GENERATED_CLK
8056bc2965SEugen Hristev	select HAVE_AT91_SAM9X60_PLL
8156bc2965SEugen Hristev	select HAVE_AT91_UTMI
82f8e0f301SClaudiu Beznea	select PM_OPP
8356bc2965SEugen Hristev	select SOC_SAMA7
8456bc2965SEugen Hristev	help
8556bc2965SEugen Hristev	  Select this if you are using one of Microchip's SAMA7G5 family SoC.
8656bc2965SEugen Hristev
873efc4431SKavyasree Kotagiriconfig SOC_LAN966
883efc4431SKavyasree Kotagiri	bool "ARMv7 based Microchip LAN966 SoC family"
893efc4431SKavyasree Kotagiri	depends on ARCH_MULTI_V7
903efc4431SKavyasree Kotagiri	select DW_APB_TIMER_OF
913efc4431SKavyasree Kotagiri	select ARM_GIC
923efc4431SKavyasree Kotagiri	select MEMORY
933efc4431SKavyasree Kotagiri	help
943efc4431SKavyasree Kotagiri	  This enables support for ARMv7 based Microchip LAN966 SoC family.
953efc4431SKavyasree Kotagiri
961e3ce2b8SJean-Christophe PLAGNIOL-VILLARDconfig SOC_AT91RM9200
97e3246542SMasahiro Yamada	bool "AT91RM9200"
98e3246542SMasahiro Yamada	depends on ARCH_MULTI_V4T
99ef7eda2cSNicolas Ferre	select ATMEL_AIC_IRQ
100b2f06274SAlexandre Belloni	select ATMEL_PM if PM
101b53cdd03SAlexandre Belloni	select ATMEL_ST
102c750815eSRussell King	select CPU_ARM920T
103c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
1048423536fSLudovic Desroches	select PINCTRL_AT91
10541141127SAlexandre Belloni	select SOC_SAM_V4_V5
106896bc871SWenyou Yang	select SRAM if PM
10741141127SAlexandre Belloni	help
108ed08b63cSNicolas Ferre	  Select this if you are using Microchip's AT91RM9200 SoC.
1099d041268SAndrew Victor
1102b019a43SAlexandre Belloniconfig SOC_AT91SAM9
111e3246542SMasahiro Yamada	bool "AT91SAM9"
112e3246542SMasahiro Yamada	depends on ARCH_MULTI_V5
1132b019a43SAlexandre Belloni	select ATMEL_AIC_IRQ
114b2f06274SAlexandre Belloni	select ATMEL_PM if PM
1152b019a43SAlexandre Belloni	select CPU_ARM926T
116a9c0688fSBoris BREZILLON	select HAVE_AT91_SMD
117c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
1182b019a43SAlexandre Belloni	select HAVE_AT91_UTMI
11974db4fb9SHong Xu	select HAVE_FB_ATMEL
1202b019a43SAlexandre Belloni	select MEMORY
1218423536fSLudovic Desroches	select PINCTRL_AT91
12241141127SAlexandre Belloni	select SOC_SAM_V4_V5
123896bc871SWenyou Yang	select SRAM if PM
12474db4fb9SHong Xu	help
125ed08b63cSNicolas Ferre	  Select this if you are using one of those Microchip SoC:
1262b019a43SAlexandre Belloni	    AT91SAM9260
1272b019a43SAlexandre Belloni	    AT91SAM9261
1282b019a43SAlexandre Belloni	    AT91SAM9263
1292b019a43SAlexandre Belloni	    AT91SAM9G15
1302b019a43SAlexandre Belloni	    AT91SAM9G20
1312b019a43SAlexandre Belloni	    AT91SAM9G25
1322b019a43SAlexandre Belloni	    AT91SAM9G35
1332b019a43SAlexandre Belloni	    AT91SAM9G45
1342b019a43SAlexandre Belloni	    AT91SAM9G46
1352b019a43SAlexandre Belloni	    AT91SAM9M10
1362b019a43SAlexandre Belloni	    AT91SAM9M11
1372b019a43SAlexandre Belloni	    AT91SAM9N12
1382b019a43SAlexandre Belloni	    AT91SAM9RL
1392b019a43SAlexandre Belloni	    AT91SAM9X25
1402b019a43SAlexandre Belloni	    AT91SAM9X35
1412b019a43SAlexandre Belloni	    AT91SAM9XE
1429f1ccefeSGreg Ungerer
143fe7ff55dSClaudiu Bezneaconfig SOC_SAM9X60
144fe7ff55dSClaudiu Beznea	bool "SAM9X60"
145fe7ff55dSClaudiu Beznea	depends on ARCH_MULTI_V5
146fe7ff55dSClaudiu Beznea	select ATMEL_AIC5_IRQ
147fe7ff55dSClaudiu Beznea	select ATMEL_PM if PM
148fe7ff55dSClaudiu Beznea	select CPU_ARM926T
149fe7ff55dSClaudiu Beznea	select HAVE_AT91_USB_CLK
150fe7ff55dSClaudiu Beznea	select HAVE_AT91_GENERATED_CLK
151fe7ff55dSClaudiu Beznea	select HAVE_AT91_SAM9X60_PLL
152fe7ff55dSClaudiu Beznea	select MEMORY
153fe7ff55dSClaudiu Beznea	select PINCTRL_AT91
154fe7ff55dSClaudiu Beznea	select SOC_SAM_V4_V5
155fe7ff55dSClaudiu Beznea	select SRAM if PM
156fe7ff55dSClaudiu Beznea	help
157fe7ff55dSClaudiu Beznea	  Select this if you are using Microchip's SAM9X60 SoC
158fe7ff55dSClaudiu Beznea
1591a92f038SVarshini Rajendranconfig SOC_SAM9X7
1601a92f038SVarshini Rajendran	bool "SAM9X7"
1611a92f038SVarshini Rajendran	depends on ARCH_MULTI_V5
1621a92f038SVarshini Rajendran	select ATMEL_AIC5_IRQ
1631a92f038SVarshini Rajendran	select ATMEL_PM if PM
1641a92f038SVarshini Rajendran	select CPU_ARM926T
1651a92f038SVarshini Rajendran	select HAVE_AT91_USB_CLK
1661a92f038SVarshini Rajendran	select HAVE_AT91_GENERATED_CLK
1671a92f038SVarshini Rajendran	select HAVE_AT91_SAM9X60_PLL
1681a92f038SVarshini Rajendran	select MEMORY
1691a92f038SVarshini Rajendran	select PINCTRL_AT91
1701a92f038SVarshini Rajendran	select SOC_SAM_V4_V5
1711a92f038SVarshini Rajendran	select SRAM if PM
1721a92f038SVarshini Rajendran	help
1731a92f038SVarshini Rajendran	  Select this if you are using Microchip's SAM9X7 SoC
1741a92f038SVarshini Rajendran
1757803dc86SAlexandre Bellonicomment "Clocksource driver selection"
1767803dc86SAlexandre Belloni
1777803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_PIT
1787803dc86SAlexandre Belloni	bool "Periodic Interval Timer (PIT) support"
1791a92f038SVarshini Rajendran	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
1807803dc86SAlexandre Belloni	default SOC_AT91SAM9 || SOC_SAMA5
1817803dc86SAlexandre Belloni	select ATMEL_PIT
1827803dc86SAlexandre Belloni	help
1837803dc86SAlexandre Belloni	  Select this to get a clocksource based on the Atmel Periodic Interval
1847803dc86SAlexandre Belloni	  Timer. It has a relatively low resolution and the TC Block clocksource
1857803dc86SAlexandre Belloni	  should be preferred.
1867803dc86SAlexandre Belloni
1877803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_TCB
1887803dc86SAlexandre Belloni	bool "Timer Counter Blocks (TCB) support"
1891a92f038SVarshini Rajendran	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA5
1907803dc86SAlexandre Belloni	select ATMEL_TCB_CLKSRC
1917803dc86SAlexandre Belloni	help
1927803dc86SAlexandre Belloni	  Select this to get a high precision clocksource based on a
1937803dc86SAlexandre Belloni	  TC block with a 5+ MHz base clock rate.
1947803dc86SAlexandre Belloni	  On platforms with 16-bit counters, two timer channels are combined
1957803dc86SAlexandre Belloni	  to make a single 32-bit timer.
1967803dc86SAlexandre Belloni	  It can also be used as a clock event device supporting oneshot mode.
1977803dc86SAlexandre Belloni
198f611af4cSClaudiu Bezneaconfig MICROCHIP_CLOCKSOURCE_PIT64B
199f611af4cSClaudiu Beznea	bool "64-bit Periodic Interval Timer (PIT64B) support"
2001a92f038SVarshini Rajendran	default SOC_SAM9X60 || SOC_SAM9X7 || SOC_SAMA7
201f611af4cSClaudiu Beznea	select MICROCHIP_PIT64B
202f611af4cSClaudiu Beznea	help
203f611af4cSClaudiu Beznea	  Select this to get a high resolution clockevent (SAM9X60) or
204f611af4cSClaudiu Beznea	  clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
205f611af4cSClaudiu Beznea	  Periodic Interval Timer.
206f611af4cSClaudiu Beznea
20741141127SAlexandre Belloniconfig HAVE_AT91_UTMI
20841141127SAlexandre Belloni	bool
20941141127SAlexandre Belloni
21041141127SAlexandre Belloniconfig HAVE_AT91_USB_CLK
21141141127SAlexandre Belloni	bool
21241141127SAlexandre Belloni
21341141127SAlexandre Belloniconfig COMMON_CLK_AT91
21441141127SAlexandre Belloni	bool
215863a81c3SBoris Brezillon	select MFD_SYSCON
21641141127SAlexandre Belloni
21741141127SAlexandre Belloniconfig HAVE_AT91_SMD
21841141127SAlexandre Belloni	bool
21941141127SAlexandre Belloni
22041141127SAlexandre Belloniconfig HAVE_AT91_H32MX
22141141127SAlexandre Belloni	bool
22241141127SAlexandre Belloni
223df70aeefSNicolas Ferreconfig HAVE_AT91_GENERATED_CLK
224df70aeefSNicolas Ferre	bool
225df70aeefSNicolas Ferre
2260865805dSQuentin Schulzconfig HAVE_AT91_AUDIO_PLL
2270865805dSQuentin Schulz	bool
2280865805dSQuentin Schulz
22996e4ea8cSCodrin Ciubotariuconfig HAVE_AT91_I2S_MUX_CLK
23096e4ea8cSCodrin Ciubotariu	bool
23196e4ea8cSCodrin Ciubotariu
232fc8c4c05SClaudiu Bezneaconfig HAVE_AT91_SAM9X60_PLL
233fc8c4c05SClaudiu Beznea	bool
234fc8c4c05SClaudiu Beznea
23541141127SAlexandre Belloniconfig SOC_SAM_V4_V5
23641141127SAlexandre Belloni	bool
23741141127SAlexandre Belloni
23841141127SAlexandre Belloniconfig SOC_SAM_V7
23941141127SAlexandre Belloni	bool
24041141127SAlexandre Belloni
24141141127SAlexandre Belloniconfig SOC_SAMA5
24241141127SAlexandre Belloni	bool
24341141127SAlexandre Belloni	select ATMEL_AIC5_IRQ
244b2f06274SAlexandre Belloni	select ATMEL_PM if PM
24541141127SAlexandre Belloni	select MEMORY
24641141127SAlexandre Belloni	select SOC_SAM_V7
24741141127SAlexandre Belloni	select SRAM if PM
24841141127SAlexandre Belloni
249b2f06274SAlexandre Belloniconfig ATMEL_PM
25046a65cd3SYueHaibing	bool
251f2f5cf78SClément Léger
252f2f5cf78SClément Légerconfig ATMEL_SECURE_PM
253f2f5cf78SClément Léger	bool "Atmel Secure PM support"
254f2f5cf78SClément Léger	depends on SOC_SAMA5D2 && ATMEL_PM
255f2f5cf78SClément Léger	select ARM_PSCI
256f2f5cf78SClément Léger	help
257f2f5cf78SClément Léger	  When running under a TEE, the suspend mode must be requested to be set
258f2f5cf78SClément Léger	  at TEE level. When enable, this option will use secure monitor calls
259f2f5cf78SClément Léger	  to set the suspend level. PSCI is then used to enter suspend.
260b2f06274SAlexandre Belloni
26156bc2965SEugen Hristevconfig SOC_SAMA7
26256bc2965SEugen Hristev	bool
26356bc2965SEugen Hristev	select ARM_GIC
26456bc2965SEugen Hristev	select ATMEL_PM if PM
26556bc2965SEugen Hristev	select MEMORY
26656bc2965SEugen Hristev	select SOC_SAM_V7
26756bc2965SEugen Hristev	select SRAM if PM
2689d041268SAndrew Victorendif
269