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