0001 # SPDX-License-Identifier: GPL-2.0
0002 config ARCH_VERSATILE
0003 bool "ARM Ltd. Versatile family"
0004 depends on ARCH_MULTI_V5
0005 depends on CPU_LITTLE_ENDIAN
0006 select ARM_AMBA
0007 select ARM_TIMER_SP804
0008 select ARM_VIC
0009 select CLKSRC_VERSATILE
0010 select CPU_ARM926T
0011 select CLK_ICST
0012 select MFD_SYSCON
0013 select PLAT_VERSATILE
0014 select POWER_RESET
0015 select POWER_RESET_VERSATILE
0016 select VERSATILE_FPGA_IRQ
0017 help
0018 This enables support for ARM Ltd Versatile board.
0019
0020 menuconfig ARCH_INTEGRATOR
0021 bool "ARM Ltd. Integrator family"
0022 depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6
0023 depends on CPU_LITTLE_ENDIAN || ARCH_MULTI_V6
0024 select ARM_AMBA
0025 select CMA
0026 select DMA_CMA
0027 select HAVE_TCM
0028 select CLK_ICST
0029 select MFD_SYSCON
0030 select PLAT_VERSATILE
0031 select POWER_RESET
0032 select POWER_RESET_VERSATILE
0033 select POWER_SUPPLY
0034 select SOC_INTEGRATOR_CM
0035 select VERSATILE_FPGA_IRQ
0036 help
0037 Support for ARM's Integrator platform.
0038
0039 if ARCH_INTEGRATOR
0040
0041 config ARCH_INTEGRATOR_AP
0042 bool "Support Integrator/AP and Integrator/PP2 platforms"
0043 select INTEGRATOR_AP_TIMER
0044 select SERIAL_AMBA_PL010 if TTY
0045 select SERIAL_AMBA_PL010_CONSOLE if TTY
0046 select SOC_BUS
0047 help
0048 Include support for the ARM(R) Integrator/AP and
0049 Integrator/PP2 platforms.
0050
0051 config INTEGRATOR_IMPD1
0052 bool "Include support for Integrator/IM-PD1"
0053 depends on ARCH_INTEGRATOR_AP
0054 select ARM_VIC
0055 select GPIO_PL061
0056 select GPIOLIB
0057 select REGULATOR
0058 select REGULATOR_FIXED_VOLTAGE
0059 help
0060 The IM-PD1 is an add-on logic module for the Integrator which
0061 allows ARM(R) Ltd PrimeCells to be developed and evaluated.
0062 The IM-PD1 can be found on the Integrator/PP2 platform.
0063
0064 config INTEGRATOR_CM720T
0065 bool "Integrator/CM720T core module"
0066 depends on ARCH_INTEGRATOR_AP
0067 depends on ARCH_MULTI_V4T
0068 select CPU_ARM720T
0069
0070 config INTEGRATOR_CM920T
0071 bool "Integrator/CM920T core module"
0072 depends on ARCH_INTEGRATOR_AP
0073 depends on ARCH_MULTI_V4T
0074 select CPU_ARM920T
0075
0076 config INTEGRATOR_CM922T_XA10
0077 bool "Integrator/CM922T-XA10 core module"
0078 depends on ARCH_MULTI_V4T
0079 depends on ARCH_INTEGRATOR_AP
0080 select CPU_ARM922T
0081
0082 config INTEGRATOR_CM926EJS
0083 bool "Integrator/CM926EJ-S core module"
0084 depends on ARCH_INTEGRATOR_AP
0085 depends on ARCH_MULTI_V5
0086 select CPU_ARM926T
0087
0088 config INTEGRATOR_CM10200E_REV0
0089 bool "Integrator/CM10200E rev.0 core module"
0090 depends on ARCH_INTEGRATOR_AP && n
0091 depends on ARCH_MULTI_V5
0092 select CPU_ARM1020
0093
0094 config INTEGRATOR_CM10200E
0095 bool "Integrator/CM10200E core module"
0096 depends on ARCH_INTEGRATOR_AP && n
0097 depends on ARCH_MULTI_V5
0098 select CPU_ARM1020E
0099
0100 config INTEGRATOR_CM10220E
0101 bool "Integrator/CM10220E core module"
0102 depends on ARCH_INTEGRATOR_AP
0103 depends on ARCH_MULTI_V5
0104 select CPU_ARM1022
0105
0106 config INTEGRATOR_CM1026EJS
0107 bool "Integrator/CM1026EJ-S core module"
0108 depends on ARCH_INTEGRATOR_AP
0109 depends on ARCH_MULTI_V5
0110 select CPU_ARM1026
0111
0112 config INTEGRATOR_CM1136JFS
0113 bool "Integrator/CM1136JF-S core module"
0114 depends on ARCH_INTEGRATOR_AP
0115 depends on ARCH_MULTI_V6
0116 select CPU_V6
0117
0118 config ARCH_INTEGRATOR_CP
0119 bool "Support Integrator/CP platform"
0120 depends on ARCH_MULTI_V5 || ARCH_MULTI_V6
0121 select ARM_TIMER_SP804
0122 select SERIAL_AMBA_PL011 if TTY
0123 select SERIAL_AMBA_PL011_CONSOLE if TTY
0124 select SOC_BUS
0125 help
0126 Include support for the ARM(R) Integrator CP platform.
0127
0128 config INTEGRATOR_CT926
0129 bool "Integrator/CT926 (ARM926EJ-S) core tile"
0130 depends on ARCH_INTEGRATOR_CP
0131 depends on ARCH_MULTI_V5
0132 select CPU_ARM926T
0133
0134 config INTEGRATOR_CTB36
0135 bool "Integrator/CTB36 (ARM1136JF-S) core tile"
0136 depends on ARCH_INTEGRATOR_CP
0137 depends on ARCH_MULTI_V6
0138 select CPU_V6
0139
0140 config ARCH_CINTEGRATOR
0141 depends on ARCH_INTEGRATOR_CP
0142 def_bool y
0143
0144 endif
0145
0146 menuconfig ARCH_REALVIEW
0147 bool "ARM Ltd. RealView family"
0148 depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7
0149 select ARM_AMBA
0150 select ARM_GIC
0151 select ARM_TIMER_SP804
0152 select CLK_SP810
0153 select GPIO_PL061 if GPIOLIB
0154 select HAVE_ARM_SCU if SMP
0155 select HAVE_ARM_TWD if SMP
0156 select HAVE_PATA_PLATFORM
0157 select HAVE_TCM
0158 select CLK_ICST
0159 select MACH_REALVIEW_EB if ARCH_MULTI_V5
0160 select MFD_SYSCON
0161 select PLAT_VERSATILE
0162 select POWER_RESET
0163 select POWER_RESET_VERSATILE
0164 select POWER_SUPPLY
0165 select SOC_REALVIEW
0166 help
0167 This enables support for ARM Ltd RealView boards.
0168
0169 if ARCH_REALVIEW
0170
0171 config MACH_REALVIEW_EB
0172 bool "Support RealView(R) Emulation Baseboard"
0173 select ARM_GIC
0174 select CPU_ARM926T if ARCH_MULTI_V5
0175 help
0176 Include support for the ARM(R) RealView(R) Emulation Baseboard
0177 platform. On an ARMv5 kernel, this will include support for
0178 the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least
0179 one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore
0180 core tile options should be enabled.
0181
0182 config REALVIEW_EB_ARM1136
0183 bool "Support ARM1136J(F)-S Tile"
0184 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
0185 select CPU_V6
0186 help
0187 Enable support for the ARM1136 tile fitted to the
0188 Realview(R) Emulation Baseboard platform.
0189
0190 config REALVIEW_EB_ARM1176
0191 bool "Support ARM1176JZ(F)-S Tile"
0192 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
0193 help
0194 Enable support for the ARM1176 tile fitted to the
0195 Realview(R) Emulation Baseboard platform.
0196
0197 config REALVIEW_EB_A9MP
0198 bool "Support Multicore Cortex-A9 Tile"
0199 depends on MACH_REALVIEW_EB && ARCH_MULTI_V7
0200 help
0201 Enable support for the Cortex-A9MPCore tile fitted to the
0202 Realview(R) Emulation Baseboard platform.
0203
0204 config REALVIEW_EB_ARM11MP
0205 bool "Support ARM11MPCore Tile"
0206 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
0207 select HAVE_SMP
0208 help
0209 Enable support for the ARM11MPCore tile fitted to the Realview(R)
0210 Emulation Baseboard platform.
0211
0212 config MACH_REALVIEW_PB11MP
0213 bool "Support RealView(R) Platform Baseboard for ARM11MPCore"
0214 depends on ARCH_MULTI_V6
0215 select HAVE_SMP
0216 help
0217 Include support for the ARM(R) RealView(R) Platform Baseboard for
0218 the ARM11MPCore. This platform has an on-board ARM11MPCore and has
0219 support for PCI-E and Compact Flash.
0220
0221 # ARMv6 CPU without K extensions, but does have the new exclusive ops
0222 config MACH_REALVIEW_PB1176
0223 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S"
0224 depends on ARCH_MULTI_V6
0225 select CPU_V6
0226 select HAVE_TCM
0227 help
0228 Include support for the ARM(R) RealView(R) Platform Baseboard for
0229 ARM1176JZF-S.
0230
0231 config MACH_REALVIEW_PBA8
0232 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
0233 depends on ARCH_MULTI_V7
0234 help
0235 Include support for the ARM(R) RealView Platform Baseboard for
0236 Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has
0237 support for PCI-E and Compact Flash.
0238
0239 config MACH_REALVIEW_PBX
0240 bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9"
0241 depends on ARCH_MULTI_V7
0242 select ZONE_DMA
0243 help
0244 Include support for the ARM(R) RealView(R) Platform Baseboard
0245 Explore.
0246
0247 endif
0248
0249 menuconfig ARCH_VEXPRESS
0250 bool "ARM Ltd. Versatile Express family"
0251 depends on ARCH_MULTI_V7
0252 select ARM_AMBA
0253 select ARM_GIC
0254 select ARM_GLOBAL_TIMER
0255 select ARM_TIMER_SP804
0256 select GPIOLIB
0257 select HAVE_ARM_SCU if SMP
0258 select HAVE_ARM_TWD if SMP
0259 select HAVE_PATA_PLATFORM
0260 select CLK_ICST
0261 select NO_IOPORT_MAP
0262 select PLAT_VERSATILE
0263 select POWER_RESET
0264 select POWER_RESET_VEXPRESS
0265 select POWER_SUPPLY
0266 select REGULATOR if MMC_ARMMMCI
0267 select REGULATOR_FIXED_VOLTAGE if REGULATOR
0268 select VEXPRESS_CONFIG
0269 help
0270 This option enables support for systems using Cortex processor based
0271 ARM core and logic (FPGA) tiles on the Versatile Express motherboard,
0272 for example:
0273
0274 - CoreTile Express A5x2 (V2P-CA5s)
0275 - CoreTile Express A9x4 (V2P-CA9)
0276 - CoreTile Express A15x2 (V2P-CA15)
0277 - LogicTile Express 13MG (V2F-2XV6) with A5, A7, A9 or A15 SMMs
0278 (Soft Macrocell Models)
0279 - Versatile Express RTSMs (Models)
0280
0281 You must boot using a Flattened Device Tree in order to use these
0282 platforms. The traditional (ATAGs) boot method is not usable on
0283 these boards with this option.
0284
0285 if ARCH_VEXPRESS
0286
0287 config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
0288 bool "Enable A5 and A9 only errata work-arounds"
0289 default y
0290 select ARM_ERRATA_643719 if SMP
0291 select ARM_ERRATA_720789
0292 select PL310_ERRATA_753970 if CACHE_L2X0
0293 help
0294 Provides common dependencies for Versatile Express platforms
0295 based on Cortex-A5 and Cortex-A9 processors. In order to
0296 build a working kernel, you must also enable relevant core
0297 tile support or Flattened Device Tree based support options.
0298
0299 config ARCH_VEXPRESS_DCSCB
0300 bool "Dual Cluster System Control Block (DCSCB) support"
0301 depends on MCPM
0302 select ARM_CCI400_PORT_CTRL
0303 help
0304 Support for the Dual Cluster System Configuration Block (DCSCB).
0305 This is needed to provide CPU and cluster power management
0306 on RTSM implementing big.LITTLE.
0307
0308 config ARCH_VEXPRESS_SPC
0309 bool "Versatile Express Serial Power Controller (SPC)"
0310 select PM_OPP
0311 help
0312 The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
0313 block called Serial Power Controller (SPC) that provides the interface
0314 between the dual cluster test-chip and the M3 microcontroller that
0315 carries out power management.
0316
0317 config ARCH_VEXPRESS_TC2_PM
0318 bool "Versatile Express TC2 power management"
0319 depends on MCPM
0320 select ARM_CCI400_PORT_CTRL
0321 select ARCH_VEXPRESS_SPC
0322 select ARM_CPU_SUSPEND
0323 help
0324 Support for CPU and cluster power management on Versatile Express
0325 with a TC2 (A15x2 A7x3) big.LITTLE core tile.
0326
0327 endif