162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ciconfig ARCH_VERSATILE 362306a36Sopenharmony_ci bool "ARM Ltd. Versatile family" 462306a36Sopenharmony_ci depends on ARCH_MULTI_V5 562306a36Sopenharmony_ci depends on CPU_LITTLE_ENDIAN 662306a36Sopenharmony_ci select ARM_AMBA 762306a36Sopenharmony_ci select ARM_TIMER_SP804 862306a36Sopenharmony_ci select ARM_VIC 962306a36Sopenharmony_ci select CLKSRC_VERSATILE 1062306a36Sopenharmony_ci select CPU_ARM926T 1162306a36Sopenharmony_ci select CLK_ICST 1262306a36Sopenharmony_ci select MFD_SYSCON 1362306a36Sopenharmony_ci select PLAT_VERSATILE 1462306a36Sopenharmony_ci select POWER_RESET 1562306a36Sopenharmony_ci select POWER_RESET_VERSATILE 1662306a36Sopenharmony_ci select VERSATILE_FPGA_IRQ 1762306a36Sopenharmony_ci help 1862306a36Sopenharmony_ci This enables support for ARM Ltd Versatile board. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cimenuconfig ARCH_INTEGRATOR 2162306a36Sopenharmony_ci bool "ARM Ltd. Integrator family" 2262306a36Sopenharmony_ci depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6 2362306a36Sopenharmony_ci depends on CPU_LITTLE_ENDIAN || ARCH_MULTI_V6 2462306a36Sopenharmony_ci select ARM_AMBA 2562306a36Sopenharmony_ci select CMA 2662306a36Sopenharmony_ci select DMA_CMA 2762306a36Sopenharmony_ci select HAVE_TCM 2862306a36Sopenharmony_ci select CLK_ICST 2962306a36Sopenharmony_ci select MFD_SYSCON 3062306a36Sopenharmony_ci select PLAT_VERSATILE 3162306a36Sopenharmony_ci select POWER_RESET 3262306a36Sopenharmony_ci select POWER_RESET_VERSATILE 3362306a36Sopenharmony_ci select POWER_SUPPLY 3462306a36Sopenharmony_ci select SOC_INTEGRATOR_CM 3562306a36Sopenharmony_ci select VERSATILE_FPGA_IRQ 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci Support for ARM's Integrator platform. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciif ARCH_INTEGRATOR 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig ARCH_INTEGRATOR_AP 4262306a36Sopenharmony_ci bool "Support Integrator/AP and Integrator/PP2 platforms" 4362306a36Sopenharmony_ci select INTEGRATOR_AP_TIMER 4462306a36Sopenharmony_ci select SERIAL_AMBA_PL010 if TTY 4562306a36Sopenharmony_ci select SERIAL_AMBA_PL010_CONSOLE if TTY 4662306a36Sopenharmony_ci select SOC_BUS 4762306a36Sopenharmony_ci help 4862306a36Sopenharmony_ci Include support for the ARM(R) Integrator/AP and 4962306a36Sopenharmony_ci Integrator/PP2 platforms. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ciconfig INTEGRATOR_IMPD1 5262306a36Sopenharmony_ci bool "Include support for Integrator/IM-PD1" 5362306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 5462306a36Sopenharmony_ci select ARM_VIC 5562306a36Sopenharmony_ci select GPIO_PL061 5662306a36Sopenharmony_ci select GPIOLIB 5762306a36Sopenharmony_ci select REGULATOR 5862306a36Sopenharmony_ci select REGULATOR_FIXED_VOLTAGE 5962306a36Sopenharmony_ci help 6062306a36Sopenharmony_ci The IM-PD1 is an add-on logic module for the Integrator which 6162306a36Sopenharmony_ci allows ARM(R) Ltd PrimeCells to be developed and evaluated. 6262306a36Sopenharmony_ci The IM-PD1 can be found on the Integrator/PP2 platform. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciconfig INTEGRATOR_CM720T 6562306a36Sopenharmony_ci bool "Integrator/CM720T core module" 6662306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 6762306a36Sopenharmony_ci depends on ARCH_MULTI_V4T 6862306a36Sopenharmony_ci select CPU_ARM720T 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciconfig INTEGRATOR_CM920T 7162306a36Sopenharmony_ci bool "Integrator/CM920T core module" 7262306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 7362306a36Sopenharmony_ci depends on ARCH_MULTI_V4T 7462306a36Sopenharmony_ci select CPU_ARM920T 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciconfig INTEGRATOR_CM922T_XA10 7762306a36Sopenharmony_ci bool "Integrator/CM922T-XA10 core module" 7862306a36Sopenharmony_ci depends on ARCH_MULTI_V4T 7962306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 8062306a36Sopenharmony_ci select CPU_ARM922T 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ciconfig INTEGRATOR_CM926EJS 8362306a36Sopenharmony_ci bool "Integrator/CM926EJ-S core module" 8462306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 8562306a36Sopenharmony_ci depends on ARCH_MULTI_V5 8662306a36Sopenharmony_ci select CPU_ARM926T 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig INTEGRATOR_CM10200E_REV0 8962306a36Sopenharmony_ci bool "Integrator/CM10200E rev.0 core module" 9062306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP && n 9162306a36Sopenharmony_ci depends on ARCH_MULTI_V5 9262306a36Sopenharmony_ci select CPU_ARM1020 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciconfig INTEGRATOR_CM10200E 9562306a36Sopenharmony_ci bool "Integrator/CM10200E core module" 9662306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP && n 9762306a36Sopenharmony_ci depends on ARCH_MULTI_V5 9862306a36Sopenharmony_ci select CPU_ARM1020E 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciconfig INTEGRATOR_CM10220E 10162306a36Sopenharmony_ci bool "Integrator/CM10220E core module" 10262306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 10362306a36Sopenharmony_ci depends on ARCH_MULTI_V5 10462306a36Sopenharmony_ci select CPU_ARM1022 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ciconfig INTEGRATOR_CM1026EJS 10762306a36Sopenharmony_ci bool "Integrator/CM1026EJ-S core module" 10862306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 10962306a36Sopenharmony_ci depends on ARCH_MULTI_V5 11062306a36Sopenharmony_ci select CPU_ARM1026 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciconfig INTEGRATOR_CM1136JFS 11362306a36Sopenharmony_ci bool "Integrator/CM1136JF-S core module" 11462306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_AP 11562306a36Sopenharmony_ci depends on ARCH_MULTI_V6 11662306a36Sopenharmony_ci select CPU_V6 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ciconfig ARCH_INTEGRATOR_CP 11962306a36Sopenharmony_ci bool "Support Integrator/CP platform" 12062306a36Sopenharmony_ci depends on ARCH_MULTI_V5 || ARCH_MULTI_V6 12162306a36Sopenharmony_ci select ARM_TIMER_SP804 12262306a36Sopenharmony_ci select SERIAL_AMBA_PL011 if TTY 12362306a36Sopenharmony_ci select SERIAL_AMBA_PL011_CONSOLE if TTY 12462306a36Sopenharmony_ci select SOC_BUS 12562306a36Sopenharmony_ci help 12662306a36Sopenharmony_ci Include support for the ARM(R) Integrator CP platform. 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ciconfig INTEGRATOR_CT926 12962306a36Sopenharmony_ci bool "Integrator/CT926 (ARM926EJ-S) core tile" 13062306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_CP 13162306a36Sopenharmony_ci depends on ARCH_MULTI_V5 13262306a36Sopenharmony_ci select CPU_ARM926T 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciconfig INTEGRATOR_CTB36 13562306a36Sopenharmony_ci bool "Integrator/CTB36 (ARM1136JF-S) core tile" 13662306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_CP 13762306a36Sopenharmony_ci depends on ARCH_MULTI_V6 13862306a36Sopenharmony_ci select CPU_V6 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ciconfig ARCH_CINTEGRATOR 14162306a36Sopenharmony_ci depends on ARCH_INTEGRATOR_CP 14262306a36Sopenharmony_ci def_bool y 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciendif 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_cimenuconfig ARCH_REALVIEW 14762306a36Sopenharmony_ci bool "ARM Ltd. RealView family" 14862306a36Sopenharmony_ci depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7 14962306a36Sopenharmony_ci select ARM_AMBA 15062306a36Sopenharmony_ci select ARM_GIC 15162306a36Sopenharmony_ci select ARM_TIMER_SP804 15262306a36Sopenharmony_ci select CLK_SP810 15362306a36Sopenharmony_ci select GPIO_PL061 if GPIOLIB 15462306a36Sopenharmony_ci select HAVE_ARM_SCU if SMP 15562306a36Sopenharmony_ci select HAVE_ARM_TWD if SMP 15662306a36Sopenharmony_ci select HAVE_PATA_PLATFORM 15762306a36Sopenharmony_ci select HAVE_TCM 15862306a36Sopenharmony_ci select CLK_ICST 15962306a36Sopenharmony_ci select MACH_REALVIEW_EB if ARCH_MULTI_V5 16062306a36Sopenharmony_ci select MFD_SYSCON 16162306a36Sopenharmony_ci select PLAT_VERSATILE 16262306a36Sopenharmony_ci select POWER_RESET 16362306a36Sopenharmony_ci select POWER_RESET_VERSATILE 16462306a36Sopenharmony_ci select POWER_SUPPLY 16562306a36Sopenharmony_ci select SOC_REALVIEW 16662306a36Sopenharmony_ci help 16762306a36Sopenharmony_ci This enables support for ARM Ltd RealView boards. 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciif ARCH_REALVIEW 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ciconfig MACH_REALVIEW_EB 17262306a36Sopenharmony_ci bool "Support RealView(R) Emulation Baseboard" 17362306a36Sopenharmony_ci select ARM_GIC 17462306a36Sopenharmony_ci select CPU_ARM926T if ARCH_MULTI_V5 17562306a36Sopenharmony_ci help 17662306a36Sopenharmony_ci Include support for the ARM(R) RealView(R) Emulation Baseboard 17762306a36Sopenharmony_ci platform. On an ARMv5 kernel, this will include support for 17862306a36Sopenharmony_ci the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least 17962306a36Sopenharmony_ci one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore 18062306a36Sopenharmony_ci core tile options should be enabled. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciconfig REALVIEW_EB_ARM1136 18362306a36Sopenharmony_ci bool "Support ARM1136J(F)-S Tile" 18462306a36Sopenharmony_ci depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 18562306a36Sopenharmony_ci select CPU_V6 18662306a36Sopenharmony_ci help 18762306a36Sopenharmony_ci Enable support for the ARM1136 tile fitted to the 18862306a36Sopenharmony_ci Realview(R) Emulation Baseboard platform. 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ciconfig REALVIEW_EB_ARM1176 19162306a36Sopenharmony_ci bool "Support ARM1176JZ(F)-S Tile" 19262306a36Sopenharmony_ci depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 19362306a36Sopenharmony_ci help 19462306a36Sopenharmony_ci Enable support for the ARM1176 tile fitted to the 19562306a36Sopenharmony_ci Realview(R) Emulation Baseboard platform. 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ciconfig REALVIEW_EB_A9MP 19862306a36Sopenharmony_ci bool "Support Multicore Cortex-A9 Tile" 19962306a36Sopenharmony_ci depends on MACH_REALVIEW_EB && ARCH_MULTI_V7 20062306a36Sopenharmony_ci help 20162306a36Sopenharmony_ci Enable support for the Cortex-A9MPCore tile fitted to the 20262306a36Sopenharmony_ci Realview(R) Emulation Baseboard platform. 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ciconfig REALVIEW_EB_ARM11MP 20562306a36Sopenharmony_ci bool "Support ARM11MPCore Tile" 20662306a36Sopenharmony_ci depends on MACH_REALVIEW_EB && ARCH_MULTI_V6 20762306a36Sopenharmony_ci select HAVE_SMP 20862306a36Sopenharmony_ci help 20962306a36Sopenharmony_ci Enable support for the ARM11MPCore tile fitted to the Realview(R) 21062306a36Sopenharmony_ci Emulation Baseboard platform. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciconfig MACH_REALVIEW_PB11MP 21362306a36Sopenharmony_ci bool "Support RealView(R) Platform Baseboard for ARM11MPCore" 21462306a36Sopenharmony_ci depends on ARCH_MULTI_V6 21562306a36Sopenharmony_ci select HAVE_SMP 21662306a36Sopenharmony_ci help 21762306a36Sopenharmony_ci Include support for the ARM(R) RealView(R) Platform Baseboard for 21862306a36Sopenharmony_ci the ARM11MPCore. This platform has an on-board ARM11MPCore and has 21962306a36Sopenharmony_ci support for PCI-E and Compact Flash. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci# ARMv6 CPU without K extensions, but does have the new exclusive ops 22262306a36Sopenharmony_ciconfig MACH_REALVIEW_PB1176 22362306a36Sopenharmony_ci bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" 22462306a36Sopenharmony_ci depends on ARCH_MULTI_V6 22562306a36Sopenharmony_ci select CPU_V6 22662306a36Sopenharmony_ci select HAVE_TCM 22762306a36Sopenharmony_ci help 22862306a36Sopenharmony_ci Include support for the ARM(R) RealView(R) Platform Baseboard for 22962306a36Sopenharmony_ci ARM1176JZF-S. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ciconfig MACH_REALVIEW_PBA8 23262306a36Sopenharmony_ci bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" 23362306a36Sopenharmony_ci depends on ARCH_MULTI_V7 23462306a36Sopenharmony_ci help 23562306a36Sopenharmony_ci Include support for the ARM(R) RealView Platform Baseboard for 23662306a36Sopenharmony_ci Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has 23762306a36Sopenharmony_ci support for PCI-E and Compact Flash. 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ciconfig MACH_REALVIEW_PBX 24062306a36Sopenharmony_ci bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9" 24162306a36Sopenharmony_ci depends on ARCH_MULTI_V7 24262306a36Sopenharmony_ci select ZONE_DMA 24362306a36Sopenharmony_ci help 24462306a36Sopenharmony_ci Include support for the ARM(R) RealView(R) Platform Baseboard 24562306a36Sopenharmony_ci Explore. 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ciendif 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_cimenuconfig ARCH_VEXPRESS 25062306a36Sopenharmony_ci bool "ARM Ltd. Versatile Express family" 25162306a36Sopenharmony_ci depends on ARCH_MULTI_V7 25262306a36Sopenharmony_ci select ARM_AMBA 25362306a36Sopenharmony_ci select ARM_GIC 25462306a36Sopenharmony_ci select ARM_GLOBAL_TIMER 25562306a36Sopenharmony_ci select ARM_TIMER_SP804 25662306a36Sopenharmony_ci select GPIOLIB 25762306a36Sopenharmony_ci select HAVE_ARM_SCU if SMP 25862306a36Sopenharmony_ci select HAVE_ARM_TWD if SMP 25962306a36Sopenharmony_ci select CLK_ICST 26062306a36Sopenharmony_ci select NO_IOPORT_MAP 26162306a36Sopenharmony_ci select PLAT_VERSATILE 26262306a36Sopenharmony_ci select POWER_RESET 26362306a36Sopenharmony_ci select POWER_RESET_VEXPRESS 26462306a36Sopenharmony_ci select POWER_SUPPLY 26562306a36Sopenharmony_ci select REGULATOR if MMC_ARMMMCI 26662306a36Sopenharmony_ci select REGULATOR_FIXED_VOLTAGE if REGULATOR 26762306a36Sopenharmony_ci select VEXPRESS_CONFIG 26862306a36Sopenharmony_ci help 26962306a36Sopenharmony_ci This option enables support for systems using Cortex processor based 27062306a36Sopenharmony_ci ARM core and logic (FPGA) tiles on the Versatile Express motherboard, 27162306a36Sopenharmony_ci for example: 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci - CoreTile Express A5x2 (V2P-CA5s) 27462306a36Sopenharmony_ci - CoreTile Express A9x4 (V2P-CA9) 27562306a36Sopenharmony_ci - CoreTile Express A15x2 (V2P-CA15) 27662306a36Sopenharmony_ci - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs 27762306a36Sopenharmony_ci (Soft Macrocell Models) 27862306a36Sopenharmony_ci - Versatile Express RTSMs (Models) 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci You must boot using a Flattened Device Tree in order to use these 28162306a36Sopenharmony_ci platforms. The traditional (ATAGs) boot method is not usable on 28262306a36Sopenharmony_ci these boards with this option. 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ciif ARCH_VEXPRESS 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ciconfig ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA 28762306a36Sopenharmony_ci bool "Enable A5 and A9 only errata work-arounds" 28862306a36Sopenharmony_ci default y 28962306a36Sopenharmony_ci select ARM_ERRATA_643719 if SMP 29062306a36Sopenharmony_ci select ARM_ERRATA_720789 29162306a36Sopenharmony_ci select PL310_ERRATA_753970 if CACHE_L2X0 29262306a36Sopenharmony_ci help 29362306a36Sopenharmony_ci Provides common dependencies for Versatile Express platforms 29462306a36Sopenharmony_ci based on Cortex-A5 and Cortex-A9 processors. In order to 29562306a36Sopenharmony_ci build a working kernel, you must also enable relevant core 29662306a36Sopenharmony_ci tile support or Flattened Device Tree based support options. 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ciconfig ARCH_VEXPRESS_DCSCB 29962306a36Sopenharmony_ci bool "Dual Cluster System Control Block (DCSCB) support" 30062306a36Sopenharmony_ci depends on MCPM 30162306a36Sopenharmony_ci select ARM_CCI400_PORT_CTRL 30262306a36Sopenharmony_ci help 30362306a36Sopenharmony_ci Support for the Dual Cluster System Configuration Block (DCSCB). 30462306a36Sopenharmony_ci This is needed to provide CPU and cluster power management 30562306a36Sopenharmony_ci on RTSM implementing big.LITTLE. 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciconfig ARCH_VEXPRESS_SPC 30862306a36Sopenharmony_ci bool "Versatile Express Serial Power Controller (SPC)" 30962306a36Sopenharmony_ci select PM_OPP 31062306a36Sopenharmony_ci help 31162306a36Sopenharmony_ci The TC2 (A15x2 A7x3) versatile express core tile integrates a logic 31262306a36Sopenharmony_ci block called Serial Power Controller (SPC) that provides the interface 31362306a36Sopenharmony_ci between the dual cluster test-chip and the M3 microcontroller that 31462306a36Sopenharmony_ci carries out power management. 31562306a36Sopenharmony_ci 31662306a36Sopenharmony_ciconfig ARCH_VEXPRESS_TC2_PM 31762306a36Sopenharmony_ci bool "Versatile Express TC2 power management" 31862306a36Sopenharmony_ci depends on MCPM 31962306a36Sopenharmony_ci select ARM_CCI400_PORT_CTRL 32062306a36Sopenharmony_ci select ARCH_VEXPRESS_SPC 32162306a36Sopenharmony_ci select ARM_CPU_SUSPEND 32262306a36Sopenharmony_ci help 32362306a36Sopenharmony_ci Support for CPU and cluster power management on Versatile Express 32462306a36Sopenharmony_ci with a TC2 (A15x2 A7x3) big.LITTLE core tile. 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ciendif 327