xref: /openbmc/linux/arch/arm/mach-bcm/Kconfig (revision 4a44a19b)
1menuconfig ARCH_BCM
2	bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7
3	help
4	  This enables support for Broadcom ARM based SoC chips
5
6if ARCH_BCM
7
8config ARCH_BCM_MOBILE
9	bool "Broadcom Mobile SoC Support" if ARCH_MULTI_V7
10	select ARCH_REQUIRE_GPIOLIB
11	select ARM_ERRATA_754322
12	select ARM_ERRATA_775420
13	select ARM_GIC
14	select GPIO_BCM_KONA
15	select TICK_ONESHOT
16	select HAVE_ARM_ARCH_TIMER
17	select PINCTRL
18	help
19	  This enables support for systems based on Broadcom mobile SoCs.
20
21if ARCH_BCM_MOBILE
22
23menu "Broadcom Mobile SoC Selection"
24
25config ARCH_BCM_281XX
26	bool "Broadcom BCM281XX SoC family"
27	default y
28	select HAVE_SMP
29	help
30	  Enable support for the BCM281XX family, which includes
31	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
32	  variants.
33
34config ARCH_BCM_21664
35	bool "Broadcom BCM21664 SoC family"
36	default y
37	select HAVE_SMP
38	help
39	  Enable support for the BCM21664 family, which includes
40	  BCM21663 and BCM21664 variants.
41
42config ARCH_BCM_MOBILE_L2_CACHE
43	bool "Broadcom mobile SoC level 2 cache support"
44	depends on (ARCH_BCM_281XX || ARCH_BCM_21664)
45	default y
46	select CACHE_L2X0
47	select ARCH_BCM_MOBILE_SMC
48
49config ARCH_BCM_MOBILE_SMC
50	bool
51	depends on ARCH_BCM_281XX || ARCH_BCM_21664
52
53config ARCH_BCM_MOBILE_SMP
54	bool "Broadcom mobile SoC SMP support"
55	depends on (ARCH_BCM_281XX || ARCH_BCM_21664) && SMP
56	default y
57	select HAVE_ARM_SCU
58	select ARM_ERRATA_764369
59	help
60	  SMP support for the BCM281XX and BCM21664 SoC families.
61	  Provided as an option so SMP support for SoCs of this type
62	  can be disabled for an SMP-enabled kernel.
63
64endmenu
65
66endif
67
68config ARCH_BCM2835
69	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
70	select ARCH_REQUIRE_GPIOLIB
71	select ARM_AMBA
72	select ARM_ERRATA_411920
73	select ARM_TIMER_SP804
74	select CLKSRC_OF
75	select PINCTRL
76	select PINCTRL_BCM2835
77	help
78	  This enables support for the Broadcom BCM2835 SoC. This SoC is
79	  used in the Raspberry Pi and Roku 2 devices.
80
81config ARCH_BCM_5301X
82	bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
83	select ARM_GIC
84	select CACHE_L2X0
85	select HAVE_ARM_SCU if SMP
86	select HAVE_ARM_TWD if SMP
87	select ARM_GLOBAL_TIMER
88	select CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK
89	help
90	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
91
92	  This is a network SoC line mostly used in home routers and
93	  wifi access points, it's internal name is Northstar.
94	  This inclused the following SoC: BCM53010, BCM53011, BCM53012,
95	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
96	  BCM4708 and BCM4709.
97
98	  Do not confuse this with the BCM4760 which is a totally
99	  different SoC or with the older BCM47XX and BCM53XX based
100	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
101
102config ARCH_BCM_63XX
103	bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
104	depends on MMU
105	select ARM_ERRATA_754322
106	select ARM_ERRATA_764369 if SMP
107	select ARM_GIC
108	select ARM_GLOBAL_TIMER
109	select CACHE_L2X0
110	select HAVE_ARM_ARCH_TIMER
111	select HAVE_ARM_TWD if SMP
112	select HAVE_ARM_SCU if SMP
113	select HAVE_SMP
114	help
115	  This enables support for systems based on Broadcom DSL SoCs.
116	  It currently supports the 'BCM63XX' ARM-based family, which includes
117	  the BCM63138 variant.
118
119config ARCH_BRCMSTB
120	bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7
121	depends on MMU
122	select ARM_GIC
123	select MIGHT_HAVE_PCI
124	select HAVE_SMP
125	select HAVE_ARM_ARCH_TIMER
126	select BRCMSTB_GISB_ARB
127	select BRCMSTB_L2_IRQ
128	help
129	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
130	  chipset.
131
132	  This enables support for Broadcom ARM-based set-top box chipsets,
133	  including the 7445 family of chips.
134
135endif
136