xref: /linux/arch/arm/mach-bcm/Kconfig (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
1# SPDX-License-Identifier: GPL-2.0
2menuconfig ARCH_BCM
3	bool "Broadcom SoC Support"
4	depends on ARCH_MULTI_V6_V7
5	help
6	  This enables support for Broadcom ARM based SoC chips
7
8if ARCH_BCM
9
10comment "IPROC architected SoCs"
11
12config ARCH_BCM_IPROC
13	bool
14	select ARM_GIC
15	select CACHE_L2X0
16	select HAVE_ARM_SCU if SMP
17	select HAVE_ARM_TWD if SMP
18	select ARM_GLOBAL_TIMER
19	select CLKSRC_MMIO
20	select GPIOLIB
21	select ARM_AMBA
22	select PINCTRL
23	help
24	  This enables support for systems based on Broadcom IPROC architected SoCs.
25	  The IPROC complex contains one or more ARM CPUs along with common
26	  core peripherals. Application specific SoCs are created by adding a
27	  uArchitecture containing peripherals outside of the IPROC complex.
28	  Currently supported SoCs are Cygnus.
29
30config ARCH_BCM_CYGNUS
31	bool "Broadcom Cygnus Support"
32	depends on ARCH_MULTI_V7
33	select ARCH_BCM_IPROC
34	help
35	  Enable support for the Cygnus family,
36	  which includes the following variants:
37	  BCM11300, BCM11320, BCM11350, BCM11360,
38	  BCM58300, BCM58302, BCM58303, BCM58305.
39
40config ARCH_BCM_HR2
41	bool "Broadcom Hurricane 2 SoC support"
42	depends on ARCH_MULTI_V7
43	select ARCH_BCM_IPROC
44	help
45	  Enable support for the Hurricane 2 family,
46	  which includes the following variants:
47	  BCM53342, BCM53343, BCM53344, BCM53346.
48
49config ARCH_BCM_NSP
50	bool "Broadcom Northstar Plus SoC Support"
51	depends on ARCH_MULTI_V7
52	select ARCH_BCM_IPROC
53	select ARM_ERRATA_754322
54	select ARM_ERRATA_775420
55	select ARM_ERRATA_764369 if SMP
56	select ARM_TIMER_SP804
57	help
58	  Support for Broadcom Northstar Plus SoC.
59	  Broadcom Northstar Plus family of SoCs are used for switching control
60	  and management applications as well as residential router/gateway
61	  applications. The SoC features dual core Cortex A9 ARM CPUs,
62	  integrating several peripheral interfaces including multiple Gigabit
63	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
64	  NAND flash, SATA and several other IO controllers.
65
66config ARCH_BCM_5301X
67	bool "Broadcom BCM470X / BCM5301X ARM SoC"
68	depends on ARCH_MULTI_V7
69	select ARCH_BCM_IPROC
70	select ARM_ERRATA_754322
71	select ARM_ERRATA_775420
72	select ARM_ERRATA_764369 if SMP
73
74	help
75	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
76
77	  This is a network SoC line mostly used in home routers and
78	  wifi access points, its internal name is Northstar.
79	  This includes the following SoC: BCM53010, BCM53011, BCM53012,
80	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
81	  BCM4708 and BCM4709.
82
83	  Do not confuse this with the BCM4760 which is a totally
84	  different SoC or with the older BCM47XX and BCM53XX based
85	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
86
87comment "KONA architected SoCs"
88
89config ARCH_BCM_MOBILE
90	bool
91	select GPIOLIB
92	select ARM_ERRATA_754322
93	select ARM_ERRATA_775420
94	select ARM_GIC
95	select GPIO_BCM_KONA
96	select HAVE_ARM_ARCH_TIMER
97	select PINCTRL
98	select ARCH_BCM_MOBILE_SMP if SMP
99	select BCM_KONA_TIMER
100	help
101	  This enables support for systems based on Broadcom mobile SoCs.
102
103config ARCH_BCM_281XX
104	bool "Broadcom BCM281XX SoC family"
105	depends on ARCH_MULTI_V7
106	select ARCH_BCM_MOBILE
107	help
108	  Enable support for the BCM281XX family, which includes
109	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
110	  variants.
111
112config ARCH_BCM_21664
113	bool "Broadcom BCM21664 SoC family"
114	depends on ARCH_MULTI_V7
115	select ARCH_BCM_MOBILE
116	help
117	  Enable support for the BCM21664 family, which includes
118	  BCM21663 and BCM21664 variants.
119
120config ARCH_BCM_23550
121	bool "Broadcom BCM23550 SoC"
122	depends on ARCH_MULTI_V7
123	select ARCH_BCM_MOBILE
124	help
125	  Enable support for the BCM23550.
126
127config ARCH_BCM_MOBILE_L2_CACHE
128	bool "Broadcom mobile SoC level 2 cache support"
129	depends on ARCH_BCM_281XX || ARCH_BCM_21664
130	default y
131	select CACHE_L2X0
132	select ARCH_BCM_MOBILE_SMC
133
134config ARCH_BCM_MOBILE_SMC
135	bool
136	depends on ARCH_BCM_MOBILE
137
138config ARCH_BCM_MOBILE_SMP
139	bool
140	depends on ARCH_BCM_MOBILE
141	select HAVE_ARM_SCU
142	select ARM_ERRATA_764369
143	help
144	  SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
145	  Provided as an option so SMP support for SoCs of this type
146	  can be disabled for an SMP-enabled kernel.
147
148comment "Other Architectures"
149
150config ARCH_BCM2835
151	bool "Broadcom BCM2835 family"
152	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
153	select GPIOLIB
154	select ARM_AMBA
155	select ARM_ERRATA_411920 if ARCH_MULTI_V6
156	select ARM_GIC if ARCH_MULTI_V7
157	select ZONE_DMA if ARCH_MULTI_V7
158	select ARM_TIMER_SP804
159	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
160	select BCM2835_TIMER
161	select PINCTRL
162	select PINCTRL_BCM2835
163	select MFD_CORE
164	help
165	  This enables support for the Broadcom BCM2711 and BCM283x SoCs.
166	  This SoC is used in the Raspberry Pi and Roku 2 devices.
167
168config ARCH_BCM_53573
169	bool "Broadcom BCM53573 SoC series support"
170	depends on ARCH_MULTI_V7
171	select ARCH_BCM_IPROC
172	select HAVE_ARM_ARCH_TIMER
173	help
174	  BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
175	  embedded in the chipset.
176	  This SoC line is mostly used in home routers and is some cheaper
177	  alternative for Northstar family.
178
179	  The base chip is BCM53573 and there are some packaging modifications
180	  like BCM47189 and BCM47452.
181
182config ARCH_BRCMSTB
183	bool "Broadcom BCM7XXX based boards"
184	depends on ARCH_MULTI_V7
185	select ARCH_HAS_RESET_CONTROLLER
186	select ARM_AMBA
187	select ARM_GIC
188	select ARM_GIC_V3
189	select ARM_ERRATA_798181 if SMP
190	select HAVE_ARM_ARCH_TIMER
191	select ZONE_DMA if ARM_LPAE
192	select SOC_BRCMSTB
193	select SOC_BUS
194	select PINCTRL
195	help
196	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
197	  chipset.
198
199	  This enables support for Broadcom ARM-based set-top box chipsets,
200	  including the 7445 family of chips.
201
202menuconfig ARCH_BCMBCA
203	bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
204	depends on ARCH_MULTI_V7
205	select ARM_AMBA
206	select ARM_GIC
207	select HAVE_ARM_ARCH_TIMER
208	help
209	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
210	  BCA chipset.
211
212	  This enables support for Broadcom BCA ARM-based broadband chipsets,
213	  including the DSL, PON and Wireless family of chips.
214
215comment "BCMBCA sub platforms"
216
217if ARCH_BCMBCA
218
219config ARCH_BCMBCA_CORTEXA7
220	bool "Cortex-A7 SoCs"
221	help
222	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM A7
223	  based chipset.
224
225	  This enables support for Broadcom BCA ARM A7 broadband chipsets,
226	  including various DSL, PON and Wireless family of chips.
227
228config ARCH_BCMBCA_CORTEXA9
229	bool "Cortex-A9 SoCS"
230	select ARM_ERRATA_754322
231	select ARM_ERRATA_764369 if SMP
232	select ARCH_HAS_RESET_CONTROLLER
233	select ARM_GLOBAL_TIMER
234	select CACHE_L2X0
235	select HAVE_ARM_TWD if SMP
236	select HAVE_ARM_SCU if SMP
237	help
238	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM A9
239	  based BCA chipset.
240
241	  This enables support for Broadcom BCA ARM A9 broadband chipset. Currently
242	  only DSL chip BCM63138.
243
244config ARCH_BCMBCA_BRAHMAB15
245	bool "Brahma-B15 SoCs"
246	select ARM_ERRATA_798181 if SMP
247	help
248	  Say Y if you intend to run the kernel on a Broadcom Broadband ARM B15
249	  based BCA chipset.
250
251	  This enables support for Broadcom BCA ARM B15 broadband chipset. Currently
252	  only DSL chip BCM63148.
253
254endif
255
256endif
257