Linux 6.10-rc2
[sfrench/cifs-2.6.git] / arch / arm / mach-bcm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 menuconfig 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
8 if ARCH_BCM
9
10 comment "IPROC architected SoCs"
11
12 config 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
30 config 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
40 config 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
49 config 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
66 config 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
87 comment "KONA architected SoCs"
88
89 config 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
103 config 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
112 config 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
120 config 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
127 config 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
134 config ARCH_BCM_MOBILE_SMC
135         bool
136         depends on ARCH_BCM_MOBILE
137
138 config 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
148 comment "Other Architectures"
149
150 config 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
168 config 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
182 config 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_ERRATA_798181 if SMP
189         select HAVE_ARM_ARCH_TIMER
190         select ZONE_DMA if ARM_LPAE
191         select SOC_BRCMSTB
192         select SOC_BUS
193         select PINCTRL
194         help
195           Say Y if you intend to run the kernel on a Broadcom ARM-based STB
196           chipset.
197
198           This enables support for Broadcom ARM-based set-top box chipsets,
199           including the 7445 family of chips.
200
201 menuconfig ARCH_BCMBCA
202         bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
203         depends on ARCH_MULTI_V7
204         select ARM_AMBA
205         select ARM_GIC
206         select HAVE_ARM_ARCH_TIMER
207         help
208           Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
209           BCA chipset.
210
211           This enables support for Broadcom BCA ARM-based broadband chipsets,
212           including the DSL, PON and Wireless family of chips.
213
214 comment "BCMBCA sub platforms"
215
216 if ARCH_BCMBCA
217
218 config ARCH_BCMBCA_CORTEXA7
219         bool "Cortex-A7 SoCs"
220         help
221           Say Y if you intend to run the kernel on a Broadcom Broadband ARM A7
222           based chipset.
223
224           This enables support for Broadcom BCA ARM A7 broadband chipsets,
225           including various DSL, PON and Wireless family of chips.
226
227 config ARCH_BCMBCA_CORTEXA9
228         bool "Cortex-A9 SoCS"
229         select ARM_ERRATA_754322
230         select ARM_ERRATA_764369 if SMP
231         select ARCH_HAS_RESET_CONTROLLER
232         select ARM_GLOBAL_TIMER
233         select CACHE_L2X0
234         select HAVE_ARM_TWD if SMP
235         select HAVE_ARM_SCU if SMP
236         help
237           Say Y if you intend to run the kernel on a Broadcom Broadband ARM A9
238           based BCA chipset.
239
240           This enables support for Broadcom BCA ARM A9 broadband chipset. Currently
241           only DSL chip BCM63138.
242
243 config ARCH_BCMBCA_BRAHMAB15
244         bool "Brahma-B15 SoCs"
245         select ARM_ERRATA_798181 if SMP
246         help
247           Say Y if you intend to run the kernel on a Broadcom Broadband ARM B15
248           based BCA chipset.
249
250           This enables support for Broadcom BCA ARM B15 broadband chipset. Currently
251           only DSL chip BCM63148.
252
253 endif
254
255 endif