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 204config REALVIEW_EB_ARM11MP 205 bool "Support ARM11MPCore Tile" 206 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 207 select HAVE_SMP 208 help 209 Enable support for the ARM11MPCore tile fitted to the Realview(R) 210 Emulation Baseboard platform. 211 212config MACH_REALVIEW_PB11MP 213 bool "Support RealView(R) Platform Baseboard for ARM11MPCore" 214 depends on ARCH_MULTI_V6 215 select HAVE_SMP 216 help 217 Include support for the ARM(R) RealView(R) Platform Baseboard for 218 the ARM11MPCore. This platform has an on-board ARM11MPCore and has 219 support for PCI-E and Compact Flash. 220 221# ARMv6 CPU without K extensions, but does have the new exclusive ops 222config MACH_REALVIEW_PB1176 223 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" 224 depends on ARCH_MULTI_V6 225 select CPU_V6 226 select HAVE_TCM 227 help 228 Include support for the ARM(R) RealView(R) Platform Baseboard for 229 ARM1176JZF-S. 230 231config MACH_REALVIEW_PBA8 232 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" 233 depends on ARCH_MULTI_V7 234 help 235 Include support for the ARM(R) RealView Platform Baseboard for 236 Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has 237 support for PCI-E and Compact Flash. 238 239config MACH_REALVIEW_PBX 240 bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9" 241 depends on ARCH_MULTI_V7 242 select ZONE_DMA 243 help 244 Include support for the ARM(R) RealView(R) Platform Baseboard 245 Explore. 246 247endif 248 249menuconfig ARCH_VEXPRESS 250 bool "ARM Ltd. Versatile Express family" 251 depends on ARCH_MULTI_V7 252 select ARM_AMBA 253 select ARM_GIC 254 select ARM_GLOBAL_TIMER 255 select ARM_TIMER_SP804 256 select GPIOLIB 257 select HAVE_ARM_SCU if SMP 258 select HAVE_ARM_TWD if SMP 259 select CLK_ICST 260 select NO_IOPORT_MAP 261 select PLAT_VERSATILE 262 select POWER_RESET 263 select POWER_RESET_VEXPRESS 264 select POWER_SUPPLY 265 select REGULATOR if MMC_ARMMMCI 266 select REGULATOR_FIXED_VOLTAGE if REGULATOR 267 select VEXPRESS_CONFIG 268 help 269 This option enables support for systems using Cortex processor based 270 ARM core and logic (FPGA) tiles on the Versatile Express motherboard, 271 for example: 272 273 - CoreTile Express A5x2 (V2P-CA5s) 274 - CoreTile Express A9x4 (V2P-CA9) 275 - CoreTile Express A15x2 (V2P-CA15) 276 - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs 277 (Soft Macrocell Models) 278 - Versatile Express RTSMs (Models) 279 280 You must boot using a Flattened Device Tree in order to use these 281 platforms. The traditional (ATAGs) boot method is not usable on 282 these boards with this option. 283 284if ARCH_VEXPRESS 285 286config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA 287 bool "Enable A5 and A9 only errata work-arounds" 288 default y 289 select ARM_ERRATA_643719 if SMP 290 select ARM_ERRATA_720789 291 select PL310_ERRATA_753970 if CACHE_L2X0 292 help 293 Provides common dependencies for Versatile Express platforms 294 based on Cortex-A5 and Cortex-A9 processors. In order to 295 build a working kernel, you must also enable relevant core 296 tile support or Flattened Device Tree based support options. 297 298config ARCH_VEXPRESS_DCSCB 299 bool "Dual Cluster System Control Block (DCSCB) support" 300 depends on MCPM 301 select ARM_CCI400_PORT_CTRL 302 help 303 Support for the Dual Cluster System Configuration Block (DCSCB). 304 This is needed to provide CPU and cluster power management 305 on RTSM implementing big.LITTLE. 306 307config ARCH_VEXPRESS_SPC 308 bool "Versatile Express Serial Power Controller (SPC)" 309 select PM_OPP 310 help 311 The TC2 (A15x2 A7x3) versatile express core tile integrates a logic 312 block called Serial Power Controller (SPC) that provides the interface 313 between the dual cluster test-chip and the M3 microcontroller that 314 carries out power management. 315 316config ARCH_VEXPRESS_TC2_PM 317 bool "Versatile Express TC2 power management" 318 depends on MCPM 319 select ARM_CCI400_PORT_CTRL 320 select ARCH_VEXPRESS_SPC 321 select ARM_CPU_SUSPEND 322 help 323 Support for CPU and cluster power management on Versatile Express 324 with a TC2 (A15x2 A7x3) big.LITTLE core tile. 325 326endif 327