blob: 25aac6ee2ab18cdd0189c27bac759efc02f2d1c5 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# SPDX-License-Identifier: GPL-2.0
2menuconfig 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
8if ARCH_BCM
9
10comment "IPROC architected SoCs"
11
12config 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 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
31config 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
41config 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
50config 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
69config 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
91comment "KONA architected SoCs"
92
93config 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
108config 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
118config 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
127config 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
135config 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
142config ARCH_BCM_MOBILE_SMC
143 bool
144 depends on ARCH_BCM_MOBILE
145
146config 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
156comment "Other Architectures"
157
158config 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 help
171 This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
172 This SoC is used in the Raspberry Pi and Roku 2 devices.
173
174config ARCH_BCM_53573
175 bool "Broadcom BCM53573 SoC series support"
176 depends on ARCH_MULTI_V7
177 select ARCH_BCM_IPROC
178 select HAVE_ARM_ARCH_TIMER
179 help
180 BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
181 embedded in the chipset.
182 This SoC line is mostly used in home routers and is some cheaper
183 alternative for Northstar family.
184
185 The base chip is BCM53573 and there are some packaging modifications
186 like BCM47189 and BCM47452.
187
188config ARCH_BCM_63XX
189 bool "Broadcom BCM63xx DSL SoC"
190 depends on ARCH_MULTI_V7
191 depends on MMU
192 select ARM_ERRATA_754322
193 select ARM_ERRATA_764369 if SMP
194 select ARM_GIC
195 select ARM_GLOBAL_TIMER
196 select CACHE_L2X0
197 select HAVE_ARM_ARCH_TIMER
198 select HAVE_ARM_TWD if SMP
199 select HAVE_ARM_SCU if SMP
200 select HAVE_SMP
201 help
202 This enables support for systems based on Broadcom DSL SoCs.
203 It currently supports the 'BCM63XX' ARM-based family, which includes
204 the BCM63138 variant.
205
206config ARCH_BRCMSTB
207 bool "Broadcom BCM7XXX based boards"
208 depends on ARCH_MULTI_V7
209 select ARM_GIC
210 select ARM_ERRATA_798181 if SMP
211 select HAVE_ARM_ARCH_TIMER
212 select BRCMSTB_L2_IRQ
213 select BCM7120_L2_IRQ
214 select ARCH_HAS_HOLES_MEMORYMODEL
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
225endif