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