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_SPC 282 bool "Versatile Express Serial Power Controller (SPC)" 283 select PM_OPP 284 help 285 The TC2 (A15x2 A7x3) versatile express core tile integrates a logic 286 block called Serial Power Controller (SPC) that provides the interface 287 between the dual cluster test-chip and the M3 microcontroller that 288 carries out power management. 289 290config ARCH_VEXPRESS_TC2_PM 291 bool "Versatile Express TC2 power management" 292 depends on MCPM 293 select ARM_CCI400_PORT_CTRL 294 select ARCH_VEXPRESS_SPC 295 select ARM_CPU_SUSPEND 296 help 297 Support for CPU and cluster power management on Versatile Express 298 with a TC2 (A15x2 A7x3) big.LITTLE core tile. 299 300endif 301