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