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