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