xref: /openbmc/linux/arch/arm/mach-at91/Kconfig (revision f2f5cf78)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
241141127SAlexandre Bellonimenuconfig ARCH_AT91
3ed08b63cSNicolas Ferre	bool "AT91/Microchip SoCs"
42d4c44e9SSzemző András	depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M
5dbeb0c8eSArnd Bergmann	select ARM_CPU_SUSPEND if PM && ARCH_MULTI_V7
6ef7eda2cSNicolas Ferre	select COMMON_CLK_AT91
75c34a4e8SLinus Walleij	select GPIOLIB
841141127SAlexandre Belloni	select PINCTRL
941141127SAlexandre Belloni	select SOC_BUS
108f4b4794SLudovic Desroches
1141141127SAlexandre Belloniif ARCH_AT91
122d4c44e9SSzemző Andrásconfig SOC_SAMV7
132d4c44e9SSzemző András	bool "SAM Cortex-M7 family" if ARM_SINGLE_ARMV7M
142d4c44e9SSzemző András	select COMMON_CLK_AT91
152d4c44e9SSzemző András	select PINCTRL_AT91
162d4c44e9SSzemző András	help
17ed08b63cSNicolas Ferre	  Select this if you are using an SoC from Microchip's SAME7, SAMS7 or SAMV7
182d4c44e9SSzemző András	  families.
192d4c44e9SSzemző András
20c268a743SNicolas Ferreconfig SOC_SAMA5D2
21e3246542SMasahiro Yamada	bool "SAMA5D2 family"
22e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
23c268a743SNicolas Ferre	select SOC_SAMA5
24c268a743SNicolas Ferre	select CACHE_L2X0
25c268a743SNicolas Ferre	select HAVE_AT91_UTMI
26c268a743SNicolas Ferre	select HAVE_AT91_USB_CLK
27c268a743SNicolas Ferre	select HAVE_AT91_H32MX
28c268a743SNicolas Ferre	select HAVE_AT91_GENERATED_CLK
290865805dSQuentin Schulz	select HAVE_AT91_AUDIO_PLL
3096e4ea8cSCodrin Ciubotariu	select HAVE_AT91_I2S_MUX_CLK
318423536fSLudovic Desroches	select PINCTRL_AT91PIO4
32c268a743SNicolas Ferre	help
33ed08b63cSNicolas Ferre	  Select this if ou are using one of Microchip's SAMA5D2 family SoC.
34c268a743SNicolas Ferre
358f4b4794SLudovic Desrochesconfig SOC_SAMA5D3
36e3246542SMasahiro Yamada	bool "SAMA5D3 family"
37e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
388f4b4794SLudovic Desroches	select SOC_SAMA5
39f090fb37SBoris BREZILLON	select HAVE_AT91_UTMI
40a9c0688fSBoris BREZILLON	select HAVE_AT91_SMD
41c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
428423536fSLudovic Desroches	select PINCTRL_AT91
438f4b4794SLudovic Desroches	help
44ed08b63cSNicolas Ferre	  Select this if you are using one of Microchip's SAMA5D3 family SoC.
457f457160SJosh Wu	  This support covers SAMA5D31, SAMA5D33, SAMA5D34, SAMA5D35, SAMA5D36.
462dc850b6SNicolas Ferre
472dc850b6SNicolas Ferreconfig SOC_SAMA5D4
48e3246542SMasahiro Yamada	bool "SAMA5D4 family"
49e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
502dc850b6SNicolas Ferre	select SOC_SAMA5
512dc850b6SNicolas Ferre	select CACHE_L2X0
522dc850b6SNicolas Ferre	select HAVE_AT91_UTMI
532dc850b6SNicolas Ferre	select HAVE_AT91_SMD
542dc850b6SNicolas Ferre	select HAVE_AT91_USB_CLK
552dc850b6SNicolas Ferre	select HAVE_AT91_H32MX
568423536fSLudovic Desroches	select PINCTRL_AT91
572dc850b6SNicolas Ferre	help
58ed08b63cSNicolas Ferre	  Select this if you are using one of Microchip's SAMA5D4 family SoC.
598f4b4794SLudovic Desroches
6056bc2965SEugen Hristevconfig SOC_SAMA7G5
6156bc2965SEugen Hristev	bool "SAMA7G5 family"
6256bc2965SEugen Hristev	depends on ARCH_MULTI_V7
6356bc2965SEugen Hristev	select HAVE_AT91_GENERATED_CLK
6456bc2965SEugen Hristev	select HAVE_AT91_SAM9X60_PLL
6556bc2965SEugen Hristev	select HAVE_AT91_UTMI
66f8e0f301SClaudiu Beznea	select PM_OPP
6756bc2965SEugen Hristev	select SOC_SAMA7
6856bc2965SEugen Hristev	help
6956bc2965SEugen Hristev	  Select this if you are using one of Microchip's SAMA7G5 family SoC.
7056bc2965SEugen Hristev
713efc4431SKavyasree Kotagiriconfig SOC_LAN966
723efc4431SKavyasree Kotagiri	bool "ARMv7 based Microchip LAN966 SoC family"
733efc4431SKavyasree Kotagiri	depends on ARCH_MULTI_V7
743efc4431SKavyasree Kotagiri	select DW_APB_TIMER_OF
753efc4431SKavyasree Kotagiri	select ARM_GIC
763efc4431SKavyasree Kotagiri	select MEMORY
773efc4431SKavyasree Kotagiri	help
783efc4431SKavyasree Kotagiri	  This enables support for ARMv7 based Microchip LAN966 SoC family.
793efc4431SKavyasree Kotagiri
801e3ce2b8SJean-Christophe PLAGNIOL-VILLARDconfig SOC_AT91RM9200
81e3246542SMasahiro Yamada	bool "AT91RM9200"
82e3246542SMasahiro Yamada	depends on ARCH_MULTI_V4T
83ef7eda2cSNicolas Ferre	select ATMEL_AIC_IRQ
84b2f06274SAlexandre Belloni	select ATMEL_PM if PM
85b53cdd03SAlexandre Belloni	select ATMEL_ST
86c750815eSRussell King	select CPU_ARM920T
87c84a61d8SBoris BREZILLON	select HAVE_AT91_USB_CLK
888423536fSLudovic Desroches	select PINCTRL_AT91
8941141127SAlexandre Belloni	select SOC_SAM_V4_V5
90896bc871SWenyou Yang	select SRAM if PM
9141141127SAlexandre Belloni	help
92ed08b63cSNicolas Ferre	  Select this if you are using Microchip's AT91RM9200 SoC.
939d041268SAndrew Victor
942b019a43SAlexandre Belloniconfig SOC_AT91SAM9
95e3246542SMasahiro Yamada	bool "AT91SAM9"
96e3246542SMasahiro Yamada	depends on ARCH_MULTI_V5
972b019a43SAlexandre Belloni	select ATMEL_AIC_IRQ
98b2f06274SAlexandre Belloni	select ATMEL_PM if PM
992b019a43SAlexandre Belloni	select ATMEL_SDRAMC
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 ATMEL_SDRAMC
134fe7ff55dSClaudiu Beznea	select CPU_ARM926T
135fe7ff55dSClaudiu Beznea	select HAVE_AT91_USB_CLK
136fe7ff55dSClaudiu Beznea	select HAVE_AT91_GENERATED_CLK
137fe7ff55dSClaudiu Beznea	select HAVE_AT91_SAM9X60_PLL
138fe7ff55dSClaudiu Beznea	select MEMORY
139fe7ff55dSClaudiu Beznea	select PINCTRL_AT91
140fe7ff55dSClaudiu Beznea	select SOC_SAM_V4_V5
141fe7ff55dSClaudiu Beznea	select SRAM if PM
142fe7ff55dSClaudiu Beznea	help
143fe7ff55dSClaudiu Beznea	  Select this if you are using Microchip's SAM9X60 SoC
144fe7ff55dSClaudiu Beznea
1457803dc86SAlexandre Bellonicomment "Clocksource driver selection"
1467803dc86SAlexandre Belloni
1477803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_PIT
1487803dc86SAlexandre Belloni	bool "Periodic Interval Timer (PIT) support"
149fe7ff55dSClaudiu Beznea	depends on SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
1507803dc86SAlexandre Belloni	default SOC_AT91SAM9 || SOC_SAMA5
1517803dc86SAlexandre Belloni	select ATMEL_PIT
1527803dc86SAlexandre Belloni	help
1537803dc86SAlexandre Belloni	  Select this to get a clocksource based on the Atmel Periodic Interval
1547803dc86SAlexandre Belloni	  Timer. It has a relatively low resolution and the TC Block clocksource
1557803dc86SAlexandre Belloni	  should be preferred.
1567803dc86SAlexandre Belloni
1577803dc86SAlexandre Belloniconfig ATMEL_CLOCKSOURCE_TCB
1587803dc86SAlexandre Belloni	bool "Timer Counter Blocks (TCB) support"
159fe7ff55dSClaudiu Beznea	default SOC_AT91RM9200 || SOC_AT91SAM9 || SOC_SAM9X60 || SOC_SAMA5
1607803dc86SAlexandre Belloni	select ATMEL_TCB_CLKSRC
1617803dc86SAlexandre Belloni	help
1627803dc86SAlexandre Belloni	  Select this to get a high precision clocksource based on a
1637803dc86SAlexandre Belloni	  TC block with a 5+ MHz base clock rate.
1647803dc86SAlexandre Belloni	  On platforms with 16-bit counters, two timer channels are combined
1657803dc86SAlexandre Belloni	  to make a single 32-bit timer.
1667803dc86SAlexandre Belloni	  It can also be used as a clock event device supporting oneshot mode.
1677803dc86SAlexandre Belloni
168f611af4cSClaudiu Bezneaconfig MICROCHIP_CLOCKSOURCE_PIT64B
169f611af4cSClaudiu Beznea	bool "64-bit Periodic Interval Timer (PIT64B) support"
170f611af4cSClaudiu Beznea	default SOC_SAM9X60 || SOC_SAMA7
171f611af4cSClaudiu Beznea	select MICROCHIP_PIT64B
172f611af4cSClaudiu Beznea	help
173f611af4cSClaudiu Beznea	  Select this to get a high resolution clockevent (SAM9X60) or
174f611af4cSClaudiu Beznea	  clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
175f611af4cSClaudiu Beznea	  Periodic Interval Timer.
176f611af4cSClaudiu Beznea
17741141127SAlexandre Belloniconfig HAVE_AT91_UTMI
17841141127SAlexandre Belloni	bool
17941141127SAlexandre Belloni
18041141127SAlexandre Belloniconfig HAVE_AT91_USB_CLK
18141141127SAlexandre Belloni	bool
18241141127SAlexandre Belloni
18341141127SAlexandre Belloniconfig COMMON_CLK_AT91
18441141127SAlexandre Belloni	bool
185863a81c3SBoris Brezillon	select MFD_SYSCON
18641141127SAlexandre Belloni
18741141127SAlexandre Belloniconfig HAVE_AT91_SMD
18841141127SAlexandre Belloni	bool
18941141127SAlexandre Belloni
19041141127SAlexandre Belloniconfig HAVE_AT91_H32MX
19141141127SAlexandre Belloni	bool
19241141127SAlexandre Belloni
193df70aeefSNicolas Ferreconfig HAVE_AT91_GENERATED_CLK
194df70aeefSNicolas Ferre	bool
195df70aeefSNicolas Ferre
1960865805dSQuentin Schulzconfig HAVE_AT91_AUDIO_PLL
1970865805dSQuentin Schulz	bool
1980865805dSQuentin Schulz
19996e4ea8cSCodrin Ciubotariuconfig HAVE_AT91_I2S_MUX_CLK
20096e4ea8cSCodrin Ciubotariu	bool
20196e4ea8cSCodrin Ciubotariu
202fc8c4c05SClaudiu Bezneaconfig HAVE_AT91_SAM9X60_PLL
203fc8c4c05SClaudiu Beznea	bool
204fc8c4c05SClaudiu Beznea
20541141127SAlexandre Belloniconfig SOC_SAM_V4_V5
20641141127SAlexandre Belloni	bool
20741141127SAlexandre Belloni
20841141127SAlexandre Belloniconfig SOC_SAM_V7
20941141127SAlexandre Belloni	bool
21041141127SAlexandre Belloni
21141141127SAlexandre Belloniconfig SOC_SAMA5
21241141127SAlexandre Belloni	bool
21341141127SAlexandre Belloni	select ATMEL_AIC5_IRQ
214b2f06274SAlexandre Belloni	select ATMEL_PM if PM
21541141127SAlexandre Belloni	select ATMEL_SDRAMC
21641141127SAlexandre Belloni	select MEMORY
21741141127SAlexandre Belloni	select SOC_SAM_V7
21841141127SAlexandre Belloni	select SRAM if PM
21941141127SAlexandre Belloni
220b2f06274SAlexandre Belloniconfig ATMEL_PM
221*f2f5cf78SClément Léger	bool "Atmel PM support"
222*f2f5cf78SClément Léger
223*f2f5cf78SClément Légerconfig ATMEL_SECURE_PM
224*f2f5cf78SClément Léger	bool "Atmel Secure PM support"
225*f2f5cf78SClément Léger	depends on SOC_SAMA5D2 && ATMEL_PM
226*f2f5cf78SClément Léger	select ARM_PSCI
227*f2f5cf78SClément Léger	help
228*f2f5cf78SClément Léger	  When running under a TEE, the suspend mode must be requested to be set
229*f2f5cf78SClément Léger	  at TEE level. When enable, this option will use secure monitor calls
230*f2f5cf78SClément Léger	  to set the suspend level. PSCI is then used to enter suspend.
231b2f06274SAlexandre Belloni
23256bc2965SEugen Hristevconfig SOC_SAMA7
23356bc2965SEugen Hristev	bool
23456bc2965SEugen Hristev	select ARM_GIC
23556bc2965SEugen Hristev	select ATMEL_PM if PM
23656bc2965SEugen Hristev	select ATMEL_SDRAMC
23756bc2965SEugen Hristev	select MEMORY
23856bc2965SEugen Hristev	select SOC_SAM_V7
23956bc2965SEugen Hristev	select SRAM if PM
2409d041268SAndrew Victorendif
241