1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 221278aeaSRob Herringmenuconfig ARCH_BCM 3e3246542SMasahiro Yamada bool "Broadcom SoC Support" 4e3246542SMasahiro Yamada depends on ARCH_MULTI_V6_V7 5badb9238SChristian Daudt help 6fd336158SAlexander Shiyan This enables support for Broadcom ARM based SoC chips 7badb9238SChristian Daudt 821278aeaSRob Herringif ARCH_BCM 9badb9238SChristian Daudt 101b475f8dSJonathan Richardsoncomment "IPROC architected SoCs" 111b475f8dSJonathan Richardson 121b475f8dSJonathan Richardsonconfig ARCH_BCM_IPROC 131b475f8dSJonathan Richardson bool 141b475f8dSJonathan Richardson select ARM_GIC 151b475f8dSJonathan Richardson select CACHE_L2X0 161b475f8dSJonathan Richardson select HAVE_ARM_SCU if SMP 171b475f8dSJonathan Richardson select HAVE_ARM_TWD if SMP 181b475f8dSJonathan Richardson select ARM_GLOBAL_TIMER 191b475f8dSJonathan Richardson select CLKSRC_MMIO 205c34a4e8SLinus Walleij select GPIOLIB 211b475f8dSJonathan Richardson select ARM_AMBA 221b475f8dSJonathan Richardson select PINCTRL 232eac9c2dSChristoph Hellwig select PCI_DOMAINS_GENERIC if PCI 241b475f8dSJonathan Richardson help 251b475f8dSJonathan Richardson This enables support for systems based on Broadcom IPROC architected SoCs. 261b475f8dSJonathan Richardson The IPROC complex contains one or more ARM CPUs along with common 2783fc61a5SMasanari Iida core peripherals. Application specific SoCs are created by adding a 281b475f8dSJonathan Richardson uArchitecture containing peripherals outside of the IPROC complex. 291b475f8dSJonathan Richardson Currently supported SoCs are Cygnus. 301b475f8dSJonathan Richardson 311b475f8dSJonathan Richardsonconfig ARCH_BCM_CYGNUS 32e3246542SMasahiro Yamada bool "Broadcom Cygnus Support" 33e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 341b475f8dSJonathan Richardson select ARCH_BCM_IPROC 351b475f8dSJonathan Richardson help 361b475f8dSJonathan Richardson Enable support for the Cygnus family, 371b475f8dSJonathan Richardson which includes the following variants: 381b475f8dSJonathan Richardson BCM11300, BCM11320, BCM11350, BCM11360, 391b475f8dSJonathan Richardson BCM58300, BCM58302, BCM58303, BCM58305. 401b475f8dSJonathan Richardson 412e2bba69SFlorian Fainelliconfig ARCH_BCM_HR2 422e2bba69SFlorian Fainelli bool "Broadcom Hurricane 2 SoC support" 432e2bba69SFlorian Fainelli depends on ARCH_MULTI_V7 442e2bba69SFlorian Fainelli select ARCH_BCM_IPROC 452e2bba69SFlorian Fainelli help 462e2bba69SFlorian Fainelli Enable support for the Hurricane 2 family, 472e2bba69SFlorian Fainelli which includes the following variants: 482e2bba69SFlorian Fainelli BCM53342, BCM53343, BCM53344, BCM53346. 492e2bba69SFlorian Fainelli 501f3e9a6eSJon Masonconfig ARCH_BCM_NSP 51e3246542SMasahiro Yamada bool "Broadcom Northstar Plus SoC Support" 52e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 531f3e9a6eSJon Mason select ARCH_BCM_IPROC 541f3e9a6eSJon Mason select ARM_ERRATA_754322 551f3e9a6eSJon Mason select ARM_ERRATA_775420 5697890821SKapil Hali select ARM_ERRATA_764369 if SMP 5797890821SKapil Hali select HAVE_SMP 5827d9fa06SJon Mason select THERMAL 5927d9fa06SJon Mason select THERMAL_OF 601f3e9a6eSJon Mason help 611f3e9a6eSJon Mason Support for Broadcom Northstar Plus SoC. 621f3e9a6eSJon Mason Broadcom Northstar Plus family of SoCs are used for switching control 631f3e9a6eSJon Mason and management applications as well as residential router/gateway 641f3e9a6eSJon Mason applications. The SoC features dual core Cortex A9 ARM CPUs, 651f3e9a6eSJon Mason integrating several peripheral interfaces including multiple Gigabit 661f3e9a6eSJon Mason Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and 671f3e9a6eSJon Mason NAND flash, SATA and several other IO controllers. 681f3e9a6eSJon Mason 69d318987eSScott Brandenconfig ARCH_BCM_5301X 70e3246542SMasahiro Yamada bool "Broadcom BCM470X / BCM5301X ARM SoC" 71e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 72d318987eSScott Branden select ARCH_BCM_IPROC 73f4ce7effSHauke Mehrtens select ARM_ERRATA_754322 74f4ce7effSHauke Mehrtens select ARM_ERRATA_775420 75f4ce7effSHauke Mehrtens select ARM_ERRATA_764369 if SMP 7699498905SJon Mason select HAVE_SMP 77f4ce7effSHauke Mehrtens 78d318987eSScott Branden help 79d318987eSScott Branden Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. 80d318987eSScott Branden 81d318987eSScott Branden This is a network SoC line mostly used in home routers and 8283fc61a5SMasanari Iida wifi access points, its internal name is Northstar. 8383fc61a5SMasanari Iida This includes the following SoC: BCM53010, BCM53011, BCM53012, 84d318987eSScott Branden BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707, 85d318987eSScott Branden BCM4708 and BCM4709. 86d318987eSScott Branden 87d318987eSScott Branden Do not confuse this with the BCM4760 which is a totally 88d318987eSScott Branden different SoC or with the older BCM47XX and BCM53XX based 89d318987eSScott Branden network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx 90d318987eSScott Branden 9164e74aa7SScott Brandencomment "KONA architected SoCs" 9264e74aa7SScott Branden 93badb9238SChristian Daudtconfig ARCH_BCM_MOBILE 9464e74aa7SScott Branden bool 955c34a4e8SLinus Walleij select GPIOLIB 968ac49e04SChristian Daudt select ARM_ERRATA_754322 97ffc1086aSScott Branden select ARM_ERRATA_775420 988ac49e04SChristian Daudt select ARM_GIC 9929c700d7SMarkus Mayer select GPIO_BCM_KONA 1008ac49e04SChristian Daudt select TICK_ONESHOT 101e84dfa26SChristian Daudt select HAVE_ARM_ARCH_TIMER 10254b1aa5aSSherman Yin select PINCTRL 10364e74aa7SScott Branden select ARCH_BCM_MOBILE_SMP if SMP 1041cad71e3SDaniel Lezcano select BCM_KONA_TIMER 1058ac49e04SChristian Daudt help 106badb9238SChristian Daudt This enables support for systems based on Broadcom mobile SoCs. 1071892bbcdSAlex Elder 1081892bbcdSAlex Elderconfig ARCH_BCM_281XX 109e3246542SMasahiro Yamada bool "Broadcom BCM281XX SoC family" 110e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 11164e74aa7SScott Branden select ARCH_BCM_MOBILE 1129a5a110eSAlex Elder select HAVE_SMP 1131892bbcdSAlex Elder help 1149a5a110eSAlex Elder Enable support for the BCM281XX family, which includes 1151892bbcdSAlex Elder BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 1161892bbcdSAlex Elder variants. 1171892bbcdSAlex Elder 1181892bbcdSAlex Elderconfig ARCH_BCM_21664 119e3246542SMasahiro Yamada bool "Broadcom BCM21664 SoC family" 120e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 12164e74aa7SScott Branden select ARCH_BCM_MOBILE 1229a5a110eSAlex Elder select HAVE_SMP 1231892bbcdSAlex Elder help 1249a5a110eSAlex Elder Enable support for the BCM21664 family, which includes 1251892bbcdSAlex Elder BCM21663 and BCM21664 variants. 1261892bbcdSAlex Elder 1274533d5f7SChris Brandconfig ARCH_BCM_23550 1284533d5f7SChris Brand bool "Broadcom BCM23550 SoC" 1294533d5f7SChris Brand depends on ARCH_MULTI_V7 1304533d5f7SChris Brand select ARCH_BCM_MOBILE 1314533d5f7SChris Brand select HAVE_SMP 1324533d5f7SChris Brand help 1334533d5f7SChris Brand Enable support for the BCM23550. 1344533d5f7SChris Brand 1357b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_L2_CACHE 1367b5fe9c9SAlex Elder bool "Broadcom mobile SoC level 2 cache support" 1374533d5f7SChris Brand depends on ARCH_BCM_281XX || ARCH_BCM_21664 1387b5fe9c9SAlex Elder default y 1397b5fe9c9SAlex Elder select CACHE_L2X0 1407b5fe9c9SAlex Elder select ARCH_BCM_MOBILE_SMC 1417b5fe9c9SAlex Elder 1427b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_SMC 1437b5fe9c9SAlex Elder bool 14464e74aa7SScott Branden depends on ARCH_BCM_MOBILE 1457b5fe9c9SAlex Elder 1469a5a110eSAlex Elderconfig ARCH_BCM_MOBILE_SMP 14764e74aa7SScott Branden bool 14864e74aa7SScott Branden depends on ARCH_BCM_MOBILE 1499a5a110eSAlex Elder select HAVE_ARM_SCU 1509a5a110eSAlex Elder select ARM_ERRATA_764369 1519a5a110eSAlex Elder help 1524533d5f7SChris Brand SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families. 1539a5a110eSAlex Elder Provided as an option so SMP support for SoCs of this type 1549a5a110eSAlex Elder can be disabled for an SMP-enabled kernel. 1559a5a110eSAlex Elder 1561b475f8dSJonathan Richardsoncomment "Other Architectures" 157badb9238SChristian Daudt 158d30fe627SMarkus Mayerconfig ARCH_BCM2835 159e3246542SMasahiro Yamada bool "Broadcom BCM2835 family" 160fc2f669eSArnd Bergmann depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 1615c34a4e8SLinus Walleij select GPIOLIB 162d30fe627SMarkus Mayer select ARM_AMBA 1635234c34eSEric Anholt select ARM_ERRATA_411920 if ARCH_MULTI_V6 164781fa0a9SStefan Wahren select ARM_GIC if ARCH_MULTI_V7 165781fa0a9SStefan Wahren select ZONE_DMA if ARCH_MULTI_V7 166d30fe627SMarkus Mayer select ARM_TIMER_SP804 1675234c34eSEric Anholt select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 168bb0eb050SDaniel Lezcano select TIMER_OF 1692ea879a7SDaniel Lezcano select BCM2835_TIMER 170d30fe627SMarkus Mayer select PINCTRL 171d30fe627SMarkus Mayer select PINCTRL_BCM2835 1725e6acc3eSEric Anholt select MFD_CORE 173d30fe627SMarkus Mayer help 174781fa0a9SStefan Wahren This enables support for the Broadcom BCM2711 and BCM283x SoCs. 1755234c34eSEric Anholt This SoC is used in the Raspberry Pi and Roku 2 devices. 176d30fe627SMarkus Mayer 1774ebd5047SRafał Miłeckiconfig ARCH_BCM_53573 1784ebd5047SRafał Miłecki bool "Broadcom BCM53573 SoC series support" 1794ebd5047SRafał Miłecki depends on ARCH_MULTI_V7 1804ebd5047SRafał Miłecki select ARCH_BCM_IPROC 1814ebd5047SRafał Miłecki select HAVE_ARM_ARCH_TIMER 1824ebd5047SRafał Miłecki help 1834ebd5047SRafał Miłecki BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless 1844ebd5047SRafał Miłecki embedded in the chipset. 1854ebd5047SRafał Miłecki This SoC line is mostly used in home routers and is some cheaper 1864ebd5047SRafał Miłecki alternative for Northstar family. 1874ebd5047SRafał Miłecki 1884ebd5047SRafał Miłecki The base chip is BCM53573 and there are some packaging modifications 1894ebd5047SRafał Miłecki like BCM47189 and BCM47452. 1904ebd5047SRafał Miłecki 191dc6aec60SFlorian Fainelliconfig ARCH_BCM_63XX 192e3246542SMasahiro Yamada bool "Broadcom BCM63xx DSL SoC" 193e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 194dc6aec60SFlorian Fainelli depends on MMU 19599b90b5dSFlorian Fainelli select ARCH_HAS_RESET_CONTROLLER 196dc6aec60SFlorian Fainelli select ARM_ERRATA_754322 197dc6aec60SFlorian Fainelli select ARM_ERRATA_764369 if SMP 198dc6aec60SFlorian Fainelli select ARM_GIC 199dc6aec60SFlorian Fainelli select ARM_GLOBAL_TIMER 200dc6aec60SFlorian Fainelli select CACHE_L2X0 201dc6aec60SFlorian Fainelli select HAVE_ARM_ARCH_TIMER 202dc6aec60SFlorian Fainelli select HAVE_ARM_TWD if SMP 203dc6aec60SFlorian Fainelli select HAVE_ARM_SCU if SMP 204dc6aec60SFlorian Fainelli select HAVE_SMP 205dc6aec60SFlorian Fainelli help 206dc6aec60SFlorian Fainelli This enables support for systems based on Broadcom DSL SoCs. 207dc6aec60SFlorian Fainelli It currently supports the 'BCM63XX' ARM-based family, which includes 208dc6aec60SFlorian Fainelli the BCM63138 variant. 209dc6aec60SFlorian Fainelli 2104fbe66d9SMarc Carinoconfig ARCH_BRCMSTB 211e3246542SMasahiro Yamada bool "Broadcom BCM7XXX based boards" 212e3246542SMasahiro Yamada depends on ARCH_MULTI_V7 213933b9609SJim Quinlan select ARCH_HAS_RESET_CONTROLLER 214*c586f47fSFlorian Fainelli select ARM_AMBA 2154fbe66d9SMarc Carino select ARM_GIC 216aeaeba1bSGregory Fong select ARM_ERRATA_798181 if SMP 2174fbe66d9SMarc Carino select HAVE_ARM_ARCH_TIMER 218305787f9SBrian Norris select BRCMSTB_L2_IRQ 219a4fcbb86SKevin Cernekee select BCM7120_L2_IRQ 22059f181aaSDanesh Petigara select ARCH_HAS_HOLES_MEMORYMODEL 2213c51b9c7SAl Cooper select ZONE_DMA if ARM_LPAE 222d52fad26SBrian Norris select SOC_BRCMSTB 223cef4bafcSJustin Chen select SOC_BUS 224885895a8SDoug Berger select PINCTRL 2254fbe66d9SMarc Carino help 2264fbe66d9SMarc Carino Say Y if you intend to run the kernel on a Broadcom ARM-based STB 2274fbe66d9SMarc Carino chipset. 2284fbe66d9SMarc Carino 2294fbe66d9SMarc Carino This enables support for Broadcom ARM-based set-top box chipsets, 2304fbe66d9SMarc Carino including the 7445 family of chips. 2314fbe66d9SMarc Carino 23221278aeaSRob Herringendif 233