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