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 HAVE_PATA_PLATFORM 260 select CLK_ICST 261 select NO_IOPORT_MAP 262 select PLAT_VERSATILE 263 select POWER_RESET 264 select POWER_RESET_VEXPRESS 265 select POWER_SUPPLY 266 select REGULATOR if MMC_ARMMMCI 267 select REGULATOR_FIXED_VOLTAGE if REGULATOR 268 select VEXPRESS_CONFIG 269 help 270 This option enables support for systems using Cortex processor based 271 ARM core and logic (FPGA) tiles on the Versatile Express motherboard, 272 for example: 273 274 - CoreTile Express A5x2 (V2P-CA5s) 275 - CoreTile Express A9x4 (V2P-CA9) 276 - CoreTile Express A15x2 (V2P-CA15) 277 - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs 278 (Soft Macrocell Models) 279 - Versatile Express RTSMs (Models) 280 281 You must boot using a Flattened Device Tree in order to use these 282 platforms. The traditional (ATAGs) boot method is not usable on 283 these boards with this option. 284 285if ARCH_VEXPRESS 286 287config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA 288 bool "Enable A5 and A9 only errata work-arounds" 289 default y 290 select ARM_ERRATA_643719 if SMP 291 select ARM_ERRATA_720789 292 select PL310_ERRATA_753970 if CACHE_L2X0 293 help 294 Provides common dependencies for Versatile Express platforms 295 based on Cortex-A5 and Cortex-A9 processors. In order to 296 build a working kernel, you must also enable relevant core 297 tile support or Flattened Device Tree based support options. 298 299config ARCH_VEXPRESS_DCSCB 300 bool "Dual Cluster System Control Block (DCSCB) support" 301 depends on MCPM 302 select ARM_CCI400_PORT_CTRL 303 help 304 Support for the Dual Cluster System Configuration Block (DCSCB). 305 This is needed to provide CPU and cluster power management 306 on RTSM implementing big.LITTLE. 307 308config ARCH_VEXPRESS_SPC 309 bool "Versatile Express Serial Power Controller (SPC)" 310 select PM_OPP 311 help 312 The TC2 (A15x2 A7x3) versatile express core tile integrates a logic 313 block called Serial Power Controller (SPC) that provides the interface 314 between the dual cluster test-chip and the M3 microcontroller that 315 carries out power management. 316 317config ARCH_VEXPRESS_TC2_PM 318 bool "Versatile Express TC2 power management" 319 depends on MCPM 320 select ARM_CCI400_PORT_CTRL 321 select ARCH_VEXPRESS_SPC 322 select ARM_CPU_SUSPEND 323 help 324 Support for CPU and cluster power management on Versatile Express 325 with a TC2 (A15x2 A7x3) big.LITTLE core tile. 326 327endif 328