xref: /linux/arch/arm/mach-bcm/Kconfig (revision 1f3e9a6edae4f1168a4baaeb4c55d4eb5a8f7501)
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
171b475f8dSJonathan Richardson
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
38*1f3e9a6eSJon Masonconfig ARCH_BCM_NSP
39*1f3e9a6eSJon Mason	bool "Broadcom Northstar Plus SoC Support" if ARCH_MULTI_V7
40*1f3e9a6eSJon Mason	select ARCH_BCM_IPROC
41*1f3e9a6eSJon Mason	select ARM_ERRATA_754322
42*1f3e9a6eSJon Mason	select ARM_ERRATA_775420
43*1f3e9a6eSJon Mason	help
44*1f3e9a6eSJon Mason	  Support for Broadcom Northstar Plus SoC.
45*1f3e9a6eSJon Mason	  Broadcom Northstar Plus family of SoCs are used for switching control
46*1f3e9a6eSJon Mason	  and management applications as well as residential router/gateway
47*1f3e9a6eSJon Mason	  applications. The SoC features dual core Cortex A9 ARM CPUs,
48*1f3e9a6eSJon Mason	  integrating several peripheral interfaces including multiple Gigabit
49*1f3e9a6eSJon Mason	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
50*1f3e9a6eSJon Mason	  NAND flash, SATA and several other IO controllers.
51*1f3e9a6eSJon 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
125d30fe627SMarkus Mayer	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
126d30fe627SMarkus Mayer	select ARCH_REQUIRE_GPIOLIB
127d30fe627SMarkus Mayer	select ARM_AMBA
128d30fe627SMarkus Mayer	select ARM_ERRATA_411920
129d30fe627SMarkus Mayer	select ARM_TIMER_SP804
130d30fe627SMarkus Mayer	select CLKSRC_OF
131d30fe627SMarkus Mayer	select PINCTRL
132d30fe627SMarkus Mayer	select PINCTRL_BCM2835
133d30fe627SMarkus Mayer	help
134d30fe627SMarkus Mayer	  This enables support for the Broadcom BCM2835 SoC. This SoC is
135d30fe627SMarkus Mayer	  used in the Raspberry Pi and Roku 2 devices.
136d30fe627SMarkus Mayer
137dc6aec60SFlorian Fainelliconfig ARCH_BCM_63XX
138dc6aec60SFlorian Fainelli	bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
139dc6aec60SFlorian Fainelli	depends on MMU
140dc6aec60SFlorian Fainelli	select ARM_ERRATA_754322
141dc6aec60SFlorian Fainelli	select ARM_ERRATA_764369 if SMP
142dc6aec60SFlorian Fainelli	select ARM_GIC
143dc6aec60SFlorian Fainelli	select ARM_GLOBAL_TIMER
144dc6aec60SFlorian Fainelli	select CACHE_L2X0
145dc6aec60SFlorian Fainelli	select HAVE_ARM_ARCH_TIMER
146dc6aec60SFlorian Fainelli	select HAVE_ARM_TWD if SMP
147dc6aec60SFlorian Fainelli	select HAVE_ARM_SCU if SMP
148dc6aec60SFlorian Fainelli	select HAVE_SMP
149dc6aec60SFlorian Fainelli	help
150dc6aec60SFlorian Fainelli	  This enables support for systems based on Broadcom DSL SoCs.
151dc6aec60SFlorian Fainelli	  It currently supports the 'BCM63XX' ARM-based family, which includes
152dc6aec60SFlorian Fainelli	  the BCM63138 variant.
153dc6aec60SFlorian Fainelli
1544fbe66d9SMarc Carinoconfig ARCH_BRCMSTB
1554fbe66d9SMarc Carino	bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7
1564fbe66d9SMarc Carino	select ARM_GIC
157aeaeba1bSGregory Fong	select ARM_ERRATA_798181 if SMP
1584fbe66d9SMarc Carino	select HAVE_ARM_ARCH_TIMER
159305787f9SBrian Norris	select BRCMSTB_GISB_ARB
160305787f9SBrian Norris	select BRCMSTB_L2_IRQ
161a4fcbb86SKevin Cernekee	select BCM7120_L2_IRQ
162b78bda5fSGregory Fong	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
1638820949dSGregory Fong	select ARCH_WANT_OPTIONAL_GPIOLIB
1644fbe66d9SMarc Carino	help
1654fbe66d9SMarc Carino	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
1664fbe66d9SMarc Carino	  chipset.
1674fbe66d9SMarc Carino
1684fbe66d9SMarc Carino	  This enables support for Broadcom ARM-based set-top box chipsets,
1694fbe66d9SMarc Carino	  including the 7445 family of chips.
1704fbe66d9SMarc Carino
17121278aeaSRob Herringendif
172