rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | menuconfig ARCH_BCM |
| 3 | bool "Broadcom SoC Support" |
| 4 | depends on ARCH_MULTI_V6_V7 |
| 5 | help |
| 6 | This enables support for Broadcom ARM based SoC chips |
| 7 | |
| 8 | if ARCH_BCM |
| 9 | |
| 10 | comment "IPROC architected SoCs" |
| 11 | |
| 12 | config ARCH_BCM_IPROC |
| 13 | bool |
| 14 | select ARM_GIC |
| 15 | select CACHE_L2X0 |
| 16 | select HAVE_ARM_SCU if SMP |
| 17 | select HAVE_ARM_TWD if SMP |
| 18 | select ARM_GLOBAL_TIMER |
| 19 | select CLKSRC_MMIO |
| 20 | select 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 | |
| 30 | config 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 | |
| 40 | config 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 | select THERMAL |
| 49 | select THERMAL_OF |
| 50 | help |
| 51 | Support for Broadcom Northstar Plus SoC. |
| 52 | Broadcom Northstar Plus family of SoCs are used for switching control |
| 53 | and management applications as well as residential router/gateway |
| 54 | applications. The SoC features dual core Cortex A9 ARM CPUs, |
| 55 | integrating several peripheral interfaces including multiple Gigabit |
| 56 | Ethernet PHYs, DDR3 memory, PCIE Gen-2, USB 2.0 and USB 3.0, serial and |
| 57 | NAND flash, SATA and several other IO controllers. |
| 58 | |
| 59 | config ARCH_BCM_5301X |
| 60 | bool "Broadcom BCM470X / BCM5301X ARM SoC" |
| 61 | depends on ARCH_MULTI_V7 |
| 62 | select ARCH_BCM_IPROC |
| 63 | select ARM_ERRATA_754322 |
| 64 | select ARM_ERRATA_775420 |
| 65 | select ARM_ERRATA_764369 if SMP |
| 66 | select HAVE_SMP |
| 67 | |
| 68 | help |
| 69 | Support for Broadcom BCM470X and BCM5301X SoCs with ARM CPU cores. |
| 70 | |
| 71 | This is a network SoC line mostly used in home routers and |
| 72 | wifi access points, it's internal name is Northstar. |
| 73 | This inclused the following SoC: BCM53010, BCM53011, BCM53012, |
| 74 | BCM53014, BCM53015, BCM53016, BCM53017, BCM53018, BCM4707, |
| 75 | BCM4708 and BCM4709. |
| 76 | |
| 77 | Do not confuse this with the BCM4760 which is a totally |
| 78 | different SoC or with the older BCM47XX and BCM53XX based |
| 79 | network SoC using a MIPS CPU, they are supported by arch/mips/bcm47xx |
| 80 | |
| 81 | comment "KONA architected SoCs" |
| 82 | |
| 83 | config ARCH_BCM_MOBILE |
| 84 | bool |
| 85 | select GPIOLIB |
| 86 | select ARM_ERRATA_754322 |
| 87 | select ARM_ERRATA_775420 |
| 88 | select ARM_GIC |
| 89 | select GPIO_BCM_KONA |
| 90 | select TICK_ONESHOT |
| 91 | select HAVE_ARM_ARCH_TIMER |
| 92 | select PINCTRL |
| 93 | select ARCH_BCM_MOBILE_SMP if SMP |
| 94 | select BCM_KONA_TIMER |
| 95 | help |
| 96 | This enables support for systems based on Broadcom mobile SoCs. |
| 97 | |
| 98 | config ARCH_BCM_281XX |
| 99 | bool "Broadcom BCM281XX SoC family" |
| 100 | depends on ARCH_MULTI_V7 |
| 101 | select ARCH_BCM_MOBILE |
| 102 | select HAVE_SMP |
| 103 | help |
| 104 | Enable support for the BCM281XX family, which includes |
| 105 | BCM11130, BCM11140, BCM11351, BCM28145 and BCM28155 |
| 106 | variants. |
| 107 | |
| 108 | config ARCH_BCM_21664 |
| 109 | bool "Broadcom BCM21664 SoC family" |
| 110 | depends on ARCH_MULTI_V7 |
| 111 | select ARCH_BCM_MOBILE |
| 112 | select HAVE_SMP |
| 113 | help |
| 114 | Enable support for the BCM21664 family, which includes |
| 115 | BCM21663 and BCM21664 variants. |
| 116 | |
| 117 | config ARCH_BCM_23550 |
| 118 | bool "Broadcom BCM23550 SoC" |
| 119 | depends on ARCH_MULTI_V7 |
| 120 | select ARCH_BCM_MOBILE |
| 121 | select HAVE_SMP |
| 122 | help |
| 123 | Enable support for the BCM23550. |
| 124 | |
| 125 | config ARCH_BCM_MOBILE_L2_CACHE |
| 126 | bool "Broadcom mobile SoC level 2 cache support" |
| 127 | depends on ARCH_BCM_281XX || ARCH_BCM_21664 |
| 128 | default y |
| 129 | select CACHE_L2X0 |
| 130 | select ARCH_BCM_MOBILE_SMC |
| 131 | |
| 132 | config ARCH_BCM_MOBILE_SMC |
| 133 | bool |
| 134 | depends on ARCH_BCM_MOBILE |
| 135 | |
| 136 | config ARCH_BCM_MOBILE_SMP |
| 137 | bool |
| 138 | depends on ARCH_BCM_MOBILE |
| 139 | select HAVE_ARM_SCU |
| 140 | select ARM_ERRATA_764369 |
| 141 | help |
| 142 | SMP support for the BCM281XX, BCM21664 and BCM23550 SoC families. |
| 143 | Provided as an option so SMP support for SoCs of this type |
| 144 | can be disabled for an SMP-enabled kernel. |
| 145 | |
| 146 | comment "Other Architectures" |
| 147 | |
| 148 | config ARCH_BCM2835 |
| 149 | bool "Broadcom BCM2835 family" |
| 150 | depends on ARCH_MULTI_V6 || ARCH_MULTI_V7 |
| 151 | select GPIOLIB |
| 152 | select ARM_AMBA |
| 153 | select ARM_ERRATA_411920 if ARCH_MULTI_V6 |
| 154 | select ARM_TIMER_SP804 |
| 155 | select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 |
| 156 | select TIMER_OF |
| 157 | select BCM2835_TIMER |
| 158 | select PINCTRL |
| 159 | select PINCTRL_BCM2835 |
| 160 | help |
| 161 | This enables support for the Broadcom BCM2835 and BCM2836 SoCs. |
| 162 | This SoC is used in the Raspberry Pi and Roku 2 devices. |
| 163 | |
| 164 | config ARCH_BCM_53573 |
| 165 | bool "Broadcom BCM53573 SoC series support" |
| 166 | depends on ARCH_MULTI_V7 |
| 167 | select ARCH_BCM_IPROC |
| 168 | select HAVE_ARM_ARCH_TIMER |
| 169 | help |
| 170 | BCM53573 series is set of SoCs using ARM Cortex-A7 CPUs with wireless |
| 171 | embedded in the chipset. |
| 172 | This SoC line is mostly used in home routers and is some cheaper |
| 173 | alternative for Northstar family. |
| 174 | |
| 175 | The base chip is BCM53573 and there are some packaging modifications |
| 176 | like BCM47189 and BCM47452. |
| 177 | |
| 178 | config ARCH_BCM_63XX |
| 179 | bool "Broadcom BCM63xx DSL SoC" |
| 180 | depends on ARCH_MULTI_V7 |
| 181 | depends on MMU |
| 182 | select ARM_ERRATA_754322 |
| 183 | select ARM_ERRATA_764369 if SMP |
| 184 | select ARM_GIC |
| 185 | select ARM_GLOBAL_TIMER |
| 186 | select CACHE_L2X0 |
| 187 | select HAVE_ARM_ARCH_TIMER |
| 188 | select HAVE_ARM_TWD if SMP |
| 189 | select HAVE_ARM_SCU if SMP |
| 190 | select HAVE_SMP |
| 191 | help |
| 192 | This enables support for systems based on Broadcom DSL SoCs. |
| 193 | It currently supports the 'BCM63XX' ARM-based family, which includes |
| 194 | the BCM63138 variant. |
| 195 | |
| 196 | config ARCH_BRCMSTB |
| 197 | bool "Broadcom BCM7XXX based boards" |
| 198 | depends on ARCH_MULTI_V7 |
| 199 | select ARM_GIC |
| 200 | select ARM_ERRATA_798181 if SMP |
| 201 | select HAVE_ARM_ARCH_TIMER |
| 202 | select BRCMSTB_L2_IRQ |
| 203 | select BCM7120_L2_IRQ |
| 204 | select ARCH_HAS_HOLES_MEMORYMODEL |
| 205 | select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE |
| 206 | select ZONE_DMA if ARM_LPAE |
| 207 | select SOC_BRCMSTB |
| 208 | select SOC_BUS |
| 209 | help |
| 210 | Say Y if you intend to run the kernel on a Broadcom ARM-based STB |
| 211 | chipset. |
| 212 | |
| 213 | This enables support for Broadcom ARM-based set-top box chipsets, |
| 214 | including the 7445 family of chips. |
| 215 | |
| 216 | endif |