6e3e043ce332c557f98a4ccdcb4020e021fb6a4b
[cascardo/linux.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
61         help
62           Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
63
64           This is a network SoC line mostly used in home routers and
65           wifi access points, it's internal name is Northstar.
66           This inclused the following SoC: BCM53010, BCM53011, BCM53012,
67           BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
68           BCM4708 and BCM4709.
69
70           Do not confuse this with the BCM4760 which is a totally
71           different SoC or with the older BCM47XX and BCM53XX based
72           network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
73
74 comment "KONA architected SoCs"
75
76 config ARCH_BCM_MOBILE
77         bool
78         select ARCH_REQUIRE_GPIOLIB
79         select ARM_ERRATA_754322
80         select ARM_ERRATA_775420
81         select ARM_GIC
82         select GPIO_BCM_KONA
83         select TICK_ONESHOT
84         select HAVE_ARM_ARCH_TIMER
85         select PINCTRL
86         select ARCH_BCM_MOBILE_SMP if SMP
87         help
88           This enables support for systems based on Broadcom mobile SoCs.
89
90 config ARCH_BCM_281XX
91         bool "Broadcom BCM281XX SoC family" if ARCH_MULTI_V7
92         select ARCH_BCM_MOBILE
93         select HAVE_SMP
94         help
95           Enable support for the BCM281XX family, which includes
96           BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
97           variants.
98
99 config ARCH_BCM_21664
100         bool "Broadcom BCM21664 SoC family" if ARCH_MULTI_V7
101         select ARCH_BCM_MOBILE
102         select HAVE_SMP
103         help
104           Enable support for the BCM21664 family, which includes
105           BCM21663 and BCM21664 variants.
106
107 config ARCH_BCM_MOBILE_L2_CACHE
108         bool "Broadcom mobile SoC level 2 cache support"
109         depends on ARCH_BCM_MOBILE
110         default y
111         select CACHE_L2X0
112         select ARCH_BCM_MOBILE_SMC
113
114 config ARCH_BCM_MOBILE_SMC
115         bool
116         depends on ARCH_BCM_MOBILE
117
118 config ARCH_BCM_MOBILE_SMP
119         bool
120         depends on ARCH_BCM_MOBILE
121         select HAVE_ARM_SCU
122         select ARM_ERRATA_764369
123         help
124           SMP support for the BCM281XX and BCM21664 SoC families.
125           Provided as an option so SMP support for SoCs of this type
126           can be disabled for an SMP-enabled kernel.
127
128 comment "Other Architectures"
129
130 config ARCH_BCM2835
131         bool "Broadcom BCM2835 family" if ARCH_MULTI_V6
132         select ARCH_REQUIRE_GPIOLIB
133         select ARM_AMBA
134         select ARM_ERRATA_411920
135         select ARM_TIMER_SP804
136         select CLKSRC_OF
137         select PINCTRL
138         select PINCTRL_BCM2835
139         help
140           This enables support for the Broadcom BCM2835 SoC. This SoC is
141           used in the Raspberry Pi and Roku 2 devices.
142
143 config ARCH_BCM_63XX
144         bool "Broadcom BCM63xx DSL SoC" if ARCH_MULTI_V7
145         depends on MMU
146         select ARM_ERRATA_754322
147         select ARM_ERRATA_764369 if SMP
148         select ARM_GIC
149         select ARM_GLOBAL_TIMER
150         select CACHE_L2X0
151         select HAVE_ARM_ARCH_TIMER
152         select HAVE_ARM_TWD if SMP
153         select HAVE_ARM_SCU if SMP
154         select HAVE_SMP
155         help
156           This enables support for systems based on Broadcom DSL SoCs.
157           It currently supports the 'BCM63XX' ARM-based family, which includes
158           the BCM63138 variant.
159
160 config ARCH_BRCMSTB
161         bool "Broadcom BCM7XXX based boards" if ARCH_MULTI_V7
162         select ARM_GIC
163         select ARM_ERRATA_798181 if SMP
164         select HAVE_ARM_ARCH_TIMER
165         select BRCMSTB_GISB_ARB
166         select BRCMSTB_L2_IRQ
167         select BCM7120_L2_IRQ
168         select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
169         select ARCH_WANT_OPTIONAL_GPIOLIB
170         select SOC_BRCMSTB
171         help
172           Say Y if you intend to run the kernel on a Broadcom ARM-based STB
173           chipset.
174
175           This enables support for Broadcom ARM-based set-top box chipsets,
176           including the 7445 family of chips.
177
178 endif