Merge branch 'i2c/for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.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 periperals. 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_NSP
41         bool "Broadcom Northstar Plus SoC Support"
42         depends on ARCH_MULTI_V7
43         select ARCH_BCM_IPROC
44         select ARM_ERRATA_754322
45         select ARM_ERRATA_775420
46         select ARM_ERRATA_764369 if SMP
47         select HAVE_SMP
48         select THERMAL
49         select THERMAL_OF
50         help
51           Support for Broadcom Northstar Plus SoC.
52           Broadcom Northstar Plus family of SoCs are used for switching control
53           and management applications as well as residential router/gateway
54           applications. The SoC features dual core Cortex A9 ARM CPUs,
55           integrating several peripheral interfaces including multiple Gigabit
56           Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
57           NAND flash, SATA and several other IO controllers.
58
59 config ARCH_BCM_5301X
60         bool "Broadcom BCM470X / BCM5301X ARM SoC"
61         depends on ARCH_MULTI_V7
62         select ARCH_BCM_IPROC
63         select ARM_ERRATA_754322
64         select ARM_ERRATA_775420
65         select ARM_ERRATA_764369 if SMP
66         select HAVE_SMP
67
68         help
69           Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
70
71           This is a network SoC line mostly used in home routers and
72           wifi access points, it's internal name is Northstar.
73           This inclused the following SoC: BCM53010, BCM53011, BCM53012,
74           BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
75           BCM4708 and BCM4709.
76
77           Do not confuse this with the BCM4760 which is a totally
78           different SoC or with the older BCM47XX and BCM53XX based
79           network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
80
81 comment "KONA architected SoCs"
82
83 config ARCH_BCM_MOBILE
84         bool
85         select GPIOLIB
86         select ARM_ERRATA_754322
87         select ARM_ERRATA_775420
88         select ARM_GIC
89         select GPIO_BCM_KONA
90         select TICK_ONESHOT
91         select HAVE_ARM_ARCH_TIMER
92         select PINCTRL
93         select ARCH_BCM_MOBILE_SMP if SMP
94         select BCM_KONA_TIMER
95         help
96           This enables support for systems based on Broadcom mobile SoCs.
97
98 config ARCH_BCM_281XX
99         bool "Broadcom BCM281XX SoC family"
100         depends on ARCH_MULTI_V7
101         select ARCH_BCM_MOBILE
102         select HAVE_SMP
103         help
104           Enable support for the BCM281XX family, which includes
105           BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
106           variants.
107
108 config ARCH_BCM_21664
109         bool "Broadcom BCM21664 SoC family"
110         depends on ARCH_MULTI_V7
111         select ARCH_BCM_MOBILE
112         select HAVE_SMP
113         help
114           Enable support for the BCM21664 family, which includes
115           BCM21663 and BCM21664 variants.
116
117 config ARCH_BCM_23550
118         bool "Broadcom BCM23550 SoC"
119         depends on ARCH_MULTI_V7
120         select ARCH_BCM_MOBILE
121         select HAVE_SMP
122         help
123           Enable support for the BCM23550.
124
125 config ARCH_BCM_MOBILE_L2_CACHE
126         bool "Broadcom mobile SoC level 2 cache support"
127         depends on ARCH_BCM_281XX || ARCH_BCM_21664
128         default y
129         select CACHE_L2X0
130         select ARCH_BCM_MOBILE_SMC
131
132 config ARCH_BCM_MOBILE_SMC
133         bool
134         depends on ARCH_BCM_MOBILE
135
136 config ARCH_BCM_MOBILE_SMP
137         bool
138         depends on ARCH_BCM_MOBILE
139         select HAVE_ARM_SCU
140         select ARM_ERRATA_764369
141         help
142           SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
143           Provided as an option so SMP support for SoCs of this type
144           can be disabled for an SMP-enabled kernel.
145
146 comment "Other Architectures"
147
148 config ARCH_BCM2835
149         bool "Broadcom BCM2835 family"
150         depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
151         select GPIOLIB
152         select ARM_AMBA
153         select ARM_ERRATA_411920 if ARCH_MULTI_V6
154         select ARM_TIMER_SP804
155         select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
156         select TIMER_OF
157         select BCM2835_TIMER
158         select PINCTRL
159         select PINCTRL_BCM2835
160         help
161           This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
162           This SoC is used in the Raspberry Pi and Roku 2 devices.
163
164 config ARCH_BCM_53573
165         bool "Broadcom BCM53573 SoC series support"
166         depends on ARCH_MULTI_V7
167         select ARCH_BCM_IPROC
168         select HAVE_ARM_ARCH_TIMER
169         help
170           BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
171           embedded in the chipset.
172           This SoC line is mostly used in home routers and is some cheaper
173           alternative for Northstar family.
174
175           The base chip is BCM53573 and there are some packaging modifications
176           like BCM47189 and BCM47452.
177
178 config ARCH_BCM_63XX
179         bool "Broadcom BCM63xx DSL SoC"
180         depends on ARCH_MULTI_V7
181         depends on MMU
182         select ARM_ERRATA_754322
183         select ARM_ERRATA_764369 if SMP
184         select ARM_GIC
185         select ARM_GLOBAL_TIMER
186         select CACHE_L2X0
187         select HAVE_ARM_ARCH_TIMER
188         select HAVE_ARM_TWD if SMP
189         select HAVE_ARM_SCU if SMP
190         select HAVE_SMP
191         help
192           This enables support for systems based on Broadcom DSL SoCs.
193           It currently supports the 'BCM63XX' ARM-based family, which includes
194           the BCM63138 variant.
195
196 config ARCH_BRCMSTB
197         bool "Broadcom BCM7XXX based boards"
198         depends on ARCH_MULTI_V7
199         select ARM_GIC
200         select ARM_ERRATA_798181 if SMP
201         select HAVE_ARM_ARCH_TIMER
202         select BRCMSTB_L2_IRQ
203         select BCM7120_L2_IRQ
204         select ARCH_HAS_HOLES_MEMORYMODEL
205         select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
206         select ZONE_DMA if ARM_LPAE
207         select SOC_BRCMSTB
208         select SOC_BUS
209         help
210           Say Y if you intend to run the kernel on a Broadcom ARM-based STB
211           chipset.
212
213           This enables support for Broadcom ARM-based set-top box chipsets,
214           including the 7445 family of chips.
215
216 endif