xref: /linux/arch/arm/mach-bcm/Kconfig (revision 5234c34e4cd7695647ccc1cabb50c3e7720dd3fb)
121278aeaSRob Herringmenuconfig ARCH_BCM
2fd336158SAlexander Shiyan	bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7
3badb9238SChristian Daudt	help
4fd336158SAlexander Shiyan	  This enables support for Broadcom ARM based SoC chips
5badb9238SChristian Daudt
621278aeaSRob Herringif ARCH_BCM
7badb9238SChristian Daudt
81b475f8dSJonathan Richardsoncomment "IPROC architected SoCs"
91b475f8dSJonathan Richardson
101b475f8dSJonathan Richardsonconfig ARCH_BCM_IPROC
111b475f8dSJonathan Richardson	bool
121b475f8dSJonathan Richardson	select ARM_GIC
131b475f8dSJonathan Richardson	select CACHE_L2X0
141b475f8dSJonathan Richardson	select HAVE_ARM_SCU if SMP
151b475f8dSJonathan Richardson	select HAVE_ARM_TWD if SMP
161b475f8dSJonathan Richardson	select ARM_GLOBAL_TIMER
171e9bc9d6SArnd Bergmann	select COMMON_CLK_IPROC
181b475f8dSJonathan Richardson	select CLKSRC_MMIO
191b475f8dSJonathan Richardson	select ARCH_REQUIRE_GPIOLIB
201b475f8dSJonathan Richardson	select ARM_AMBA
211b475f8dSJonathan Richardson	select PINCTRL
221b475f8dSJonathan Richardson	help
231b475f8dSJonathan Richardson	  This enables support for systems based on Broadcom IPROC architected SoCs.
241b475f8dSJonathan Richardson	  The IPROC complex contains one or more ARM CPUs along with common
251b475f8dSJonathan Richardson	  core periperals. Application specific SoCs are created by adding a
261b475f8dSJonathan Richardson	  uArchitecture containing peripherals outside of the IPROC complex.
271b475f8dSJonathan Richardson	  Currently supported SoCs are Cygnus.
281b475f8dSJonathan Richardson
291b475f8dSJonathan Richardsonconfig ARCH_BCM_CYGNUS
301b475f8dSJonathan Richardson	bool "Broadcom Cygnus Support" if ARCH_MULTI_V7
311b475f8dSJonathan Richardson	select ARCH_BCM_IPROC
321b475f8dSJonathan Richardson	help
331b475f8dSJonathan Richardson	  Enable support for the Cygnus family,
341b475f8dSJonathan Richardson	  which includes the following variants:
351b475f8dSJonathan Richardson	  BCM11300, BCM11320, BCM11350, BCM11360,
361b475f8dSJonathan Richardson	  BCM58300, BCM58302, BCM58303, BCM58305.
371b475f8dSJonathan Richardson
381f3e9a6eSJon Masonconfig ARCH_BCM_NSP
391f3e9a6eSJon Mason	bool "Broadcom Northstar Plus SoC Support" if ARCH_MULTI_V7
401f3e9a6eSJon Mason	select ARCH_BCM_IPROC
411f3e9a6eSJon Mason	select ARM_ERRATA_754322
421f3e9a6eSJon Mason	select ARM_ERRATA_775420
431f3e9a6eSJon Mason	help
441f3e9a6eSJon Mason	  Support for Broadcom Northstar Plus SoC.
451f3e9a6eSJon Mason	  Broadcom Northstar Plus family of SoCs are used for switching control
461f3e9a6eSJon Mason	  and management applications as well as residential router/gateway
471f3e9a6eSJon Mason	  applications. The SoC features dual core Cortex A9 ARM CPUs,
481f3e9a6eSJon Mason	  integrating several peripheral interfaces including multiple Gigabit
491f3e9a6eSJon Mason	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
501f3e9a6eSJon Mason	  NAND flash, SATA and several other IO controllers.
511f3e9a6eSJon Mason
52d318987eSScott Brandenconfig ARCH_BCM_5301X
53d318987eSScott Branden	bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
54d318987eSScott Branden	select ARCH_BCM_IPROC
55d318987eSScott Branden	help
56d318987eSScott Branden	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
57d318987eSScott Branden
58d318987eSScott Branden	  This is a network SoC line mostly used in home routers and
59d318987eSScott Branden	  wifi access points, it's internal name is Northstar.
60d318987eSScott Branden	  This inclused the following SoC: BCM53010, BCM53011, BCM53012,
61d318987eSScott Branden	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
62d318987eSScott Branden	  BCM4708 and BCM4709.
63d318987eSScott Branden
64d318987eSScott Branden	  Do not confuse this with the BCM4760 which is a totally
65d318987eSScott Branden	  different SoC or with the older BCM47XX and BCM53XX based
66d318987eSScott Branden	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
67d318987eSScott Branden
6864e74aa7SScott Brandencomment "KONA architected SoCs"
6964e74aa7SScott Branden
70badb9238SChristian Daudtconfig ARCH_BCM_MOBILE
7164e74aa7SScott Branden	bool
728ac49e04SChristian Daudt	select ARCH_REQUIRE_GPIOLIB
738ac49e04SChristian Daudt	select ARM_ERRATA_754322
74ffc1086aSScott Branden	select ARM_ERRATA_775420
758ac49e04SChristian Daudt	select ARM_GIC
7629c700d7SMarkus Mayer	select GPIO_BCM_KONA
778ac49e04SChristian Daudt	select TICK_ONESHOT
78e84dfa26SChristian Daudt	select HAVE_ARM_ARCH_TIMER
7954b1aa5aSSherman Yin	select PINCTRL
8064e74aa7SScott Branden	select ARCH_BCM_MOBILE_SMP if SMP
818ac49e04SChristian Daudt	help
82badb9238SChristian Daudt	  This enables support for systems based on Broadcom mobile SoCs.
831892bbcdSAlex Elder
841892bbcdSAlex Elderconfig ARCH_BCM_281XX
85ff34cae5SArnd Bergmann	bool "Broadcom BCM281XX SoC family" if ARCH_MULTI_V7
8664e74aa7SScott Branden	select ARCH_BCM_MOBILE
879a5a110eSAlex Elder	select HAVE_SMP
881892bbcdSAlex Elder	help
899a5a110eSAlex Elder	  Enable support for the BCM281XX family, which includes
901892bbcdSAlex Elder	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
911892bbcdSAlex Elder	  variants.
921892bbcdSAlex Elder
931892bbcdSAlex Elderconfig ARCH_BCM_21664
94ff34cae5SArnd Bergmann	bool "Broadcom BCM21664 SoC family" if ARCH_MULTI_V7
9564e74aa7SScott Branden	select ARCH_BCM_MOBILE
969a5a110eSAlex Elder	select HAVE_SMP
971892bbcdSAlex Elder	help
989a5a110eSAlex Elder	  Enable support for the BCM21664 family, which includes
991892bbcdSAlex Elder	  BCM21663 and BCM21664 variants.
1001892bbcdSAlex Elder
1017b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_L2_CACHE
1027b5fe9c9SAlex Elder	bool "Broadcom mobile SoC level 2 cache support"
10364e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1047b5fe9c9SAlex Elder	default y
1057b5fe9c9SAlex Elder	select CACHE_L2X0
1067b5fe9c9SAlex Elder	select ARCH_BCM_MOBILE_SMC
1077b5fe9c9SAlex Elder
1087b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_SMC
1097b5fe9c9SAlex Elder	bool
11064e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1117b5fe9c9SAlex Elder
1129a5a110eSAlex Elderconfig ARCH_BCM_MOBILE_SMP
11364e74aa7SScott Branden	bool
11464e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1159a5a110eSAlex Elder	select HAVE_ARM_SCU
1169a5a110eSAlex Elder	select ARM_ERRATA_764369
1179a5a110eSAlex Elder	help
1189a5a110eSAlex Elder	  SMP support for the BCM281XX and BCM21664 SoC families.
1199a5a110eSAlex Elder	  Provided as an option so SMP support for SoCs of this type
1209a5a110eSAlex Elder	  can be disabled for an SMP-enabled kernel.
1219a5a110eSAlex Elder
1221b475f8dSJonathan Richardsoncomment "Other Architectures"
123badb9238SChristian Daudt
124d30fe627SMarkus Mayerconfig ARCH_BCM2835
125*5234c34eSEric Anholt	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6 || ARCH_MULTI_V7
126d30fe627SMarkus Mayer	select ARCH_REQUIRE_GPIOLIB
127d30fe627SMarkus Mayer	select ARM_AMBA
128*5234c34eSEric Anholt	select ARM_ERRATA_411920 if ARCH_MULTI_V6
129d30fe627SMarkus Mayer	select ARM_TIMER_SP804
130*5234c34eSEric Anholt	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
131d30fe627SMarkus Mayer	select CLKSRC_OF
132d30fe627SMarkus Mayer	select PINCTRL
133d30fe627SMarkus Mayer	select PINCTRL_BCM2835
134d30fe627SMarkus Mayer	help
135*5234c34eSEric Anholt	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
136*5234c34eSEric Anholt	  This SoC is used in the Raspberry Pi and Roku 2 devices.
137d30fe627SMarkus Mayer
138dc6aec60SFlorian Fainelliconfig ARCH_BCM_63XX
139dc6aec60SFlorian Fainelli	bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
140dc6aec60SFlorian Fainelli	depends on MMU
141dc6aec60SFlorian Fainelli	select ARM_ERRATA_754322
142dc6aec60SFlorian Fainelli	select ARM_ERRATA_764369 if SMP
143dc6aec60SFlorian Fainelli	select ARM_GIC
144dc6aec60SFlorian Fainelli	select ARM_GLOBAL_TIMER
145dc6aec60SFlorian Fainelli	select CACHE_L2X0
146dc6aec60SFlorian Fainelli	select HAVE_ARM_ARCH_TIMER
147dc6aec60SFlorian Fainelli	select HAVE_ARM_TWD if SMP
148dc6aec60SFlorian Fainelli	select HAVE_ARM_SCU if SMP
149dc6aec60SFlorian Fainelli	select HAVE_SMP
150dc6aec60SFlorian Fainelli	help
151dc6aec60SFlorian Fainelli	  This enables support for systems based on Broadcom DSL SoCs.
152dc6aec60SFlorian Fainelli	  It currently supports the 'BCM63XX' ARM-based family, which includes
153dc6aec60SFlorian Fainelli	  the BCM63138 variant.
154dc6aec60SFlorian Fainelli
1554fbe66d9SMarc Carinoconfig ARCH_BRCMSTB
1564fbe66d9SMarc Carino	bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7
1574fbe66d9SMarc Carino	select ARM_GIC
158aeaeba1bSGregory Fong	select ARM_ERRATA_798181 if SMP
1594fbe66d9SMarc Carino	select HAVE_ARM_ARCH_TIMER
160305787f9SBrian Norris	select BRCMSTB_GISB_ARB
161305787f9SBrian Norris	select BRCMSTB_L2_IRQ
162a4fcbb86SKevin Cernekee	select BCM7120_L2_IRQ
163b78bda5fSGregory Fong	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
1648820949dSGregory Fong	select ARCH_WANT_OPTIONAL_GPIOLIB
165d52fad26SBrian Norris	select SOC_BRCMSTB
1664fbe66d9SMarc Carino	help
1674fbe66d9SMarc Carino	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
1684fbe66d9SMarc Carino	  chipset.
1694fbe66d9SMarc Carino
1704fbe66d9SMarc Carino	  This enables support for Broadcom ARM-based set-top box chipsets,
1714fbe66d9SMarc Carino	  including the 7445 family of chips.
1724fbe66d9SMarc Carino
17321278aeaSRob Herringendif
174