1# SPDX-License-Identifier: GPL-2.0 2config ARCH_VERSATILE 3 bool "ARM Ltd. Versatile family" 4 depends on ARCH_MULTI_V5 5 depends on CPU_LITTLE_ENDIAN 6 select ARM_AMBA 7 select ARM_TIMER_SP804 8 select ARM_VIC 9 select CLKSRC_VERSATILE 10 select CPU_ARM926T 11 select CLK_ICST 12 select MFD_SYSCON 13 select PLAT_VERSATILE 14 select POWER_RESET 15 select POWER_RESET_VERSATILE 16 select VERSATILE_FPGA_IRQ 17 help 18 This enables support for ARM Ltd Versatile board. 19 20menuconfig ARCH_INTEGRATOR 21 bool "ARM Ltd. Integrator family" 22 depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6 23 depends on CPU_LITTLE_ENDIAN || ARCH_MULTI_V6 24 select ARM_AMBA 25 select CMA 26 select DMA_CMA 27 select HAVE_TCM 28 select CLK_ICST 29 select MFD_SYSCON 30 select PLAT_VERSATILE 31 select POWER_RESET 32 select POWER_RESET_VERSATILE 33 select POWER_SUPPLY 34 select SOC_INTEGRATOR_CM 35 select VERSATILE_FPGA_IRQ 36 help 37 Support for ARM's Integrator platform. 38 39if ARCH_INTEGRATOR 40 41config ARCH_INTEGRATOR_AP 42 bool "Support Integrator/AP and Integrator/PP2 platforms" 43 select INTEGRATOR_AP_TIMER 44 select SERIAL_AMBA_PL010 if TTY 45 select SERIAL_AMBA_PL010_CONSOLE if TTY 46 select SOC_BUS 47 help 48 Include support for the ARM(R) Integrator/AP and 49 Integrator/PP2 platforms. 50 51config INTEGRATOR_IMPD1 52 bool "Include support for Integrator/IM-PD1" 53 depends on ARCH_INTEGRATOR_AP 54 select ARM_VIC 55 select GPIO_PL061 56 select GPIOLIB 57 select REGULATOR 58 select REGULATOR_FIXED_VOLTAGE 59 help 60 The IM-PD1 is an add-on logic module for the Integrator which 61 allows ARM(R) Ltd PrimeCells to be developed and evaluated. 62 The IM-PD1 can be found on the Integrator/PP2 platform. 63 64config INTEGRATOR_CM720T 65 bool "Integrator/CM720T core module" 66 depends on ARCH_INTEGRATOR_AP 67 depends on ARCH_MULTI_V4T 68 select CPU_ARM720T 69 70config INTEGRATOR_CM920T 71 bool "Integrator/CM920T core module" 72 depends on ARCH_INTEGRATOR_AP 73 depends on ARCH_MULTI_V4T 74 select CPU_ARM920T 75 76config INTEGRATOR_CM922T_XA10 77 bool "Integrator/CM922T-XA10 core module" 78 depends on ARCH_MULTI_V4T 79 depends on ARCH_INTEGRATOR_AP 80 select CPU_ARM922T 81 82config INTEGRATOR_CM926EJS 83 bool "Integrator/CM926EJ-S core module" 84 depends on ARCH_INTEGRATOR_AP 85 depends on ARCH_MULTI_V5 86 select CPU_ARM926T 87 88config INTEGRATOR_CM10200E_REV0 89 bool "Integrator/CM10200E rev.0 core module" 90 depends on ARCH_INTEGRATOR_AP && n 91 depends on ARCH_MULTI_V5 92 select CPU_ARM1020 93 94config INTEGRATOR_CM10200E 95 bool "Integrator/CM10200E core module" 96 depends on ARCH_INTEGRATOR_AP && n 97 depends on ARCH_MULTI_V5 98 select CPU_ARM1020E 99 100config INTEGRATOR_CM10220E 101 bool "Integrator/CM10220E core module" 102 depends on ARCH_INTEGRATOR_AP 103 depends on ARCH_MULTI_V5 104 select CPU_ARM1022 105 106config INTEGRATOR_CM1026EJS 107 bool "Integrator/CM1026EJ-S core module" 108 depends on ARCH_INTEGRATOR_AP 109 depends on ARCH_MULTI_V5 110 select CPU_ARM1026 111 112config INTEGRATOR_CM1136JFS 113 bool "Integrator/CM1136JF-S core module" 114 depends on ARCH_INTEGRATOR_AP 115 depends on ARCH_MULTI_V6 116 select CPU_V6 117 118config ARCH_INTEGRATOR_CP 119 bool "Support Integrator/CP platform" 120 depends on ARCH_MULTI_V5 || ARCH_MULTI_V6 121 select ARM_TIMER_SP804 122 select SERIAL_AMBA_PL011 if TTY 123 select SERIAL_AMBA_PL011_CONSOLE if TTY 124 select SOC_BUS 125 help 126 Include support for the ARM(R) Integrator CP platform. 127 128config INTEGRATOR_CT926 129 bool "Integrator/CT926 (ARM926EJ-S) core tile" 130 depends on ARCH_INTEGRATOR_CP 131 depends on ARCH_MULTI_V5 132 select CPU_ARM926T 133 134config INTEGRATOR_CTB36 135 bool "Integrator/CTB36 (ARM1136JF-S) core tile" 136 depends on ARCH_INTEGRATOR_CP 137 depends on ARCH_MULTI_V6 138 select CPU_V6 139 140config ARCH_CINTEGRATOR 141 depends on ARCH_INTEGRATOR_CP 142 def_bool y 143 144endif 145 146menuconfig ARCH_REALVIEW 147 bool "ARM Ltd. RealView family" 148 depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7 149 select ARM_AMBA 150 select ARM_GIC 151 select ARM_TIMER_SP804 152 select CLK_SP810 153 select GPIO_PL061 if GPIOLIB 154 select HAVE_ARM_SCU if SMP 155 select HAVE_ARM_TWD if SMP 156 select HAVE_PATA_PLATFORM 157 select HAVE_TCM 158 select CLK_ICST 159 select MACH_REALVIEW_EB if ARCH_MULTI_V5 160 select MFD_SYSCON 161 select PLAT_VERSATILE 162 select POWER_RESET 163 select POWER_RESET_VERSATILE 164 select POWER_SUPPLY 165 select SOC_REALVIEW 166 help 167 This enables support for ARM Ltd RealView boards. 168 169if ARCH_REALVIEW 170 171config MACH_REALVIEW_EB 172 bool "Support RealView(R) Emulation Baseboard" 173 select ARM_GIC 174 select CPU_ARM926T if ARCH_MULTI_V5 175 help 176 Include support for the ARM(R) RealView(R) Emulation Baseboard 177 platform. On an ARMv5 kernel, this will include support for 178 the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least 179 one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore 180 core tile options should be enabled. 181 182config REALVIEW_EB_ARM1136 183 bool "Support ARM1136J(F)-S Tile" 184 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 185 select CPU_V6 186 help 187 Enable support for the ARM1136 tile fitted to the 188 Realview(R) Emulation Baseboard platform. 189 190config REALVIEW_EB_ARM1176 191 bool "Support ARM1176JZ(F)-S Tile" 192 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 193 help 194 Enable support for the ARM1176 tile fitted to the 195 Realview(R) Emulation Baseboard platform. 196 197config REALVIEW_EB_A9MP 198 bool "Support Multicore Cortex-A9 Tile" 199 depends on MACH_REALVIEW_EB && ARCH_MULTI_V7 200 help 201 Enable support for the Cortex-A9MPCore tile fitted to the 202 Realview(R) Emulation Baseboard platform. 203 204# ARMv6 CPU without K extensions, but does have the new exclusive ops 205config MACH_REALVIEW_PB1176 206 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" 207 depends on ARCH_MULTI_V6 208 select CPU_V6 209 select HAVE_TCM 210 help 211 Include support for the ARM(R) RealView(R) Platform Baseboard for 212 ARM1176JZF-S. 213 214config MACH_REALVIEW_PBA8 215 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" 216 depends on ARCH_MULTI_V7 217 help 218 Include support for the ARM(R) RealView Platform Baseboard for 219 Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has 220 support for PCI-E and Compact Flash. 221 222config MACH_REALVIEW_PBX 223 bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9" 224 depends on ARCH_MULTI_V7 225 select ZONE_DMA 226 help 227 Include support for the ARM(R) RealView(R) Platform Baseboard 228 Explore. 229 230endif 231 232menuconfig ARCH_VEXPRESS 233 bool "ARM Ltd. Versatile Express family" 234 depends on ARCH_MULTI_V7 235 select ARM_AMBA 236 select ARM_GIC 237 select ARM_GLOBAL_TIMER 238 select ARM_TIMER_SP804 239 select GPIOLIB 240 select HAVE_ARM_SCU if SMP 241 select HAVE_ARM_TWD if SMP 242 select CLK_ICST 243 select NO_IOPORT_MAP 244 select PLAT_VERSATILE 245 select POWER_RESET 246 select POWER_RESET_VEXPRESS 247 select POWER_SUPPLY 248 select REGULATOR if MMC_ARMMMCI 249 select REGULATOR_FIXED_VOLTAGE if REGULATOR 250 select VEXPRESS_CONFIG 251 help 252 This option enables support for systems using Cortex processor based 253 ARM core and logic (FPGA) tiles on the Versatile Express motherboard, 254 for example: 255 256 - CoreTile Express A5x2 (V2P-CA5s) 257 - CoreTile Express A9x4 (V2P-CA9) 258 - CoreTile Express A15x2 (V2P-CA15) 259 - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs 260 (Soft Macrocell Models) 261 - Versatile Express RTSMs (Models) 262 263 You must boot using a Flattened Device Tree in order to use these 264 platforms. The traditional (ATAGs) boot method is not usable on 265 these boards with this option. 266 267if ARCH_VEXPRESS 268 269config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA 270 bool "Enable A5 and A9 only errata work-arounds" 271 default y 272 select ARM_ERRATA_643719 if SMP 273 select ARM_ERRATA_720789 274 select PL310_ERRATA_753970 if CACHE_L2X0 275 help 276 Provides common dependencies for Versatile Express platforms 277 based on Cortex-A5 and Cortex-A9 processors. In order to 278 build a working kernel, you must also enable relevant core 279 tile support or Flattened Device Tree based support options. 280 281config ARCH_VEXPRESS_DCSCB 282 bool "Dual Cluster System Control Block (DCSCB) support" 283 depends on MCPM 284 select ARM_CCI400_PORT_CTRL 285 help 286 Support for the Dual Cluster System Configuration Block (DCSCB). 287 This is needed to provide CPU and cluster power management 288 on RTSM implementing big.LITTLE. 289 290config ARCH_VEXPRESS_SPC 291 bool "Versatile Express Serial Power Controller (SPC)" 292 select PM_OPP 293 help 294 The TC2 (A15x2 A7x3) versatile express core tile integrates a logic 295 block called Serial Power Controller (SPC) that provides the interface 296 between the dual cluster test-chip and the M3 microcontroller that 297 carries out power management. 298 299config ARCH_VEXPRESS_TC2_PM 300 bool "Versatile Express TC2 power management" 301 depends on MCPM 302 select ARM_CCI400_PORT_CTRL 303 select ARCH_VEXPRESS_SPC 304 select ARM_CPU_SUSPEND 305 help 306 Support for CPU and cluster power management on Versatile Express 307 with a TC2 (A15x2 A7x3) big.LITTLE core tile. 308 309endif 310