Merge tag 'arm-dt-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.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 TICK_ONESHOT
97         select HAVE_ARM_ARCH_TIMER
98         select PINCTRL
99         select ARCH_BCM_MOBILE_SMP if SMP
100         select BCM_KONA_TIMER
101         help
102           This enables support for systems based on Broadcom mobile SoCs.
103
104 config ARCH_BCM_281XX
105         bool "Broadcom BCM281XX SoC family"
106         depends on ARCH_MULTI_V7
107         select ARCH_BCM_MOBILE
108         help
109           Enable support for the BCM281XX family, which includes
110           BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
111           variants.
112
113 config ARCH_BCM_21664
114         bool "Broadcom BCM21664 SoC family"
115         depends on ARCH_MULTI_V7
116         select ARCH_BCM_MOBILE
117         help
118           Enable support for the BCM21664 family, which includes
119           BCM21663 and BCM21664 variants.
120
121 config ARCH_BCM_23550
122         bool "Broadcom BCM23550 SoC"
123         depends on ARCH_MULTI_V7
124         select ARCH_BCM_MOBILE
125         help
126           Enable support for the BCM23550.
127
128 config ARCH_BCM_MOBILE_L2_CACHE
129         bool "Broadcom mobile SoC level 2 cache support"
130         depends on ARCH_BCM_281XX || ARCH_BCM_21664
131         default y
132         select CACHE_L2X0
133         select ARCH_BCM_MOBILE_SMC
134
135 config ARCH_BCM_MOBILE_SMC
136         bool
137         depends on ARCH_BCM_MOBILE
138
139 config ARCH_BCM_MOBILE_SMP
140         bool
141         depends on ARCH_BCM_MOBILE
142         select HAVE_ARM_SCU
143         select ARM_ERRATA_764369
144         help
145           SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
146           Provided as an option so SMP support for SoCs of this type
147           can be disabled for an SMP-enabled kernel.
148
149 comment "Other Architectures"
150
151 config ARCH_BCM2835
152         bool "Broadcom BCM2835 family"
153         depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
154         select GPIOLIB
155         select ARM_AMBA
156         select ARM_ERRATA_411920 if ARCH_MULTI_V6
157         select ARM_GIC if ARCH_MULTI_V7
158         select ZONE_DMA if ARCH_MULTI_V7
159         select ARM_TIMER_SP804
160         select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
161         select BCM2835_TIMER
162         select PINCTRL
163         select PINCTRL_BCM2835
164         select MFD_CORE
165         help
166           This enables support for the Broadcom BCM2711 and BCM283x SoCs.
167           This SoC is used in the Raspberry Pi and Roku 2 devices.
168
169 config ARCH_BCM_53573
170         bool "Broadcom BCM53573 SoC series support"
171         depends on ARCH_MULTI_V7
172         select ARCH_BCM_IPROC
173         select HAVE_ARM_ARCH_TIMER
174         help
175           BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
176           embedded in the chipset.
177           This SoC line is mostly used in home routers and is some cheaper
178           alternative for Northstar family.
179
180           The base chip is BCM53573 and there are some packaging modifications
181           like BCM47189 and BCM47452.
182
183 config ARCH_BRCMSTB
184         bool "Broadcom BCM7XXX based boards"
185         depends on ARCH_MULTI_V7
186         select ARCH_HAS_RESET_CONTROLLER
187         select ARM_AMBA
188         select ARM_GIC
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
202 menuconfig 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
215 comment "BCMBCA sub platforms"
216
217 if ARCH_BCMBCA
218
219 config 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
228 config 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
244 config 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
254 endif
255
256 endif