xref: /linux/arch/arm/mach-bcm/Kconfig (revision 83fc61a563cb4de3386ddc997cf8fc0ba55ec4ca)
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
181b475f8dSJonathan Richardson	select CLKSRC_MMIO
195c34a4e8SLinus Walleij	select 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
25*83fc61a5SMasanari Iida	  core peripherals. 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
30e3246542SMasahiro Yamada	bool "Broadcom Cygnus Support"
31e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
321b475f8dSJonathan Richardson	select ARCH_BCM_IPROC
331b475f8dSJonathan Richardson	help
341b475f8dSJonathan Richardson	  Enable support for the Cygnus family,
351b475f8dSJonathan Richardson	  which includes the following variants:
361b475f8dSJonathan Richardson	  BCM11300, BCM11320, BCM11350, BCM11360,
371b475f8dSJonathan Richardson	  BCM58300, BCM58302, BCM58303, BCM58305.
381b475f8dSJonathan Richardson
391f3e9a6eSJon Masonconfig ARCH_BCM_NSP
40e3246542SMasahiro Yamada	bool "Broadcom Northstar Plus SoC Support"
41e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
421f3e9a6eSJon Mason	select ARCH_BCM_IPROC
431f3e9a6eSJon Mason	select ARM_ERRATA_754322
441f3e9a6eSJon Mason	select ARM_ERRATA_775420
4597890821SKapil Hali	select ARM_ERRATA_764369 if SMP
4697890821SKapil Hali	select HAVE_SMP
4727d9fa06SJon Mason	select THERMAL
4827d9fa06SJon Mason	select THERMAL_OF
491f3e9a6eSJon Mason	help
501f3e9a6eSJon Mason	  Support for Broadcom Northstar Plus SoC.
511f3e9a6eSJon Mason	  Broadcom Northstar Plus family of SoCs are used for switching control
521f3e9a6eSJon Mason	  and management applications as well as residential router/gateway
531f3e9a6eSJon Mason	  applications. The SoC features dual core Cortex A9 ARM CPUs,
541f3e9a6eSJon Mason	  integrating several peripheral interfaces including multiple Gigabit
551f3e9a6eSJon Mason	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
561f3e9a6eSJon Mason	  NAND flash, SATA and several other IO controllers.
571f3e9a6eSJon Mason
58d318987eSScott Brandenconfig ARCH_BCM_5301X
59e3246542SMasahiro Yamada	bool "Broadcom BCM470X / BCM5301X ARM SoC"
60e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
61d318987eSScott Branden	select ARCH_BCM_IPROC
62f4ce7effSHauke Mehrtens	select ARM_ERRATA_754322
63f4ce7effSHauke Mehrtens	select ARM_ERRATA_775420
64f4ce7effSHauke Mehrtens	select ARM_ERRATA_764369 if SMP
6599498905SJon Mason	select HAVE_SMP
66f4ce7effSHauke Mehrtens
67d318987eSScott Branden	help
68d318987eSScott Branden	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
69d318987eSScott Branden
70d318987eSScott Branden	  This is a network SoC line mostly used in home routers and
71*83fc61a5SMasanari Iida	  wifi access points, its internal name is Northstar.
72*83fc61a5SMasanari Iida	  This includes the following SoC: BCM53010, BCM53011, BCM53012,
73d318987eSScott Branden	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
74d318987eSScott Branden	  BCM4708 and BCM4709.
75d318987eSScott Branden
76d318987eSScott Branden	  Do not confuse this with the BCM4760 which is a totally
77d318987eSScott Branden	  different SoC or with the older BCM47XX and BCM53XX based
78d318987eSScott Branden	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
79d318987eSScott Branden
8064e74aa7SScott Brandencomment "KONA architected SoCs"
8164e74aa7SScott Branden
82badb9238SChristian Daudtconfig ARCH_BCM_MOBILE
8364e74aa7SScott Branden	bool
845c34a4e8SLinus Walleij	select GPIOLIB
858ac49e04SChristian Daudt	select ARM_ERRATA_754322
86ffc1086aSScott Branden	select ARM_ERRATA_775420
878ac49e04SChristian Daudt	select ARM_GIC
8829c700d7SMarkus Mayer	select GPIO_BCM_KONA
898ac49e04SChristian Daudt	select TICK_ONESHOT
90e84dfa26SChristian Daudt	select HAVE_ARM_ARCH_TIMER
9154b1aa5aSSherman Yin	select PINCTRL
9264e74aa7SScott Branden	select ARCH_BCM_MOBILE_SMP if SMP
931cad71e3SDaniel Lezcano	select BCM_KONA_TIMER
948ac49e04SChristian Daudt	help
95badb9238SChristian Daudt	  This enables support for systems based on Broadcom mobile SoCs.
961892bbcdSAlex Elder
971892bbcdSAlex Elderconfig ARCH_BCM_281XX
98e3246542SMasahiro Yamada	bool "Broadcom BCM281XX SoC family"
99e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
10064e74aa7SScott Branden	select ARCH_BCM_MOBILE
1019a5a110eSAlex Elder	select HAVE_SMP
1021892bbcdSAlex Elder	help
1039a5a110eSAlex Elder	  Enable support for the BCM281XX family, which includes
1041892bbcdSAlex Elder	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
1051892bbcdSAlex Elder	  variants.
1061892bbcdSAlex Elder
1071892bbcdSAlex Elderconfig ARCH_BCM_21664
108e3246542SMasahiro Yamada	bool "Broadcom BCM21664 SoC family"
109e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
11064e74aa7SScott Branden	select ARCH_BCM_MOBILE
1119a5a110eSAlex Elder	select HAVE_SMP
1121892bbcdSAlex Elder	help
1139a5a110eSAlex Elder	  Enable support for the BCM21664 family, which includes
1141892bbcdSAlex Elder	  BCM21663 and BCM21664 variants.
1151892bbcdSAlex Elder
1164533d5f7SChris Brandconfig ARCH_BCM_23550
1174533d5f7SChris Brand	bool "Broadcom BCM23550 SoC"
1184533d5f7SChris Brand	depends on ARCH_MULTI_V7
1194533d5f7SChris Brand	select ARCH_BCM_MOBILE
1204533d5f7SChris Brand	select HAVE_SMP
1214533d5f7SChris Brand	help
1224533d5f7SChris Brand	  Enable support for the BCM23550.
1234533d5f7SChris Brand
1247b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_L2_CACHE
1257b5fe9c9SAlex Elder	bool "Broadcom mobile SoC level 2 cache support"
1264533d5f7SChris Brand	depends on ARCH_BCM_281XX || ARCH_BCM_21664
1277b5fe9c9SAlex Elder	default y
1287b5fe9c9SAlex Elder	select CACHE_L2X0
1297b5fe9c9SAlex Elder	select ARCH_BCM_MOBILE_SMC
1307b5fe9c9SAlex Elder
1317b5fe9c9SAlex Elderconfig ARCH_BCM_MOBILE_SMC
1327b5fe9c9SAlex Elder	bool
13364e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1347b5fe9c9SAlex Elder
1359a5a110eSAlex Elderconfig ARCH_BCM_MOBILE_SMP
13664e74aa7SScott Branden	bool
13764e74aa7SScott Branden	depends on ARCH_BCM_MOBILE
1389a5a110eSAlex Elder	select HAVE_ARM_SCU
1399a5a110eSAlex Elder	select ARM_ERRATA_764369
1409a5a110eSAlex Elder	help
1414533d5f7SChris Brand	  SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
1429a5a110eSAlex Elder	  Provided as an option so SMP support for SoCs of this type
1439a5a110eSAlex Elder	  can be disabled for an SMP-enabled kernel.
1449a5a110eSAlex Elder
1451b475f8dSJonathan Richardsoncomment "Other Architectures"
146badb9238SChristian Daudt
147d30fe627SMarkus Mayerconfig ARCH_BCM2835
148e3246542SMasahiro Yamada	bool "Broadcom BCM2835 family"
149fc2f669eSArnd Bergmann	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
1505c34a4e8SLinus Walleij	select GPIOLIB
151d30fe627SMarkus Mayer	select ARM_AMBA
1525234c34eSEric Anholt	select ARM_ERRATA_411920 if ARCH_MULTI_V6
153d30fe627SMarkus Mayer	select ARM_TIMER_SP804
1545234c34eSEric Anholt	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
155bb0eb050SDaniel Lezcano	select TIMER_OF
1562ea879a7SDaniel Lezcano	select BCM2835_TIMER
157d30fe627SMarkus Mayer	select PINCTRL
158d30fe627SMarkus Mayer	select PINCTRL_BCM2835
159d30fe627SMarkus Mayer	help
1605234c34eSEric Anholt	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
1615234c34eSEric Anholt	  This SoC is used in the Raspberry Pi and Roku 2 devices.
162d30fe627SMarkus Mayer
1634ebd5047SRafał Miłeckiconfig ARCH_BCM_53573
1644ebd5047SRafał Miłecki	bool "Broadcom BCM53573 SoC series support"
1654ebd5047SRafał Miłecki	depends on ARCH_MULTI_V7
1664ebd5047SRafał Miłecki	select ARCH_BCM_IPROC
1674ebd5047SRafał Miłecki	select HAVE_ARM_ARCH_TIMER
1684ebd5047SRafał Miłecki	help
1694ebd5047SRafał Miłecki	  BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
1704ebd5047SRafał Miłecki	  embedded in the chipset.
1714ebd5047SRafał Miłecki	  This SoC line is mostly used in home routers and is some cheaper
1724ebd5047SRafał Miłecki	  alternative for Northstar family.
1734ebd5047SRafał Miłecki
1744ebd5047SRafał Miłecki	  The base chip is BCM53573 and there are some packaging modifications
1754ebd5047SRafał Miłecki	  like BCM47189 and BCM47452.
1764ebd5047SRafał Miłecki
177dc6aec60SFlorian Fainelliconfig ARCH_BCM_63XX
178e3246542SMasahiro Yamada	bool "Broadcom BCM63xx DSL SoC"
179e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
180dc6aec60SFlorian Fainelli	depends on MMU
181dc6aec60SFlorian Fainelli	select ARM_ERRATA_754322
182dc6aec60SFlorian Fainelli	select ARM_ERRATA_764369 if SMP
183dc6aec60SFlorian Fainelli	select ARM_GIC
184dc6aec60SFlorian Fainelli	select ARM_GLOBAL_TIMER
185dc6aec60SFlorian Fainelli	select CACHE_L2X0
186dc6aec60SFlorian Fainelli	select HAVE_ARM_ARCH_TIMER
187dc6aec60SFlorian Fainelli	select HAVE_ARM_TWD if SMP
188dc6aec60SFlorian Fainelli	select HAVE_ARM_SCU if SMP
189dc6aec60SFlorian Fainelli	select HAVE_SMP
190dc6aec60SFlorian Fainelli	help
191dc6aec60SFlorian Fainelli	  This enables support for systems based on Broadcom DSL SoCs.
192dc6aec60SFlorian Fainelli	  It currently supports the 'BCM63XX' ARM-based family, which includes
193dc6aec60SFlorian Fainelli	  the BCM63138 variant.
194dc6aec60SFlorian Fainelli
1954fbe66d9SMarc Carinoconfig ARCH_BRCMSTB
196e3246542SMasahiro Yamada	bool "Broadcom BCM7XXX based boards"
197e3246542SMasahiro Yamada	depends on ARCH_MULTI_V7
1984fbe66d9SMarc Carino	select ARM_GIC
199aeaeba1bSGregory Fong	select ARM_ERRATA_798181 if SMP
2004fbe66d9SMarc Carino	select HAVE_ARM_ARCH_TIMER
201305787f9SBrian Norris	select BRCMSTB_L2_IRQ
202a4fcbb86SKevin Cernekee	select BCM7120_L2_IRQ
20359f181aaSDanesh Petigara	select ARCH_HAS_HOLES_MEMORYMODEL
204b78bda5fSGregory Fong	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
2053c51b9c7SAl Cooper	select ZONE_DMA if ARM_LPAE
206d52fad26SBrian Norris	select SOC_BRCMSTB
207cef4bafcSJustin Chen	select SOC_BUS
2084fbe66d9SMarc Carino	help
2094fbe66d9SMarc Carino	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
2104fbe66d9SMarc Carino	  chipset.
2114fbe66d9SMarc Carino
2124fbe66d9SMarc Carino	  This enables support for Broadcom ARM-based set-top box chipsets,
2134fbe66d9SMarc Carino	  including the 7445 family of chips.
2144fbe66d9SMarc Carino
21521278aeaSRob Herringendif
216