Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
21278aea | 2 | menuconfig ARCH_BCM |
e3246542 MY |
3 | bool "Broadcom SoC Support" |
4 | depends on ARCH_MULTI_V6_V7 | |
badb9238 | 5 | help |
fd336158 | 6 | This enables support for Broadcom ARM based SoC chips |
badb9238 | 7 | |
21278aea | 8 | if ARCH_BCM |
badb9238 | 9 | |
1b475f8d JR |
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 | |
1b475f8d | 19 | select CLKSRC_MMIO |
5c34a4e8 | 20 | select GPIOLIB |
1b475f8d JR |
21 | select ARM_AMBA |
22 | select PINCTRL | |
2eac9c2d | 23 | select PCI_DOMAINS_GENERIC if PCI |
1b475f8d JR |
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 | |
83fc61a5 | 27 | core peripherals. Application specific SoCs are created by adding a |
1b475f8d JR |
28 | uArchitecture containing peripherals outside of the IPROC complex. |
29 | Currently supported SoCs are Cygnus. | |
30 | ||
31 | config ARCH_BCM_CYGNUS | |
e3246542 MY |
32 | bool "Broadcom Cygnus Support" |
33 | depends on ARCH_MULTI_V7 | |
1b475f8d JR |
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 | ||
2e2bba69 FF |
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 | ||
1f3e9a6e | 50 | config ARCH_BCM_NSP |
e3246542 MY |
51 | bool "Broadcom Northstar Plus SoC Support" |
52 | depends on ARCH_MULTI_V7 | |
1f3e9a6e JM |
53 | select ARCH_BCM_IPROC |
54 | select ARM_ERRATA_754322 | |
55 | select ARM_ERRATA_775420 | |
97890821 KH |
56 | select ARM_ERRATA_764369 if SMP |
57 | select HAVE_SMP | |
27d9fa06 JM |
58 | select THERMAL |
59 | select THERMAL_OF | |
1f3e9a6e JM |
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 | ||
d318987e | 69 | config ARCH_BCM_5301X |
e3246542 MY |
70 | bool "Broadcom BCM470X / BCM5301X ARM SoC" |
71 | depends on ARCH_MULTI_V7 | |
d318987e | 72 | select ARCH_BCM_IPROC |
f4ce7eff HM |
73 | select ARM_ERRATA_754322 |
74 | select ARM_ERRATA_775420 | |
75 | select ARM_ERRATA_764369 if SMP | |
99498905 | 76 | select HAVE_SMP |
f4ce7eff | 77 | |
d318987e SB |
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 | |
83fc61a5 MI |
82 | wifi access points, its internal name is Northstar. |
83 | This includes the following SoC: BCM53010, BCM53011, BCM53012, | |
d318987e SB |
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 | ||
64e74aa7 SB |
91 | comment "KONA architected SoCs" |
92 | ||
badb9238 | 93 | config ARCH_BCM_MOBILE |
64e74aa7 | 94 | bool |
5c34a4e8 | 95 | select GPIOLIB |
8ac49e04 | 96 | select ARM_ERRATA_754322 |
ffc1086a | 97 | select ARM_ERRATA_775420 |
8ac49e04 | 98 | select ARM_GIC |
29c700d7 | 99 | select GPIO_BCM_KONA |
8ac49e04 | 100 | select TICK_ONESHOT |
e84dfa26 | 101 | select HAVE_ARM_ARCH_TIMER |
54b1aa5a | 102 | select PINCTRL |
64e74aa7 | 103 | select ARCH_BCM_MOBILE_SMP if SMP |
1cad71e3 | 104 | select BCM_KONA_TIMER |
8ac49e04 | 105 | help |
badb9238 | 106 | This enables support for systems based on Broadcom mobile SoCs. |
1892bbcd | 107 | |
1892bbcd | 108 | config ARCH_BCM_281XX |
e3246542 MY |
109 | bool "Broadcom BCM281XX SoC family" |
110 | depends on ARCH_MULTI_V7 | |
64e74aa7 | 111 | select ARCH_BCM_MOBILE |
9a5a110e | 112 | select HAVE_SMP |
1892bbcd | 113 | help |
9a5a110e | 114 | Enable support for the BCM281XX family, which includes |
1892bbcd AE |
115 | BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 |
116 | variants. | |
117 | ||
118 | config ARCH_BCM_21664 | |
e3246542 MY |
119 | bool "Broadcom BCM21664 SoC family" |
120 | depends on ARCH_MULTI_V7 | |
64e74aa7 | 121 | select ARCH_BCM_MOBILE |
9a5a110e | 122 | select HAVE_SMP |
1892bbcd | 123 | help |
9a5a110e | 124 | Enable support for the BCM21664 family, which includes |
1892bbcd AE |
125 | BCM21663 and BCM21664 variants. |
126 | ||
4533d5f7 CB |
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 | ||
7b5fe9c9 AE |
135 | config ARCH_BCM_MOBILE_L2_CACHE |
136 | bool "Broadcom mobile SoC level 2 cache support" | |
4533d5f7 | 137 | depends on ARCH_BCM_281XX || ARCH_BCM_21664 |
7b5fe9c9 AE |
138 | default y |
139 | select CACHE_L2X0 | |
140 | select ARCH_BCM_MOBILE_SMC | |
141 | ||
142 | config ARCH_BCM_MOBILE_SMC | |
143 | bool | |
64e74aa7 | 144 | depends on ARCH_BCM_MOBILE |
7b5fe9c9 | 145 | |
9a5a110e | 146 | config ARCH_BCM_MOBILE_SMP |
64e74aa7 SB |
147 | bool |
148 | depends on ARCH_BCM_MOBILE | |
9a5a110e AE |
149 | select HAVE_ARM_SCU |
150 | select ARM_ERRATA_764369 | |
151 | help | |
4533d5f7 | 152 | SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families. |
9a5a110e AE |
153 | Provided as an option so SMP support for SoCs of this type |
154 | can be disabled for an SMP-enabled kernel. | |
155 | ||
1b475f8d | 156 | comment "Other Architectures" |
badb9238 | 157 | |
d30fe627 | 158 | config ARCH_BCM2835 |
e3246542 | 159 | bool "Broadcom BCM2835 family" |
fc2f669e | 160 | depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 |
5c34a4e8 | 161 | select GPIOLIB |
d30fe627 | 162 | select ARM_AMBA |
5234c34e | 163 | select ARM_ERRATA_411920 if ARCH_MULTI_V6 |
d30fe627 | 164 | select ARM_TIMER_SP804 |
5234c34e | 165 | select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 |
bb0eb050 | 166 | select TIMER_OF |
2ea879a7 | 167 | select BCM2835_TIMER |
d30fe627 MM |
168 | select PINCTRL |
169 | select PINCTRL_BCM2835 | |
5e6acc3e | 170 | select MFD_CORE |
d30fe627 | 171 | help |
5234c34e EA |
172 | This enables support for the Broadcom BCM2835 and BCM2836 SoCs. |
173 | This SoC is used in the Raspberry Pi and Roku 2 devices. | |
d30fe627 | 174 | |
4ebd5047 RM |
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 | ||
dc6aec60 | 189 | config ARCH_BCM_63XX |
e3246542 MY |
190 | bool "Broadcom BCM63xx DSL SoC" |
191 | depends on ARCH_MULTI_V7 | |
dc6aec60 | 192 | depends on MMU |
99b90b5d | 193 | select ARCH_HAS_RESET_CONTROLLER |
dc6aec60 FF |
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 | ||
4fbe66d9 | 208 | config ARCH_BRCMSTB |
e3246542 MY |
209 | bool "Broadcom BCM7XXX based boards" |
210 | depends on ARCH_MULTI_V7 | |
4fbe66d9 | 211 | select ARM_GIC |
aeaeba1b | 212 | select ARM_ERRATA_798181 if SMP |
4fbe66d9 | 213 | select HAVE_ARM_ARCH_TIMER |
305787f9 | 214 | select BRCMSTB_L2_IRQ |
a4fcbb86 | 215 | select BCM7120_L2_IRQ |
59f181aa | 216 | select ARCH_HAS_HOLES_MEMORYMODEL |
3c51b9c7 | 217 | select ZONE_DMA if ARM_LPAE |
d52fad26 | 218 | select SOC_BRCMSTB |
cef4bafc | 219 | select SOC_BUS |
4fbe66d9 MC |
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 | ||
21278aea | 227 | endif |