Merge branch 'WIP.x86-pti.base-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...
[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 HAVE_SMP
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
68 config 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         select HAVE_SMP
76
77         help
78           Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
79
80           This is a network SoC line mostly used in home routers and
81           wifi access points, its internal name is Northstar.
82           This includes the following SoC: BCM53010, BCM53011, BCM53012,
83           BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
84           BCM4708 and BCM4709.
85
86           Do not confuse this with the BCM4760 which is a totally
87           different SoC or with the older BCM47XX and BCM53XX based
88           network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
89
90 comment "KONA architected SoCs"
91
92 config ARCH_BCM_MOBILE
93         bool
94         select GPIOLIB
95         select ARM_ERRATA_754322
96         select ARM_ERRATA_775420
97         select ARM_GIC
98         select GPIO_BCM_KONA
99         select TICK_ONESHOT
100         select HAVE_ARM_ARCH_TIMER
101         select PINCTRL
102         select ARCH_BCM_MOBILE_SMP if SMP
103         select BCM_KONA_TIMER
104         help
105           This enables support for systems based on Broadcom mobile SoCs.
106
107 config ARCH_BCM_281XX
108         bool "Broadcom BCM281XX SoC family"
109         depends on ARCH_MULTI_V7
110         select ARCH_BCM_MOBILE
111         select HAVE_SMP
112         help
113           Enable support for the BCM281XX family, which includes
114           BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
115           variants.
116
117 config ARCH_BCM_21664
118         bool "Broadcom BCM21664 SoC family"
119         depends on ARCH_MULTI_V7
120         select ARCH_BCM_MOBILE
121         select HAVE_SMP
122         help
123           Enable support for the BCM21664 family, which includes
124           BCM21663 and BCM21664 variants.
125
126 config ARCH_BCM_23550
127         bool "Broadcom BCM23550 SoC"
128         depends on ARCH_MULTI_V7
129         select ARCH_BCM_MOBILE
130         select HAVE_SMP
131         help
132           Enable support for the BCM23550.
133
134 config ARCH_BCM_MOBILE_L2_CACHE
135         bool "Broadcom mobile SoC level 2 cache support"
136         depends on ARCH_BCM_281XX || ARCH_BCM_21664
137         default y
138         select CACHE_L2X0
139         select ARCH_BCM_MOBILE_SMC
140
141 config ARCH_BCM_MOBILE_SMC
142         bool
143         depends on ARCH_BCM_MOBILE
144
145 config ARCH_BCM_MOBILE_SMP
146         bool
147         depends on ARCH_BCM_MOBILE
148         select HAVE_ARM_SCU
149         select ARM_ERRATA_764369
150         help
151           SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
152           Provided as an option so SMP support for SoCs of this type
153           can be disabled for an SMP-enabled kernel.
154
155 comment "Other Architectures"
156
157 config ARCH_BCM2835
158         bool "Broadcom BCM2835 family"
159         depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
160         select GPIOLIB
161         select ARM_AMBA
162         select ARM_ERRATA_411920 if ARCH_MULTI_V6
163         select ARM_TIMER_SP804
164         select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
165         select TIMER_OF
166         select BCM2835_TIMER
167         select PINCTRL
168         select PINCTRL_BCM2835
169         help
170           This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
171           This SoC is used in the Raspberry Pi and Roku 2 devices.
172
173 config ARCH_BCM_53573
174         bool "Broadcom BCM53573 SoC series support"
175         depends on ARCH_MULTI_V7
176         select ARCH_BCM_IPROC
177         select HAVE_ARM_ARCH_TIMER
178         help
179           BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
180           embedded in the chipset.
181           This SoC line is mostly used in home routers and is some cheaper
182           alternative for Northstar family.
183
184           The base chip is BCM53573 and there are some packaging modifications
185           like BCM47189 and BCM47452.
186
187 config ARCH_BCM_63XX
188         bool "Broadcom BCM63xx DSL SoC"
189         depends on ARCH_MULTI_V7
190         depends on MMU
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         select HAVE_SMP
200         help
201           This enables support for systems based on Broadcom DSL SoCs.
202           It currently supports the 'BCM63XX' ARM-based family, which includes
203           the BCM63138 variant.
204
205 config ARCH_BRCMSTB
206         bool "Broadcom BCM7XXX based boards"
207         depends on ARCH_MULTI_V7
208         select ARM_GIC
209         select ARM_ERRATA_798181 if SMP
210         select HAVE_ARM_ARCH_TIMER
211         select BRCMSTB_L2_IRQ
212         select BCM7120_L2_IRQ
213         select ARCH_HAS_HOLES_MEMORYMODEL
214         select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
215         select ZONE_DMA if ARM_LPAE
216         select SOC_BRCMSTB
217         select SOC_BUS
218         help
219           Say Y if you intend to run the kernel on a Broadcom ARM-based STB
220           chipset.
221
222           This enables support for Broadcom ARM-based set-top box chipsets,
223           including the 7445 family of chips.
224
225 endif