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