18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_cimenuconfig ARCH_BCM
38c2ecf20Sopenharmony_ci	bool "Broadcom SoC Support"
48c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V6_V7
58c2ecf20Sopenharmony_ci	help
68c2ecf20Sopenharmony_ci	  This enables support for Broadcom ARM based SoC chips
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciif ARCH_BCM
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cicomment "IPROC architected SoCs"
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciconfig ARCH_BCM_IPROC
138c2ecf20Sopenharmony_ci	bool
148c2ecf20Sopenharmony_ci	select ARM_GIC
158c2ecf20Sopenharmony_ci	select CACHE_L2X0
168c2ecf20Sopenharmony_ci	select HAVE_ARM_SCU if SMP
178c2ecf20Sopenharmony_ci	select HAVE_ARM_TWD if SMP
188c2ecf20Sopenharmony_ci	select ARM_GLOBAL_TIMER
198c2ecf20Sopenharmony_ci	select CLKSRC_MMIO
208c2ecf20Sopenharmony_ci	select GPIOLIB
218c2ecf20Sopenharmony_ci	select ARM_AMBA
228c2ecf20Sopenharmony_ci	select PINCTRL
238c2ecf20Sopenharmony_ci	help
248c2ecf20Sopenharmony_ci	  This enables support for systems based on Broadcom IPROC architected SoCs.
258c2ecf20Sopenharmony_ci	  The IPROC complex contains one or more ARM CPUs along with common
268c2ecf20Sopenharmony_ci	  core peripherals. Application specific SoCs are created by adding a
278c2ecf20Sopenharmony_ci	  uArchitecture containing peripherals outside of the IPROC complex.
288c2ecf20Sopenharmony_ci	  Currently supported SoCs are Cygnus.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciconfig ARCH_BCM_CYGNUS
318c2ecf20Sopenharmony_ci	bool "Broadcom Cygnus Support"
328c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
338c2ecf20Sopenharmony_ci	select ARCH_BCM_IPROC
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	  Enable support for the Cygnus family,
368c2ecf20Sopenharmony_ci	  which includes the following variants:
378c2ecf20Sopenharmony_ci	  BCM11300, BCM11320, BCM11350, BCM11360,
388c2ecf20Sopenharmony_ci	  BCM58300, BCM58302, BCM58303, BCM58305.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ciconfig ARCH_BCM_HR2
418c2ecf20Sopenharmony_ci	bool "Broadcom Hurricane 2 SoC support"
428c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
438c2ecf20Sopenharmony_ci	select ARCH_BCM_IPROC
448c2ecf20Sopenharmony_ci	help
458c2ecf20Sopenharmony_ci	  Enable support for the Hurricane 2 family,
468c2ecf20Sopenharmony_ci	  which includes the following variants:
478c2ecf20Sopenharmony_ci	  BCM53342, BCM53343, BCM53344, BCM53346.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig ARCH_BCM_NSP
508c2ecf20Sopenharmony_ci	bool "Broadcom Northstar Plus SoC Support"
518c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
528c2ecf20Sopenharmony_ci	select ARCH_BCM_IPROC
538c2ecf20Sopenharmony_ci	select ARM_ERRATA_754322
548c2ecf20Sopenharmony_ci	select ARM_ERRATA_775420
558c2ecf20Sopenharmony_ci	select ARM_ERRATA_764369 if SMP
568c2ecf20Sopenharmony_ci	select ARM_TIMER_SP804
578c2ecf20Sopenharmony_ci	select THERMAL
588c2ecf20Sopenharmony_ci	select THERMAL_OF
598c2ecf20Sopenharmony_ci	help
608c2ecf20Sopenharmony_ci	  Support for Broadcom Northstar Plus SoC.
618c2ecf20Sopenharmony_ci	  Broadcom Northstar Plus family of SoCs are used for switching control
628c2ecf20Sopenharmony_ci	  and management applications as well as residential router/gateway
638c2ecf20Sopenharmony_ci	  applications. The SoC features dual core Cortex A9 ARM CPUs,
648c2ecf20Sopenharmony_ci	  integrating several peripheral interfaces including multiple Gigabit
658c2ecf20Sopenharmony_ci	  Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
668c2ecf20Sopenharmony_ci	  NAND flash, SATA and several other IO controllers.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciconfig ARCH_BCM_5301X
698c2ecf20Sopenharmony_ci	bool "Broadcom BCM470X / BCM5301X ARM SoC"
708c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
718c2ecf20Sopenharmony_ci	select ARCH_BCM_IPROC
728c2ecf20Sopenharmony_ci	select ARM_ERRATA_754322
738c2ecf20Sopenharmony_ci	select ARM_ERRATA_775420
748c2ecf20Sopenharmony_ci	select ARM_ERRATA_764369 if SMP
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	  This is a network SoC line mostly used in home routers and
808c2ecf20Sopenharmony_ci	  wifi access points, its internal name is Northstar.
818c2ecf20Sopenharmony_ci	  This includes the following SoC: BCM53010, BCM53011, BCM53012,
828c2ecf20Sopenharmony_ci	  BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
838c2ecf20Sopenharmony_ci	  BCM4708 and BCM4709.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  Do not confuse this with the BCM4760 which is a totally
868c2ecf20Sopenharmony_ci	  different SoC or with the older BCM47XX and BCM53XX based
878c2ecf20Sopenharmony_ci	  network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_cicomment "KONA architected SoCs"
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciconfig ARCH_BCM_MOBILE
928c2ecf20Sopenharmony_ci	bool
938c2ecf20Sopenharmony_ci	select GPIOLIB
948c2ecf20Sopenharmony_ci	select ARM_ERRATA_754322
958c2ecf20Sopenharmony_ci	select ARM_ERRATA_775420
968c2ecf20Sopenharmony_ci	select ARM_GIC
978c2ecf20Sopenharmony_ci	select GPIO_BCM_KONA
988c2ecf20Sopenharmony_ci	select TICK_ONESHOT
998c2ecf20Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER
1008c2ecf20Sopenharmony_ci	select PINCTRL
1018c2ecf20Sopenharmony_ci	select ARCH_BCM_MOBILE_SMP if SMP
1028c2ecf20Sopenharmony_ci	select BCM_KONA_TIMER
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  This enables support for systems based on Broadcom mobile SoCs.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciconfig ARCH_BCM_281XX
1078c2ecf20Sopenharmony_ci	bool "Broadcom BCM281XX SoC family"
1088c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
1098c2ecf20Sopenharmony_ci	select ARCH_BCM_MOBILE
1108c2ecf20Sopenharmony_ci	help
1118c2ecf20Sopenharmony_ci	  Enable support for the BCM281XX family, which includes
1128c2ecf20Sopenharmony_ci	  BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
1138c2ecf20Sopenharmony_ci	  variants.
1148c2ecf20Sopenharmony_ci
1158c2ecf20Sopenharmony_ciconfig ARCH_BCM_21664
1168c2ecf20Sopenharmony_ci	bool "Broadcom BCM21664 SoC family"
1178c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
1188c2ecf20Sopenharmony_ci	select ARCH_BCM_MOBILE
1198c2ecf20Sopenharmony_ci	help
1208c2ecf20Sopenharmony_ci	  Enable support for the BCM21664 family, which includes
1218c2ecf20Sopenharmony_ci	  BCM21663 and BCM21664 variants.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ciconfig ARCH_BCM_23550
1248c2ecf20Sopenharmony_ci	bool "Broadcom BCM23550 SoC"
1258c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
1268c2ecf20Sopenharmony_ci	select ARCH_BCM_MOBILE
1278c2ecf20Sopenharmony_ci	help
1288c2ecf20Sopenharmony_ci	  Enable support for the BCM23550.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciconfig ARCH_BCM_MOBILE_L2_CACHE
1318c2ecf20Sopenharmony_ci	bool "Broadcom mobile SoC level 2 cache support"
1328c2ecf20Sopenharmony_ci	depends on ARCH_BCM_281XX || ARCH_BCM_21664
1338c2ecf20Sopenharmony_ci	default y
1348c2ecf20Sopenharmony_ci	select CACHE_L2X0
1358c2ecf20Sopenharmony_ci	select ARCH_BCM_MOBILE_SMC
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig ARCH_BCM_MOBILE_SMC
1388c2ecf20Sopenharmony_ci	bool
1398c2ecf20Sopenharmony_ci	depends on ARCH_BCM_MOBILE
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ciconfig ARCH_BCM_MOBILE_SMP
1428c2ecf20Sopenharmony_ci	bool
1438c2ecf20Sopenharmony_ci	depends on ARCH_BCM_MOBILE
1448c2ecf20Sopenharmony_ci	select HAVE_ARM_SCU
1458c2ecf20Sopenharmony_ci	select ARM_ERRATA_764369
1468c2ecf20Sopenharmony_ci	help
1478c2ecf20Sopenharmony_ci	  SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
1488c2ecf20Sopenharmony_ci	  Provided as an option so SMP support for SoCs of this type
1498c2ecf20Sopenharmony_ci	  can be disabled for an SMP-enabled kernel.
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_cicomment "Other Architectures"
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ciconfig ARCH_BCM2835
1548c2ecf20Sopenharmony_ci	bool "Broadcom BCM2835 family"
1558c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
1568c2ecf20Sopenharmony_ci	select GPIOLIB
1578c2ecf20Sopenharmony_ci	select ARM_AMBA
1588c2ecf20Sopenharmony_ci	select ARM_ERRATA_411920 if ARCH_MULTI_V6
1598c2ecf20Sopenharmony_ci	select ARM_GIC if ARCH_MULTI_V7
1608c2ecf20Sopenharmony_ci	select ZONE_DMA if ARCH_MULTI_V7
1618c2ecf20Sopenharmony_ci	select ARM_TIMER_SP804
1628c2ecf20Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
1638c2ecf20Sopenharmony_ci	select BCM2835_TIMER
1648c2ecf20Sopenharmony_ci	select PINCTRL
1658c2ecf20Sopenharmony_ci	select PINCTRL_BCM2835
1668c2ecf20Sopenharmony_ci	select MFD_CORE
1678c2ecf20Sopenharmony_ci	help
1688c2ecf20Sopenharmony_ci	  This enables support for the Broadcom BCM2711 and BCM283x SoCs.
1698c2ecf20Sopenharmony_ci	  This SoC is used in the Raspberry Pi and Roku 2 devices.
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig ARCH_BCM_53573
1728c2ecf20Sopenharmony_ci	bool "Broadcom BCM53573 SoC series support"
1738c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
1748c2ecf20Sopenharmony_ci	select ARCH_BCM_IPROC
1758c2ecf20Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER
1768c2ecf20Sopenharmony_ci	help
1778c2ecf20Sopenharmony_ci	  BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
1788c2ecf20Sopenharmony_ci	  embedded in the chipset.
1798c2ecf20Sopenharmony_ci	  This SoC line is mostly used in home routers and is some cheaper
1808c2ecf20Sopenharmony_ci	  alternative for Northstar family.
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci	  The base chip is BCM53573 and there are some packaging modifications
1838c2ecf20Sopenharmony_ci	  like BCM47189 and BCM47452.
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ciconfig ARCH_BCM_63XX
1868c2ecf20Sopenharmony_ci	bool "Broadcom BCM63xx DSL SoC"
1878c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
1888c2ecf20Sopenharmony_ci	depends on MMU
1898c2ecf20Sopenharmony_ci	select ARCH_HAS_RESET_CONTROLLER
1908c2ecf20Sopenharmony_ci	select ARM_ERRATA_754322
1918c2ecf20Sopenharmony_ci	select ARM_ERRATA_764369 if SMP
1928c2ecf20Sopenharmony_ci	select ARM_GIC
1938c2ecf20Sopenharmony_ci	select ARM_GLOBAL_TIMER
1948c2ecf20Sopenharmony_ci	select CACHE_L2X0
1958c2ecf20Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER
1968c2ecf20Sopenharmony_ci	select HAVE_ARM_TWD if SMP
1978c2ecf20Sopenharmony_ci	select HAVE_ARM_SCU if SMP
1988c2ecf20Sopenharmony_ci	help
1998c2ecf20Sopenharmony_ci	  This enables support for systems based on Broadcom DSL SoCs.
2008c2ecf20Sopenharmony_ci	  It currently supports the 'BCM63XX' ARM-based family, which includes
2018c2ecf20Sopenharmony_ci	  the BCM63138 variant.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ciconfig ARCH_BRCMSTB
2048c2ecf20Sopenharmony_ci	bool "Broadcom BCM7XXX based boards"
2058c2ecf20Sopenharmony_ci	depends on ARCH_MULTI_V7
2068c2ecf20Sopenharmony_ci	select ARCH_HAS_RESET_CONTROLLER
2078c2ecf20Sopenharmony_ci	select ARM_AMBA
2088c2ecf20Sopenharmony_ci	select ARM_GIC
2098c2ecf20Sopenharmony_ci	select ARM_ERRATA_798181 if SMP
2108c2ecf20Sopenharmony_ci	select HAVE_ARM_ARCH_TIMER
2118c2ecf20Sopenharmony_ci	select BCM7038_L1_IRQ
2128c2ecf20Sopenharmony_ci	select BRCMSTB_L2_IRQ
2138c2ecf20Sopenharmony_ci	select BCM7120_L2_IRQ
2148c2ecf20Sopenharmony_ci	select ZONE_DMA if ARM_LPAE
2158c2ecf20Sopenharmony_ci	select SOC_BRCMSTB
2168c2ecf20Sopenharmony_ci	select SOC_BUS
2178c2ecf20Sopenharmony_ci	select PINCTRL
2188c2ecf20Sopenharmony_ci	help
2198c2ecf20Sopenharmony_ci	  Say Y if you intend to run the kernel on a Broadcom ARM-based STB
2208c2ecf20Sopenharmony_ci	  chipset.
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci	  This enables support for Broadcom ARM-based set-top box chipsets,
2238c2ecf20Sopenharmony_ci	  including the 7445 family of chips.
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ciendif
226