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