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