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