0001 # SPDX-License-Identifier: GPL-2.0
0002 menuconfig ARCH_BCM
0003 bool "Broadcom SoC Support"
0004 depends on ARCH_MULTI_V6_V7
0005 help
0006 This enables support for Broadcom ARM based SoC chips
0007
0008 if ARCH_BCM
0009
0010 comment "IPROC architected SoCs"
0011
0012 config ARCH_BCM_IPROC
0013 bool
0014 select ARM_GIC
0015 select CACHE_L2X0
0016 select HAVE_ARM_SCU if SMP
0017 select HAVE_ARM_TWD if SMP
0018 select ARM_GLOBAL_TIMER
0019 select CLKSRC_MMIO
0020 select GPIOLIB
0021 select ARM_AMBA
0022 select PINCTRL
0023 help
0024 This enables support for systems based on Broadcom IPROC architected SoCs.
0025 The IPROC complex contains one or more ARM CPUs along with common
0026 core peripherals. Application specific SoCs are created by adding a
0027 uArchitecture containing peripherals outside of the IPROC complex.
0028 Currently supported SoCs are Cygnus.
0029
0030 config ARCH_BCM_CYGNUS
0031 bool "Broadcom Cygnus Support"
0032 depends on ARCH_MULTI_V7
0033 select ARCH_BCM_IPROC
0034 help
0035 Enable support for the Cygnus family,
0036 which includes the following variants:
0037 BCM11300, BCM11320, BCM11350, BCM11360,
0038 BCM58300, BCM58302, BCM58303, BCM58305.
0039
0040 config ARCH_BCM_HR2
0041 bool "Broadcom Hurricane 2 SoC support"
0042 depends on ARCH_MULTI_V7
0043 select ARCH_BCM_IPROC
0044 help
0045 Enable support for the Hurricane 2 family,
0046 which includes the following variants:
0047 BCM53342, BCM53343, BCM53344, BCM53346.
0048
0049 config ARCH_BCM_NSP
0050 bool "Broadcom Northstar Plus SoC Support"
0051 depends on ARCH_MULTI_V7
0052 select ARCH_BCM_IPROC
0053 select ARM_ERRATA_754322
0054 select ARM_ERRATA_775420
0055 select ARM_ERRATA_764369 if SMP
0056 select ARM_TIMER_SP804
0057 help
0058 Support for Broadcom Northstar Plus SoC.
0059 Broadcom Northstar Plus family of SoCs are used for switching control
0060 and management applications as well as residential router/gateway
0061 applications. The SoC features dual core Cortex A9 ARM CPUs,
0062 integrating several peripheral interfaces including multiple Gigabit
0063 Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and
0064 NAND flash, SATA and several other IO controllers.
0065
0066 config ARCH_BCM_5301X
0067 bool "Broadcom BCM470X / BCM5301X ARM SoC"
0068 depends on ARCH_MULTI_V7
0069 select ARCH_BCM_IPROC
0070 select ARM_ERRATA_754322
0071 select ARM_ERRATA_775420
0072 select ARM_ERRATA_764369 if SMP
0073
0074 help
0075 Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores.
0076
0077 This is a network SoC line mostly used in home routers and
0078 wifi access points, its internal name is Northstar.
0079 This includes the following SoC: BCM53010, BCM53011, BCM53012,
0080 BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707,
0081 BCM4708 and BCM4709.
0082
0083 Do not confuse this with the BCM4760 which is a totally
0084 different SoC or with the older BCM47XX and BCM53XX based
0085 network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx
0086
0087 comment "KONA architected SoCs"
0088
0089 config ARCH_BCM_MOBILE
0090 bool
0091 select GPIOLIB
0092 select ARM_ERRATA_754322
0093 select ARM_ERRATA_775420
0094 select ARM_GIC
0095 select GPIO_BCM_KONA
0096 select TICK_ONESHOT
0097 select HAVE_ARM_ARCH_TIMER
0098 select PINCTRL
0099 select ARCH_BCM_MOBILE_SMP if SMP
0100 select BCM_KONA_TIMER
0101 help
0102 This enables support for systems based on Broadcom mobile SoCs.
0103
0104 config ARCH_BCM_281XX
0105 bool "Broadcom BCM281XX SoC family"
0106 depends on ARCH_MULTI_V7
0107 select ARCH_BCM_MOBILE
0108 help
0109 Enable support for the BCM281XX family, which includes
0110 BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155
0111 variants.
0112
0113 config ARCH_BCM_21664
0114 bool "Broadcom BCM21664 SoC family"
0115 depends on ARCH_MULTI_V7
0116 select ARCH_BCM_MOBILE
0117 help
0118 Enable support for the BCM21664 family, which includes
0119 BCM21663 and BCM21664 variants.
0120
0121 config ARCH_BCM_23550
0122 bool "Broadcom BCM23550 SoC"
0123 depends on ARCH_MULTI_V7
0124 select ARCH_BCM_MOBILE
0125 help
0126 Enable support for the BCM23550.
0127
0128 config ARCH_BCM_MOBILE_L2_CACHE
0129 bool "Broadcom mobile SoC level 2 cache support"
0130 depends on ARCH_BCM_281XX || ARCH_BCM_21664
0131 default y
0132 select CACHE_L2X0
0133 select ARCH_BCM_MOBILE_SMC
0134
0135 config ARCH_BCM_MOBILE_SMC
0136 bool
0137 depends on ARCH_BCM_MOBILE
0138
0139 config ARCH_BCM_MOBILE_SMP
0140 bool
0141 depends on ARCH_BCM_MOBILE
0142 select HAVE_ARM_SCU
0143 select ARM_ERRATA_764369
0144 help
0145 SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families.
0146 Provided as an option so SMP support for SoCs of this type
0147 can be disabled for an SMP-enabled kernel.
0148
0149 comment "Other Architectures"
0150
0151 config ARCH_BCM2835
0152 bool "Broadcom BCM2835 family"
0153 depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
0154 select GPIOLIB
0155 select ARM_AMBA
0156 select ARM_ERRATA_411920 if ARCH_MULTI_V6
0157 select ARM_GIC if ARCH_MULTI_V7
0158 select ZONE_DMA if ARCH_MULTI_V7
0159 select ARM_TIMER_SP804
0160 select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
0161 select BCM2835_TIMER
0162 select PINCTRL
0163 select PINCTRL_BCM2835
0164 select MFD_CORE
0165 help
0166 This enables support for the Broadcom BCM2711 and BCM283x SoCs.
0167 This SoC is used in the Raspberry Pi and Roku 2 devices.
0168
0169 config ARCH_BCM_53573
0170 bool "Broadcom BCM53573 SoC series support"
0171 depends on ARCH_MULTI_V7
0172 select ARCH_BCM_IPROC
0173 select HAVE_ARM_ARCH_TIMER
0174 help
0175 BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless
0176 embedded in the chipset.
0177 This SoC line is mostly used in home routers and is some cheaper
0178 alternative for Northstar family.
0179
0180 The base chip is BCM53573 and there are some packaging modifications
0181 like BCM47189 and BCM47452.
0182
0183 config ARCH_BRCMSTB
0184 bool "Broadcom BCM7XXX based boards"
0185 depends on ARCH_MULTI_V7
0186 select ARCH_HAS_RESET_CONTROLLER
0187 select ARM_AMBA
0188 select ARM_GIC
0189 select ARM_ERRATA_798181 if SMP
0190 select HAVE_ARM_ARCH_TIMER
0191 select ZONE_DMA if ARM_LPAE
0192 select SOC_BRCMSTB
0193 select SOC_BUS
0194 select PINCTRL
0195 help
0196 Say Y if you intend to run the kernel on a Broadcom ARM-based STB
0197 chipset.
0198
0199 This enables support for Broadcom ARM-based set-top box chipsets,
0200 including the 7445 family of chips.
0201
0202 menuconfig ARCH_BCMBCA
0203 bool "Broadcom Broadband Carrier Access (BCA) origin SoC"
0204 depends on ARCH_MULTI_V7
0205 select ARM_AMBA
0206 select ARM_GIC
0207 select HAVE_ARM_ARCH_TIMER
0208 help
0209 Say Y if you intend to run the kernel on a Broadcom Broadband ARM-based
0210 BCA chipset.
0211
0212 This enables support for Broadcom BCA ARM-based broadband chipsets,
0213 including the DSL, PON and Wireless family of chips.
0214
0215 comment "BCMBCA sub platforms"
0216
0217 if ARCH_BCMBCA
0218
0219 config ARCH_BCMBCA_CORTEXA7
0220 bool "Cortex-A7 SoCs"
0221 help
0222 Say Y if you intend to run the kernel on a Broadcom Broadband ARM A7
0223 based chipset.
0224
0225 This enables support for Broadcom BCA ARM A7 broadband chipsets,
0226 including various DSL, PON and Wireless family of chips.
0227
0228 config ARCH_BCMBCA_CORTEXA9
0229 bool "Cortex-A9 SoCS"
0230 select ARM_ERRATA_754322
0231 select ARM_ERRATA_764369 if SMP
0232 select ARCH_HAS_RESET_CONTROLLER
0233 select ARM_GLOBAL_TIMER
0234 select CACHE_L2X0
0235 select HAVE_ARM_TWD if SMP
0236 select HAVE_ARM_SCU if SMP
0237 help
0238 Say Y if you intend to run the kernel on a Broadcom Broadband ARM A9
0239 based BCA chipset.
0240
0241 This enables support for Broadcom BCA ARM A9 broadband chipset. Currently
0242 only DSL chip BCM63138.
0243
0244 config ARCH_BCMBCA_BRAHMAB15
0245 bool "Brahma-B15 SoCs"
0246 select ARM_ERRATA_798181 if SMP
0247 help
0248 Say Y if you intend to run the kernel on a Broadcom Broadband ARM B15
0249 based BCA chipset.
0250
0251 This enables support for Broadcom BCA ARM B15 broadband chipset. Currently
0252 only DSL chip BCM63148.
0253
0254 endif
0255
0256 endif