ARM: BCM: Add SMP support for Broadcom 4708
[linux-2.6-block.git] / arch / arm / mach-bcm / Kconfig
1 menuconfig ARCH_BCM
2         bool "Broadcom SoC Support" if ARCH_MULTI_V6_V7
3         help
4           This enables support for Broadcom ARM based SoC chips
5
6 if ARCH_BCM
7
8 comment "IPROC architected SoCs"
9
10 config ARCH_BCM_IPROC
11         bool
12         select ARM_GIC
13         select CACHE_L2X0
14         select HAVE_ARM_SCU if SMP
15         select HAVE_ARM_TWD if SMP
16         select ARM_GLOBAL_TIMER
17         select COMMON_CLK_IPROC
18         select CLKSRC_MMIO
19         select ARCH_REQUIRE_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" if ARCH_MULTI_V7
31         select ARCH_BCM_IPROC
32         help
33           Enable support for the Cygnus family,
34           which includes the following variants:
35           BCM11300, BCM11320, BCM11350, BCM11360,
36           BCM58300, BCM58302, BCM58303, BCM58305.
37
38 config ARCH_BCM_NSP
39         bool "Broadcom Northstar Plus SoC Support" if ARCH_MULTI_V7
40         select ARCH_BCM_IPROC
41         select ARM_ERRATA_754322
42         select ARM_ERRATA_775420
43         select ARM_ERRATA_764369 if SMP
44         select HAVE_SMP
45         help
46           Support for Broadcom Northstar Plus SoC.
47           Broadcom Northstar Plus family of SoCs are used for switching control
48           and management applications as well as residential router/gateway
49           applications. The SoC features dual core Cortex A9 ARM CPUs,
50           integrating several peripheral interfaces including multiple Gigabit
51           Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
52           NAND flash, SATA and several other IO controllers.
53
54 config ARCH_BCM_5301X
55         bool "Broadcom BCM470X / BCM5301X ARM SoC" if ARCH_MULTI_V7
56         select ARCH_BCM_IPROC
57         select ARM_ERRATA_754322
58         select ARM_ERRATA_775420
59         select ARM_ERRATA_764369 if SMP
60         select HAVE_SMP
61
62         help
63           Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
64
65           This is a network SoC line mostly used in home routers and
66           wifi access points, it's internal name is Northstar.
67           This inclused the following SoC: BCM53010, BCM53011, BCM53012,
68           BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
69           BCM4708 and BCM4709.
70
71           Do not confuse this with the BCM4760 which is a totally
72           different SoC or with the older BCM47XX and BCM53XX based
73           network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
74
75 comment "KONA architected SoCs"
76
77 config ARCH_BCM_MOBILE
78         bool
79         select ARCH_REQUIRE_GPIOLIB
80         select ARM_ERRATA_754322
81         select ARM_ERRATA_775420
82         select ARM_GIC
83         select GPIO_BCM_KONA
84         select TICK_ONESHOT
85         select HAVE_ARM_ARCH_TIMER
86         select PINCTRL
87         select ARCH_BCM_MOBILE_SMP if SMP
88         help
89           This enables support for systems based on Broadcom mobile SoCs.
90
91 config ARCH_BCM_281XX
92         bool "Broadcom BCM281XX SoC family" if ARCH_MULTI_V7
93         select ARCH_BCM_MOBILE
94         select HAVE_SMP
95         help
96           Enable support for the BCM281XX family, which includes
97           BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
98           variants.
99
100 config ARCH_BCM_21664
101         bool "Broadcom BCM21664 SoC family" if ARCH_MULTI_V7
102         select ARCH_BCM_MOBILE
103         select HAVE_SMP
104         help
105           Enable support for the BCM21664 family, which includes
106           BCM21663 and BCM21664 variants.
107
108 config ARCH_BCM_MOBILE_L2_CACHE
109         bool "Broadcom mobile SoC level 2 cache support"
110         depends on ARCH_BCM_MOBILE
111         default y
112         select CACHE_L2X0
113         select ARCH_BCM_MOBILE_SMC
114
115 config ARCH_BCM_MOBILE_SMC
116         bool
117         depends on ARCH_BCM_MOBILE
118
119 config ARCH_BCM_MOBILE_SMP
120         bool
121         depends on ARCH_BCM_MOBILE
122         select HAVE_ARM_SCU
123         select ARM_ERRATA_764369
124         help
125           SMP support for the BCM281XX and BCM21664 SoC families.
126           Provided as an option so SMP support for SoCs of this type
127           can be disabled for an SMP-enabled kernel.
128
129 comment "Other Architectures"
130
131 config ARCH_BCM2835
132         bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
133         select ARCH_REQUIRE_GPIOLIB
134         select ARM_AMBA
135         select ARM_ERRATA_411920
136         select ARM_TIMER_SP804
137         select CLKSRC_OF
138         select PINCTRL
139         select PINCTRL_BCM2835
140         help
141           This enables support for the Broadcom BCM2835 SoC. This SoC is
142           used in the Raspberry Pi and Roku 2 devices.
143
144 config ARCH_BCM_63XX
145         bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
146         depends on MMU
147         select ARM_ERRATA_754322
148         select ARM_ERRATA_764369 if SMP
149         select ARM_GIC
150         select ARM_GLOBAL_TIMER
151         select CACHE_L2X0
152         select HAVE_ARM_ARCH_TIMER
153         select HAVE_ARM_TWD if SMP
154         select HAVE_ARM_SCU if SMP
155         select HAVE_SMP
156         help
157           This enables support for systems based on Broadcom DSL SoCs.
158           It currently supports the 'BCM63XX' ARM-based family, which includes
159           the BCM63138 variant.
160
161 config ARCH_BRCMSTB
162         bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7
163         select ARM_GIC
164         select ARM_ERRATA_798181 if SMP
165         select HAVE_ARM_ARCH_TIMER
166         select BRCMSTB_GISB_ARB
167         select BRCMSTB_L2_IRQ
168         select BCM7120_L2_IRQ
169         select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
170         select ARCH_WANT_OPTIONAL_GPIOLIB
171         select SOC_BRCMSTB
172         help
173           Say Y if you intend to run the kernel on a Broadcom ARM-based STB
174           chipset.
175
176           This enables support for Broadcom ARM-based set-top box chipsets,
177           including the 7445 family of chips.
178
179 endif