| # SPDX-License-Identifier: GPL-2.0 |
| menuconfig ARCH_BCM |
| bool "Broadcom SoC Support" |
| depends on ARCH_MULTI_V6_V7 |
| help |
| This enables support for Broadcom ARM based SoC chips |
| |
| if ARCH_BCM |
| |
| comment "IPROC architected SoCs" |
| |
| config ARCH_BCM_IPROC |
| bool |
| select ARM_GIC |
| select CACHE_L2X0 |
| select HAVE_ARM_SCU if SMP |
| select HAVE_ARM_TWD if SMP |
| select ARM_GLOBAL_TIMER |
| select CLKSRC_MMIO |
| select GPIOLIB |
| select ARM_AMBA |
| select PINCTRL |
| help |
| This enables support for systems based on Broadcom IPROC architected SoCs. |
| The IPROC complex contains one or more ARM CPUs along with common |
| core peripherals. Application specific SoCs are created by adding a |
| uArchitecture containing peripherals outside of the IPROC complex. |
| Currently supported SoCs are Cygnus. |
| |
| config ARCH_BCM_CYGNUS |
| bool "Broadcom Cygnus Support" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_IPROC |
| help |
| Enable support for the Cygnus family, |
| which includes the following variants: |
| BCM11300, BCM11320, BCM11350, BCM11360, |
| BCM58300, BCM58302, BCM58303, BCM58305. |
| |
| config ARCH_BCM_HR2 |
| bool "Broadcom Hurricane 2 SoC support" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_IPROC |
| help |
| Enable support for the Hurricane 2 family, |
| which includes the following variants: |
| BCM53342, BCM53343, BCM53344, BCM53346. |
| |
| config ARCH_BCM_NSP |
| bool "Broadcom Northstar Plus SoC Support" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_IPROC |
| select ARM_ERRATA_754322 |
| select ARM_ERRATA_775420 |
| select ARM_ERRATA_764369 if SMP |
| select ARM_TIMER_SP804 |
| select THERMAL |
| select THERMAL_OF |
| help |
| Support for Broadcom Northstar Plus SoC. |
| Broadcom Northstar Plus family of SoCs are used for switching control |
| and management applications as well as residential router/gateway |
| applications. The SoC features dual core Cortex A9 ARM CPUs, |
| integrating several peripheral interfaces including multiple Gigabit |
| Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and |
| NAND flash, SATA and several other IO controllers. |
| |
| config ARCH_BCM_5301X |
| bool "Broadcom BCM470X / BCM5301X ARM SoC" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_IPROC |
| select ARM_ERRATA_754322 |
| select ARM_ERRATA_775420 |
| select ARM_ERRATA_764369 if SMP |
| |
| help |
| Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. |
| |
| This is a network SoC line mostly used in home routers and |
| wifi access points, its internal name is Northstar. |
| This includes the following SoC: BCM53010, BCM53011, BCM53012, |
| BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707, |
| BCM4708 and BCM4709. |
| |
| Do not confuse this with the BCM4760 which is a totally |
| different SoC or with the older BCM47XX and BCM53XX based |
| network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx |
| |
| comment "KONA architected SoCs" |
| |
| config ARCH_BCM_MOBILE |
| bool |
| select GPIOLIB |
| select ARM_ERRATA_754322 |
| select ARM_ERRATA_775420 |
| select ARM_GIC |
| select GPIO_BCM_KONA |
| select TICK_ONESHOT |
| select HAVE_ARM_ARCH_TIMER |
| select PINCTRL |
| select ARCH_BCM_MOBILE_SMP if SMP |
| select BCM_KONA_TIMER |
| help |
| This enables support for systems based on Broadcom mobile SoCs. |
| |
| config ARCH_BCM_281XX |
| bool "Broadcom BCM281XX SoC family" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_MOBILE |
| help |
| Enable support for the BCM281XX family, which includes |
| BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 |
| variants. |
| |
| config ARCH_BCM_21664 |
| bool "Broadcom BCM21664 SoC family" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_MOBILE |
| help |
| Enable support for the BCM21664 family, which includes |
| BCM21663 and BCM21664 variants. |
| |
| config ARCH_BCM_23550 |
| bool "Broadcom BCM23550 SoC" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_MOBILE |
| help |
| Enable support for the BCM23550. |
| |
| config ARCH_BCM_MOBILE_L2_CACHE |
| bool "Broadcom mobile SoC level 2 cache support" |
| depends on ARCH_BCM_281XX || ARCH_BCM_21664 |
| default y |
| select CACHE_L2X0 |
| select ARCH_BCM_MOBILE_SMC |
| |
| config ARCH_BCM_MOBILE_SMC |
| bool |
| depends on ARCH_BCM_MOBILE |
| |
| config ARCH_BCM_MOBILE_SMP |
| bool |
| depends on ARCH_BCM_MOBILE |
| select HAVE_ARM_SCU |
| select ARM_ERRATA_764369 |
| help |
| SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families. |
| Provided as an option so SMP support for SoCs of this type |
| can be disabled for an SMP-enabled kernel. |
| |
| comment "Other Architectures" |
| |
| config ARCH_BCM2835 |
| bool "Broadcom BCM2835 family" |
| depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 |
| select GPIOLIB |
| select ARM_AMBA |
| select ARM_ERRATA_411920 if ARCH_MULTI_V6 |
| select ARM_GIC if ARCH_MULTI_V7 |
| select ZONE_DMA if ARCH_MULTI_V7 |
| select ARM_TIMER_SP804 |
| select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 |
| select BCM2835_TIMER |
| select PINCTRL |
| select PINCTRL_BCM2835 |
| select MFD_CORE |
| help |
| This enables support for the Broadcom BCM2711 and BCM283x SoCs. |
| This SoC is used in the Raspberry Pi and Roku 2 devices. |
| |
| config ARCH_BCM_53573 |
| bool "Broadcom BCM53573 SoC series support" |
| depends on ARCH_MULTI_V7 |
| select ARCH_BCM_IPROC |
| select HAVE_ARM_ARCH_TIMER |
| help |
| BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless |
| embedded in the chipset. |
| This SoC line is mostly used in home routers and is some cheaper |
| alternative for Northstar family. |
| |
| The base chip is BCM53573 and there are some packaging modifications |
| like BCM47189 and BCM47452. |
| |
| config ARCH_BCM_63XX |
| bool "Broadcom BCM63xx DSL SoC" |
| depends on ARCH_MULTI_V7 |
| depends on MMU |
| select ARCH_HAS_RESET_CONTROLLER |
| select ARM_ERRATA_754322 |
| select ARM_ERRATA_764369 if SMP |
| select ARM_GIC |
| select ARM_GLOBAL_TIMER |
| select CACHE_L2X0 |
| select HAVE_ARM_ARCH_TIMER |
| select HAVE_ARM_TWD if SMP |
| select HAVE_ARM_SCU if SMP |
| help |
| This enables support for systems based on Broadcom DSL SoCs. |
| It currently supports the 'BCM63XX' ARM-based family, which includes |
| the BCM63138 variant. |
| |
| config ARCH_BRCMSTB |
| bool "Broadcom BCM7XXX based boards" |
| depends on ARCH_MULTI_V7 |
| select ARCH_HAS_RESET_CONTROLLER |
| select ARM_AMBA |
| select ARM_GIC |
| select ARM_ERRATA_798181 if SMP |
| select HAVE_ARM_ARCH_TIMER |
| select BCM7038_L1_IRQ |
| select BRCMSTB_L2_IRQ |
| select BCM7120_L2_IRQ |
| select ARCH_HAS_HOLES_MEMORYMODEL |
| select ZONE_DMA if ARM_LPAE |
| select SOC_BRCMSTB |
| select SOC_BUS |
| select PINCTRL |
| help |
| Say Y if you intend to run the kernel on a Broadcom ARM-based STB |
| chipset. |
| |
| This enables support for Broadcom ARM-based set-top box chipsets, |
| including the 7445 family of chips. |
| |
| endif |