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 (DEPRECATED)" 114 depends on ARCH_INTEGRATOR_AP 115 depends on ARCH_MULTI_V6 116 depends on !SMP 117 select CPU_ARM1136R0 118 help 119 This machine is scheduled for removal in early 2027, 120 since it uses the ARM1136r0 CPU revision. 121 122config ARCH_INTEGRATOR_CP 123 bool "Support Integrator/CP platform" 124 depends on ARCH_MULTI_V5 || ARCH_MULTI_V6 125 select ARM_TIMER_SP804 126 select SERIAL_AMBA_PL011 if TTY 127 select SERIAL_AMBA_PL011_CONSOLE if TTY 128 select SOC_BUS 129 help 130 Include support for the ARM(R) Integrator CP platform. 131 132config INTEGRATOR_CT926 133 bool "Integrator/CT926 (ARM926EJ-S) core tile" 134 depends on ARCH_INTEGRATOR_CP 135 depends on ARCH_MULTI_V5 136 select CPU_ARM926T 137 138config INTEGRATOR_CTB36 139 bool "Integrator/CTB36 (ARM1136JF-S) core tile" 140 depends on ARCH_INTEGRATOR_CP 141 depends on ARCH_MULTI_V6 142 select CPU_ARM1136R1 143 144config ARCH_CINTEGRATOR 145 depends on ARCH_INTEGRATOR_CP 146 def_bool y 147 148endif 149 150menuconfig ARCH_REALVIEW 151 bool "ARM Ltd. RealView family" 152 depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7 153 select ARM_AMBA 154 select ARM_GIC 155 select ARM_TIMER_SP804 156 select CLK_SP810 157 select GPIO_PL061 if GPIOLIB 158 select HAVE_ARM_SCU if SMP 159 select HAVE_ARM_TWD if SMP 160 select HAVE_PATA_PLATFORM 161 select HAVE_TCM 162 select CLK_ICST 163 select MACH_REALVIEW_EB if ARCH_MULTI_V5 164 select MFD_SYSCON 165 select PLAT_VERSATILE 166 select POWER_RESET 167 select POWER_RESET_VERSATILE 168 select POWER_SUPPLY 169 select SOC_REALVIEW 170 help 171 This enables support for ARM Ltd RealView boards. 172 173if ARCH_REALVIEW 174 175config MACH_REALVIEW_EB 176 bool "Support RealView(R) Emulation Baseboard" 177 select ARM_GIC 178 select CPU_ARM926T if ARCH_MULTI_V5 179 help 180 Include support for the ARM(R) RealView(R) Emulation Baseboard 181 platform. On an ARMv5 kernel, this will include support for 182 the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least 183 one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore 184 core tile options should be enabled. 185 186config REALVIEW_EB_ARM1136 187 bool "Support ARM1136J(F)-S Tile" 188 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 189 select CPU_ARM1136R1 190 help 191 Enable support for the ARM1136 tile fitted to the 192 Realview(R) Emulation Baseboard platform. 193 194config REALVIEW_EB_ARM1176 195 bool "Support ARM1176JZ(F)-S Tile" 196 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 197 help 198 Enable support for the ARM1176 tile fitted to the 199 Realview(R) Emulation Baseboard platform. 200 201config REALVIEW_EB_A9MP 202 bool "Support Multicore Cortex-A9 Tile" 203 depends on MACH_REALVIEW_EB && ARCH_MULTI_V7 204 help 205 Enable support for the Cortex-A9MPCore tile fitted to the 206 Realview(R) Emulation Baseboard platform. 207 208config MACH_REALVIEW_PB1176 209 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" 210 depends on ARCH_MULTI_V6 211 select CPU_ARM1176 212 select HAVE_TCM 213 help 214 Include support for the ARM(R) RealView(R) Platform Baseboard for 215 ARM1176JZF-S. 216 217config MACH_REALVIEW_PBA8 218 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" 219 depends on ARCH_MULTI_V7 220 help 221 Include support for the ARM(R) RealView Platform Baseboard for 222 Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has 223 support for PCI-E and Compact Flash. 224 225config MACH_REALVIEW_PBX 226 bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9" 227 depends on ARCH_MULTI_V7 228 select ZONE_DMA 229 help 230 Include support for the ARM(R) RealView(R) Platform Baseboard 231 Explore. 232 233endif 234 235menuconfig ARCH_VEXPRESS 236 bool "ARM Ltd. Versatile Express family" 237 depends on ARCH_MULTI_V7 238 select ARM_AMBA 239 select ARM_GIC 240 select ARM_GLOBAL_TIMER 241 select ARM_TIMER_SP804 242 select GPIOLIB 243 select HAVE_ARM_SCU if SMP 244 select HAVE_ARM_TWD if SMP 245 select CLK_ICST 246 select NO_IOPORT_MAP 247 select PLAT_VERSATILE 248 select POWER_RESET 249 select POWER_RESET_VEXPRESS 250 select POWER_SUPPLY 251 select REGULATOR if MMC_ARMMMCI 252 select REGULATOR_FIXED_VOLTAGE if REGULATOR 253 select VEXPRESS_CONFIG 254 help 255 This option enables support for systems using Cortex processor based 256 ARM core and logic (FPGA) tiles on the Versatile Express motherboard, 257 for example: 258 259 - CoreTile Express A5x2 (V2P-CA5s) 260 - CoreTile Express A9x4 (V2P-CA9) 261 - CoreTile Express A15x2 (V2P-CA15) 262 - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs 263 (Soft Macrocell Models) 264 - Versatile Express RTSMs (Models) 265 266 You must boot using a Flattened Device Tree in order to use these 267 platforms. The traditional (ATAGs) boot method is not usable on 268 these boards with this option. 269 270if ARCH_VEXPRESS 271 272config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA 273 bool "Enable A5 and A9 only errata work-arounds" 274 default y 275 select ARM_ERRATA_643719 if SMP 276 select ARM_ERRATA_720789 277 select PL310_ERRATA_753970 if CACHE_L2X0 278 help 279 Provides common dependencies for Versatile Express platforms 280 based on Cortex-A5 and Cortex-A9 processors. In order to 281 build a working kernel, you must also enable relevant core 282 tile support or Flattened Device Tree based support options. 283 284config ARCH_VEXPRESS_SPC 285 bool "Versatile Express Serial Power Controller (SPC)" 286 select PM_OPP 287 help 288 The TC2 (A15x2 A7x3) versatile express core tile integrates a logic 289 block called Serial Power Controller (SPC) that provides the interface 290 between the dual cluster test-chip and the M3 microcontroller that 291 carries out power management. 292 293config ARCH_VEXPRESS_TC2_PM 294 bool "Versatile Express TC2 power management" 295 depends on MCPM 296 select ARM_CCI400_PORT_CTRL 297 select ARCH_VEXPRESS_SPC 298 select ARM_CPU_SUSPEND 299 help 300 Support for CPU and cluster power management on Versatile Express 301 with a TC2 (A15x2 A7x3) big.LITTLE core tile. 302 303endif 304