xref: /openbmc/linux/arch/arm/mach-bcm/Kconfig (revision 32981ea5)
1menuconfig 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
7if ARCH_BCM
8
9comment "IPROC architected SoCs"
10
11config 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 ARCH_REQUIRE_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
30config 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
40config 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
57config 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
79comment "KONA architected SoCs"
80
81config ARCH_BCM_MOBILE
82	bool
83	select ARCH_REQUIRE_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	help
93	  This enables support for systems based on Broadcom mobile SoCs.
94
95config ARCH_BCM_281XX
96	bool "Broadcom BCM281XX SoC family"
97	depends on ARCH_MULTI_V7
98	select ARCH_BCM_MOBILE
99	select HAVE_SMP
100	help
101	  Enable support for the BCM281XX family, which includes
102	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
103	  variants.
104
105config ARCH_BCM_21664
106	bool "Broadcom BCM21664 SoC family"
107	depends on ARCH_MULTI_V7
108	select ARCH_BCM_MOBILE
109	select HAVE_SMP
110	help
111	  Enable support for the BCM21664 family, which includes
112	  BCM21663 and BCM21664 variants.
113
114config ARCH_BCM_23550
115	bool "Broadcom BCM23550 SoC"
116	depends on ARCH_MULTI_V7
117	select ARCH_BCM_MOBILE
118	select HAVE_SMP
119	help
120	  Enable support for the BCM23550.
121
122config ARCH_BCM_MOBILE_L2_CACHE
123	bool "Broadcom mobile SoC level 2 cache support"
124	depends on ARCH_BCM_281XX || ARCH_BCM_21664
125	default y
126	select CACHE_L2X0
127	select ARCH_BCM_MOBILE_SMC
128
129config ARCH_BCM_MOBILE_SMC
130	bool
131	depends on ARCH_BCM_MOBILE
132
133config ARCH_BCM_MOBILE_SMP
134	bool
135	depends on ARCH_BCM_MOBILE
136	select HAVE_ARM_SCU
137	select ARM_ERRATA_764369
138	help
139	  SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
140	  Provided as an option so SMP support for SoCs of this type
141	  can be disabled for an SMP-enabled kernel.
142
143comment "Other Architectures"
144
145config ARCH_BCM2835
146	bool "Broadcom BCM2835 family"
147	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
148	select ARCH_REQUIRE_GPIOLIB
149	select ARM_AMBA
150	select ARM_ERRATA_411920 if ARCH_MULTI_V6
151	select ARM_TIMER_SP804
152	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
153	select CLKSRC_OF
154	select PINCTRL
155	select PINCTRL_BCM2835
156	help
157	  This enables support for the Broadcom BCM2835 and BCM2836 SoCs.
158	  This SoC is used in the Raspberry Pi and Roku 2 devices.
159
160config ARCH_BCM_63XX
161	bool "Broadcom BCM63xx DSL SoC"
162	depends on ARCH_MULTI_V7
163	depends on MMU
164	select ARM_ERRATA_754322
165	select ARM_ERRATA_764369 if SMP
166	select ARM_GIC
167	select ARM_GLOBAL_TIMER
168	select CACHE_L2X0
169	select HAVE_ARM_ARCH_TIMER
170	select HAVE_ARM_TWD if SMP
171	select HAVE_ARM_SCU if SMP
172	select HAVE_SMP
173	help
174	  This enables support for systems based on Broadcom DSL SoCs.
175	  It currently supports the 'BCM63XX' ARM-based family, which includes
176	  the BCM63138 variant.
177
178config ARCH_BRCMSTB
179	bool "Broadcom BCM7XXX based boards"
180	depends on ARCH_MULTI_V7
181	select ARM_GIC
182	select ARM_ERRATA_798181 if SMP
183	select HAVE_ARM_ARCH_TIMER
184	select BRCMSTB_L2_IRQ
185	select BCM7120_L2_IRQ
186	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
187	select ARCH_WANT_OPTIONAL_GPIOLIB
188	select SOC_BRCMSTB
189	select SOC_BUS
190	help
191	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
192	  chipset.
193
194	  This enables support for Broadcom ARM-based set-top box chipsets,
195	  including the 7445 family of chips.
196
197endif
198