xref: /linux/arch/arm/mach-bcm/Kconfig (revision fc2f669e7d0ea9559cbdc229ff97f9fff5f8de4f)
121278aeaSRob Herringmenuconfig ARCH_BCM
2e3246542SMasahiro Yamada	bool "Broadcom SoC Support"
3e3246542SMasahiro Yamada	depends on ARCH_MULTI_V6_V7
4badb9238SChristian Daudt	help
5fd336158SAlexander Shiyan	  This enables support for Broadcom ARM based SoC chips
6badb9238SChristian Daudt
721278aeaSRob Herringif ARCH_BCM
8badb9238SChristian Daudt
91b475f8dSJonathan Richardsoncomment "IPROC architected SoCs"
101b475f8dSJonathan Richardson
111b475f8dSJonathan Richardsonconfig ARCH_BCM_IPROC
121b475f8dSJonathan Richardson	bool
131b475f8dSJonathan Richardson	select ARM_GIC
141b475f8dSJonathan Richardson	select CACHE_L2X0
151b475f8dSJonathan Richardson	select HAVE_ARM_SCU if SMP
161b475f8dSJonathan Richardson	select HAVE_ARM_TWD if SMP
171b475f8dSJonathan Richardson	select ARM_GLOBAL_TIMER
181e9bc9d6SArnd Bergmann	select COMMON_CLK_IPROC
191b475f8dSJonathan Richardson	select CLKSRC_MMIO
201b475f8dSJonathan Richardson	select ARCH_REQUIRE_GPIOLIB
211b475f8dSJonathan Richardson	select ARM_AMBA
221b475f8dSJonathan Richardson	select PINCTRL
231b475f8dSJonathan Richardson	help
241b475f8dSJonathan Richardson	  This enables support for systems based on Broadcom IPROC architected SoCs.
251b475f8dSJonathan Richardson	  The IPROC complex contains one or more ARM CPUs along with common
261b475f8dSJonathan Richardson	  core periperals. Application specific SoCs are created by adding a
271b475f8dSJonathan Richardson	  uArchitecture containing peripherals outside of the IPROC complex.
281b475f8dSJonathan Richardson	  Currently supported SoCs are Cygnus.
291b475f8dSJonathan Richardson
301b475f8dSJonathan Richardsonconfig ARCH_BCM_CYGNUS
31e3246542SMasahiro Yamada	bool "Broadcom Cygnus Support"
32e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
331b475f8dSJonathan Richardson	select ARCH_BCM_IPROC
341b475f8dSJonathan Richardson	help
351b475f8dSJonathan Richardson	  Enable support for the Cygnus family,
361b475f8dSJonathan Richardson	  which includes the following variants:
371b475f8dSJonathan Richardson	  BCM11300, BCM11320, BCM11350, BCM11360,
381b475f8dSJonathan Richardson	  BCM58300, BCM58302, BCM58303, BCM58305.
391b475f8dSJonathan Richardson
401f3e9a6eSJon Masonconfig ARCH_BCM_NSP
41e3246542SMasahiro Yamada	bool "Broadcom Northstar Plus SoC Support"
42e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
431f3e9a6eSJon Mason	select ARCH_BCM_IPROC
441f3e9a6eSJon Mason	select ARM_ERRATA_754322
451f3e9a6eSJon Mason	select ARM_ERRATA_775420
4697890821SKapil Hali	select ARM_ERRATA_764369 if SMP
4797890821SKapil Hali	select HAVE_SMP
481f3e9a6eSJon Mason	help
491f3e9a6eSJon Mason	  Support for Broadcom Northstar Plus SoC.
501f3e9a6eSJon Mason	  Broadcom Northstar Plus family of SoCs are used for switching control
511f3e9a6eSJon Mason	  and management applications as well as residential router/gateway
521f3e9a6eSJon Mason	  applications. The SoC features dual core Cortex A9 ARM CPUs,
531f3e9a6eSJon Mason	  integrating several peripheral interfaces including multiple Gigabit
541f3e9a6eSJon Mason	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
551f3e9a6eSJon Mason	  NAND flash, SATA and several other IO controllers.
561f3e9a6eSJon Mason
57d318987eSScott Brandenconfig ARCH_BCM_5301X
58e3246542SMasahiro Yamada	bool "Broadcom BCM470X / BCM5301X ARM SoC"
59e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
60d318987eSScott Branden	select ARCH_BCM_IPROC
61f4ce7effSHauke Mehrtens	select ARM_ERRATA_754322
62f4ce7effSHauke Mehrtens	select ARM_ERRATA_775420
63f4ce7effSHauke Mehrtens	select ARM_ERRATA_764369 if SMP
6499498905SJon Mason	select HAVE_SMP
65f4ce7effSHauke Mehrtens
66d318987eSScott Branden	help
67d318987eSScott Branden	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
68d318987eSScott Branden
69d318987eSScott Branden	  This is a network SoC line mostly used in home routers and
70d318987eSScott Branden	  wifi access points, it's internal name is Northstar.
71d318987eSScott Branden	  This inclused the following SoC: BCM53010, BCM53011, BCM53012,
72d318987eSScott Branden	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
73d318987eSScott Branden	  BCM4708 and BCM4709.
74d318987eSScott Branden
75d318987eSScott Branden	  Do not confuse this with the BCM4760 which is a totally
76d318987eSScott Branden	  different SoC or with the older BCM47XX and BCM53XX based
77d318987eSScott Branden	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
78d318987eSScott Branden
7964e74aa7SScott Brandencomment "KONA architected SoCs"
8064e74aa7SScott Branden
81badb9238SChristian Daudtconfig ARCH_BCM_MOBILE
8264e74aa7SScott Branden	bool
838ac49e04SChristian Daudt	select ARCH_REQUIRE_GPIOLIB
848ac49e04SChristian Daudt	select ARM_ERRATA_754322
85ffc1086aSScott Branden	select ARM_ERRATA_775420
868ac49e04SChristian Daudt	select ARM_GIC
8729c700d7SMarkus Mayer	select GPIO_BCM_KONA
888ac49e04SChristian Daudt	select TICK_ONESHOT
89e84dfa26SChristian Daudt	select HAVE_ARM_ARCH_TIMER
9054b1aa5aSSherman Yin	select PINCTRL
9164e74aa7SScott Branden	select ARCH_BCM_MOBILE_SMP if SMP
928ac49e04SChristian Daudt	help
93badb9238SChristian Daudt	  This enables support for systems based on Broadcom mobile SoCs.
941892bbcdSAlex Elder
951892bbcdSAlex Elderconfig ARCH_BCM_281XX
96e3246542SMasahiro Yamada	bool "Broadcom BCM281XX SoC family"
97e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
9864e74aa7SScott Branden	select ARCH_BCM_MOBILE
999a5a110eSAlex Elder	select HAVE_SMP
1001892bbcdSAlex Elder	help
1019a5a110eSAlex Elder	  Enable support for the BCM281XX family, which includes
1021892bbcdSAlex Elder	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
1031892bbcdSAlex Elder	  variants.
1041892bbcdSAlex Elder
1051892bbcdSAlex Elderconfig ARCH_BCM_21664
106e3246542SMasahiro Yamada	bool "Broadcom BCM21664 SoC family"
107e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
10864e74aa7SScott Branden	select ARCH_BCM_MOBILE
1099a5a110eSAlex Elder	select HAVE_SMP
1101892bbcdSAlex Elder	help
1119a5a110eSAlex Elder	  Enable support for the BCM21664 family, which includes
1121892bbcdSAlex Elder	  BCM21663 and BCM21664 variants.
1131892bbcdSAlex Elder
1147b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_L2_CACHE
1157b5fe9c9SAlex Elder	bool "Broadcom mobile SoC level 2 cache support"
11664e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1177b5fe9c9SAlex Elder	default y
1187b5fe9c9SAlex Elder	select CACHE_L2X0
1197b5fe9c9SAlex Elder	select ARCH_BCM_MOBILE_SMC
1207b5fe9c9SAlex Elder
1217b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_SMC
1227b5fe9c9SAlex Elder	bool
12364e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1247b5fe9c9SAlex Elder
1259a5a110eSAlex Elderconfig ARCH_BCM_MOBILE_SMP
12664e74aa7SScott Branden	bool
12764e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1289a5a110eSAlex Elder	select HAVE_ARM_SCU
1299a5a110eSAlex Elder	select ARM_ERRATA_764369
1309a5a110eSAlex Elder	help
1319a5a110eSAlex Elder	  SMP support for the BCM281XX and BCM21664 SoC families.
1329a5a110eSAlex Elder	  Provided as an option so SMP support for SoCs of this type
1339a5a110eSAlex Elder	  can be disabled for an SMP-enabled kernel.
1349a5a110eSAlex Elder
1351b475f8dSJonathan Richardsoncomment "Other Architectures"
136badb9238SChristian Daudt
137d30fe627SMarkus Mayerconfig ARCH_BCM2835
138e3246542SMasahiro Yamada	bool "Broadcom BCM2835 family"
139*fc2f669eSArnd Bergmann	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
140d30fe627SMarkus Mayer	select ARCH_REQUIRE_GPIOLIB
141d30fe627SMarkus Mayer	select ARM_AMBA
1425234c34eSEric Anholt	select ARM_ERRATA_411920 if ARCH_MULTI_V6
143d30fe627SMarkus Mayer	select ARM_TIMER_SP804
1445234c34eSEric Anholt	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
145d30fe627SMarkus Mayer	select CLKSRC_OF
146d30fe627SMarkus Mayer	select PINCTRL
147d30fe627SMarkus Mayer	select PINCTRL_BCM2835
148d30fe627SMarkus Mayer	help
1495234c34eSEric Anholt	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
1505234c34eSEric Anholt	  This SoC is used in the Raspberry Pi and Roku 2 devices.
151d30fe627SMarkus Mayer
152dc6aec60SFlorian Fainelliconfig ARCH_BCM_63XX
153e3246542SMasahiro Yamada	bool "Broadcom BCM63xx DSL SoC"
154e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
155dc6aec60SFlorian Fainelli	depends on MMU
156dc6aec60SFlorian Fainelli	select ARM_ERRATA_754322
157dc6aec60SFlorian Fainelli	select ARM_ERRATA_764369 if SMP
158dc6aec60SFlorian Fainelli	select ARM_GIC
159dc6aec60SFlorian Fainelli	select ARM_GLOBAL_TIMER
160dc6aec60SFlorian Fainelli	select CACHE_L2X0
161dc6aec60SFlorian Fainelli	select HAVE_ARM_ARCH_TIMER
162dc6aec60SFlorian Fainelli	select HAVE_ARM_TWD if SMP
163dc6aec60SFlorian Fainelli	select HAVE_ARM_SCU if SMP
164dc6aec60SFlorian Fainelli	select HAVE_SMP
165dc6aec60SFlorian Fainelli	help
166dc6aec60SFlorian Fainelli	  This enables support for systems based on Broadcom DSL SoCs.
167dc6aec60SFlorian Fainelli	  It currently supports the 'BCM63XX' ARM-based family, which includes
168dc6aec60SFlorian Fainelli	  the BCM63138 variant.
169dc6aec60SFlorian Fainelli
1704fbe66d9SMarc Carinoconfig ARCH_BRCMSTB
171e3246542SMasahiro Yamada	bool "Broadcom BCM7XXX based boards"
172e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
1734fbe66d9SMarc Carino	select ARM_GIC
174aeaeba1bSGregory Fong	select ARM_ERRATA_798181 if SMP
1754fbe66d9SMarc Carino	select HAVE_ARM_ARCH_TIMER
176305787f9SBrian Norris	select BRCMSTB_GISB_ARB
177305787f9SBrian Norris	select BRCMSTB_L2_IRQ
178a4fcbb86SKevin Cernekee	select BCM7120_L2_IRQ
179b78bda5fSGregory Fong	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
1808820949dSGregory Fong	select ARCH_WANT_OPTIONAL_GPIOLIB
181d52fad26SBrian Norris	select SOC_BRCMSTB
1824fbe66d9SMarc Carino	help
1834fbe66d9SMarc Carino	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
1844fbe66d9SMarc Carino	  chipset.
1854fbe66d9SMarc Carino
1864fbe66d9SMarc Carino	  This enables support for Broadcom ARM-based set-top box chipsets,
1874fbe66d9SMarc Carino	  including the 7445 family of chips.
1884fbe66d9SMarc Carino
18921278aeaSRob Herringendif
190