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