Linux-libre 5.7.6-gnu
[librecmc/linux-libre.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 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
67 config 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
88 comment "KONA architected SoCs"
89
90 config 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
105 config 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
114 config 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
122 config 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
129 config 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
136 config ARCH_BCM_MOBILE_SMC
137         bool
138         depends on ARCH_BCM_MOBILE
139
140 config 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
150 comment "Other Architectures"
151
152 config 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
170 config 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
184 config 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
202 config 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
224 endif