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