xref: /openbmc/linux/arch/arm/mach-bcm/Kconfig (revision 6a613ac6)
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
8comment "IPROC architected SoCs"
9
10config ARCH_BCM_IPROC
11	bool
12	select ARM_GIC
13	select CACHE_L2X0
14	select HAVE_ARM_SCU if SMP
15	select HAVE_ARM_TWD if SMP
16	select ARM_GLOBAL_TIMER
17	select COMMON_CLK_IPROC
18	select CLKSRC_MMIO
19	select ARCH_REQUIRE_GPIOLIB
20	select ARM_AMBA
21	select PINCTRL
22	help
23	  This enables support for systems based on Broadcom IPROC architected SoCs.
24	  The IPROC complex contains one or more ARM CPUs along with common
25	  core periperals. Application specific SoCs are created by adding a
26	  uArchitecture containing peripherals outside of the IPROC complex.
27	  Currently supported SoCs are Cygnus.
28
29config ARCH_BCM_CYGNUS
30	bool "Broadcom Cygnus Support" if ARCH_MULTI_V7
31	select ARCH_BCM_IPROC
32	help
33	  Enable support for the Cygnus family,
34	  which includes the following variants:
35	  BCM11300, BCM11320, BCM11350, BCM11360,
36	  BCM58300, BCM58302, BCM58303, BCM58305.
37
38config ARCH_BCM_NSP
39	bool "Broadcom Northstar Plus SoC Support" if ARCH_MULTI_V7
40	select ARCH_BCM_IPROC
41	select ARM_ERRATA_754322
42	select ARM_ERRATA_775420
43	help
44	  Support for Broadcom Northstar Plus SoC.
45	  Broadcom Northstar Plus family of SoCs are used for switching control
46	  and management applications as well as residential router/gateway
47	  applications. The SoC features dual core Cortex A9 ARM CPUs,
48	  integrating several peripheral interfaces including multiple Gigabit
49	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
50	  NAND flash, SATA and several other IO controllers.
51
52config ARCH_BCM_5301X
53	bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
54	select ARCH_BCM_IPROC
55	help
56	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
57
58	  This is a network SoC line mostly used in home routers and
59	  wifi access points, it's internal name is Northstar.
60	  This inclused the following SoC: BCM53010, BCM53011, BCM53012,
61	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
62	  BCM4708 and BCM4709.
63
64	  Do not confuse this with the BCM4760 which is a totally
65	  different SoC or with the older BCM47XX and BCM53XX based
66	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
67
68comment "KONA architected SoCs"
69
70config ARCH_BCM_MOBILE
71	bool
72	select ARCH_REQUIRE_GPIOLIB
73	select ARM_ERRATA_754322
74	select ARM_ERRATA_775420
75	select ARM_GIC
76	select GPIO_BCM_KONA
77	select TICK_ONESHOT
78	select HAVE_ARM_ARCH_TIMER
79	select PINCTRL
80	select ARCH_BCM_MOBILE_SMP if SMP
81	help
82	  This enables support for systems based on Broadcom mobile SoCs.
83
84config ARCH_BCM_281XX
85	bool "Broadcom BCM281XX SoC family" if ARCH_MULTI_V7
86	select ARCH_BCM_MOBILE
87	select HAVE_SMP
88	help
89	  Enable support for the BCM281XX family, which includes
90	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
91	  variants.
92
93config ARCH_BCM_21664
94	bool "Broadcom BCM21664 SoC family" if ARCH_MULTI_V7
95	select ARCH_BCM_MOBILE
96	select HAVE_SMP
97	help
98	  Enable support for the BCM21664 family, which includes
99	  BCM21663 and BCM21664 variants.
100
101config ARCH_BCM_MOBILE_L2_CACHE
102	bool "Broadcom mobile SoC level 2 cache support"
103	depends on ARCH_BCM_MOBILE
104	default y
105	select CACHE_L2X0
106	select ARCH_BCM_MOBILE_SMC
107
108config ARCH_BCM_MOBILE_SMC
109	bool
110	depends on ARCH_BCM_MOBILE
111
112config ARCH_BCM_MOBILE_SMP
113	bool
114	depends on ARCH_BCM_MOBILE
115	select HAVE_ARM_SCU
116	select ARM_ERRATA_764369
117	help
118	  SMP support for the BCM281XX and BCM21664 SoC families.
119	  Provided as an option so SMP support for SoCs of this type
120	  can be disabled for an SMP-enabled kernel.
121
122comment "Other Architectures"
123
124config ARCH_BCM2835
125	bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
126	select ARCH_REQUIRE_GPIOLIB
127	select ARM_AMBA
128	select ARM_ERRATA_411920
129	select ARM_TIMER_SP804
130	select CLKSRC_OF
131	select PINCTRL
132	select PINCTRL_BCM2835
133	help
134	  This enables support for the Broadcom BCM2835 SoC. This SoC is
135	  used in the Raspberry Pi and Roku 2 devices.
136
137config ARCH_BCM_63XX
138	bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
139	depends on MMU
140	select ARM_ERRATA_754322
141	select ARM_ERRATA_764369 if SMP
142	select ARM_GIC
143	select ARM_GLOBAL_TIMER
144	select CACHE_L2X0
145	select HAVE_ARM_ARCH_TIMER
146	select HAVE_ARM_TWD if SMP
147	select HAVE_ARM_SCU if SMP
148	select HAVE_SMP
149	help
150	  This enables support for systems based on Broadcom DSL SoCs.
151	  It currently supports the 'BCM63XX' ARM-based family, which includes
152	  the BCM63138 variant.
153
154config ARCH_BRCMSTB
155	bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7
156	select ARM_GIC
157	select ARM_ERRATA_798181 if SMP
158	select HAVE_ARM_ARCH_TIMER
159	select BRCMSTB_GISB_ARB
160	select BRCMSTB_L2_IRQ
161	select BCM7120_L2_IRQ
162	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
163	select ARCH_WANT_OPTIONAL_GPIOLIB
164	select SOC_BRCMSTB
165	help
166	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
167	  chipset.
168
169	  This enables support for Broadcom ARM-based set-top box chipsets,
170	  including the 7445 family of chips.
171
172endif
173