xref: /linux/arch/arm/mach-bcm/Kconfig (revision c586f47f55d8239466824f917582c7d7d9e546ed)
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