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