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