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