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