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