xref: /linux/arch/arm/mach-bcm/Kconfig (revision 1cad71e35f88bd41b954e9984c7d2a8ce3924db0)
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
92*1cad71e3SDaniel Lezcano	select BCM_KONA_TIMER
938ac49e04SChristian Daudt	help
94badb9238SChristian Daudt	  This enables support for systems based on Broadcom mobile SoCs.
951892bbcdSAlex Elder
961892bbcdSAlex Elderconfig ARCH_BCM_281XX
97e3246542SMasahiro Yamada	bool "Broadcom BCM281XX SoC family"
98e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
9964e74aa7SScott Branden	select ARCH_BCM_MOBILE
1009a5a110eSAlex Elder	select HAVE_SMP
1011892bbcdSAlex Elder	help
1029a5a110eSAlex Elder	  Enable support for the BCM281XX family, which includes
1031892bbcdSAlex Elder	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
1041892bbcdSAlex Elder	  variants.
1051892bbcdSAlex Elder
1061892bbcdSAlex Elderconfig ARCH_BCM_21664
107e3246542SMasahiro Yamada	bool "Broadcom BCM21664 SoC family"
108e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
10964e74aa7SScott Branden	select ARCH_BCM_MOBILE
1109a5a110eSAlex Elder	select HAVE_SMP
1111892bbcdSAlex Elder	help
1129a5a110eSAlex Elder	  Enable support for the BCM21664 family, which includes
1131892bbcdSAlex Elder	  BCM21663 and BCM21664 variants.
1141892bbcdSAlex Elder
1157b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_L2_CACHE
1167b5fe9c9SAlex Elder	bool "Broadcom mobile SoC level 2 cache support"
11764e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1187b5fe9c9SAlex Elder	default y
1197b5fe9c9SAlex Elder	select CACHE_L2X0
1207b5fe9c9SAlex Elder	select ARCH_BCM_MOBILE_SMC
1217b5fe9c9SAlex Elder
1227b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_SMC
1237b5fe9c9SAlex Elder	bool
12464e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1257b5fe9c9SAlex Elder
1269a5a110eSAlex Elderconfig ARCH_BCM_MOBILE_SMP
12764e74aa7SScott Branden	bool
12864e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1299a5a110eSAlex Elder	select HAVE_ARM_SCU
1309a5a110eSAlex Elder	select ARM_ERRATA_764369
1319a5a110eSAlex Elder	help
1329a5a110eSAlex Elder	  SMP support for the BCM281XX and BCM21664 SoC families.
1339a5a110eSAlex Elder	  Provided as an option so SMP support for SoCs of this type
1349a5a110eSAlex Elder	  can be disabled for an SMP-enabled kernel.
1359a5a110eSAlex Elder
1361b475f8dSJonathan Richardsoncomment "Other Architectures"
137badb9238SChristian Daudt
138d30fe627SMarkus Mayerconfig ARCH_BCM2835
139e3246542SMasahiro Yamada	bool "Broadcom BCM2835 family"
140fc2f669eSArnd Bergmann	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
141d30fe627SMarkus Mayer	select ARCH_REQUIRE_GPIOLIB
142d30fe627SMarkus Mayer	select ARM_AMBA
1435234c34eSEric Anholt	select ARM_ERRATA_411920 if ARCH_MULTI_V6
144d30fe627SMarkus Mayer	select ARM_TIMER_SP804
1455234c34eSEric Anholt	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
146d30fe627SMarkus Mayer	select CLKSRC_OF
1472ea879a7SDaniel Lezcano	select BCM2835_TIMER
148d30fe627SMarkus Mayer	select PINCTRL
149d30fe627SMarkus Mayer	select PINCTRL_BCM2835
150d30fe627SMarkus Mayer	help
1515234c34eSEric Anholt	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
1525234c34eSEric Anholt	  This SoC is used in the Raspberry Pi and Roku 2 devices.
153d30fe627SMarkus Mayer
154dc6aec60SFlorian Fainelliconfig ARCH_BCM_63XX
155e3246542SMasahiro Yamada	bool "Broadcom BCM63xx DSL SoC"
156e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
157dc6aec60SFlorian Fainelli	depends on MMU
158dc6aec60SFlorian Fainelli	select ARM_ERRATA_754322
159dc6aec60SFlorian Fainelli	select ARM_ERRATA_764369 if SMP
160dc6aec60SFlorian Fainelli	select ARM_GIC
161dc6aec60SFlorian Fainelli	select ARM_GLOBAL_TIMER
162dc6aec60SFlorian Fainelli	select CACHE_L2X0
163dc6aec60SFlorian Fainelli	select HAVE_ARM_ARCH_TIMER
164dc6aec60SFlorian Fainelli	select HAVE_ARM_TWD if SMP
165dc6aec60SFlorian Fainelli	select HAVE_ARM_SCU if SMP
166dc6aec60SFlorian Fainelli	select HAVE_SMP
167dc6aec60SFlorian Fainelli	help
168dc6aec60SFlorian Fainelli	  This enables support for systems based on Broadcom DSL SoCs.
169dc6aec60SFlorian Fainelli	  It currently supports the 'BCM63XX' ARM-based family, which includes
170dc6aec60SFlorian Fainelli	  the BCM63138 variant.
171dc6aec60SFlorian Fainelli
1724fbe66d9SMarc Carinoconfig ARCH_BRCMSTB
173e3246542SMasahiro Yamada	bool "Broadcom BCM7XXX based boards"
174e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
1754fbe66d9SMarc Carino	select ARM_GIC
176aeaeba1bSGregory Fong	select ARM_ERRATA_798181 if SMP
1774fbe66d9SMarc Carino	select HAVE_ARM_ARCH_TIMER
178305787f9SBrian Norris	select BRCMSTB_L2_IRQ
179a4fcbb86SKevin Cernekee	select BCM7120_L2_IRQ
180b78bda5fSGregory Fong	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
1818820949dSGregory Fong	select ARCH_WANT_OPTIONAL_GPIOLIB
182d52fad26SBrian Norris	select SOC_BRCMSTB
183cef4bafcSJustin Chen	select SOC_BUS
1844fbe66d9SMarc Carino	help
1854fbe66d9SMarc Carino	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
1864fbe66d9SMarc Carino	  chipset.
1874fbe66d9SMarc Carino
1884fbe66d9SMarc Carino	  This enables support for Broadcom ARM-based set-top box chipsets,
1894fbe66d9SMarc Carino	  including the 7445 family of chips.
1904fbe66d9SMarc Carino
19121278aeaSRob Herringendif
192