-menu "RealView platform type"
-       depends on ARCH_REALVIEW
+menuconfig ARCH_REALVIEW
+       bool "ARM Ltd. RealView family" if ARCH_MULTI_V5 || ARCH_MULTI_V6 || ARCH_MULTI_V7
+       select ARM_AMBA
+       select ARM_TIMER_SP804
+       select COMMON_CLK_VERSATILE
+       select GPIO_PL061 if GPIOLIB
+       select ICST
+       select PLAT_VERSATILE
+       select PLAT_VERSATILE_SCHED_CLOCK
+       help
+         This enables support for ARM Ltd RealView boards.
+
+if ARCH_REALVIEW
 
 config REALVIEW_DT
        bool "Support RealView(R) Device Tree based boot"
        select CLK_SP810
        select HAVE_SMP
        select ICST
+       select MACH_REALVIEW_EB if ARCH_MULTI_V5
        select MFD_SYSCON
        select POWER_RESET
        select POWER_RESET_VERSATILE
 config MACH_REALVIEW_EB
        bool "Support RealView(R) Emulation Baseboard"
        select ARM_GIC
+       select CPU_ARM926T if ARCH_MULTI_V5
        help
          Include support for the ARM(R) RealView(R) Emulation Baseboard
-         platform.
+         platform. On an ARMv5 kernel, this will include support for
+         the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least
+         one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore
+         core tile options should be enabled.
+
+config REALVIEW_EB_ARM1136
+       bool "Support ARM1136J(F)-S Tile"
+       depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
+       select CPU_V6
+       help
+         Enable support for the ARM1136 tile fitted to the
+         Realview(R) Emulation Baseboard platform.
+
+config REALVIEW_EB_ARM1176
+       bool "Support ARM1176JZ(F)-S Tile"
+       depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
+       help
+         Enable support for the ARM1176 tile fitted to the
+         Realview(R) Emulation Baseboard platform.
 
 config REALVIEW_EB_A9MP
        bool "Support Multicore Cortex-A9 Tile"
-       depends on MACH_REALVIEW_EB
-       select CPU_V7
+       depends on MACH_REALVIEW_EB && ARCH_MULTI_V7
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
        select HAVE_SMP
 
 config REALVIEW_EB_ARM11MP
        bool "Support ARM11MPCore Tile"
-       depends on MACH_REALVIEW_EB
-       select CPU_V6K
+       depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
        select HAVE_SMP
 
 config REALVIEW_EB_ARM11MP_REVB
        bool "Support ARM11MPCore RevB Tile"
-       depends on REALVIEW_EB_ARM11MP
+       depends on REALVIEW_EB_ARM11MP && ARCH_MULTI_V6
        help
          Enable support for the ARM11MPCore Revision B tile on the
          Realview(R) Emulation Baseboard platform. Since there are device
 
 config MACH_REALVIEW_PB11MP
        bool "Support RealView(R) Platform Baseboard for ARM11MPCore"
+       depends on ARCH_MULTI_V6
        select ARM_GIC
-       select CPU_V6K
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
        select HAVE_PATA_PLATFORM
 # ARMv6 CPU without K extensions, but does have the new exclusive ops
 config MACH_REALVIEW_PB1176
        bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S"
+       depends on ARCH_MULTI_V6
        select ARM_GIC
        select CPU_V6
        select HAVE_TCM
 
 config MACH_REALVIEW_PBA8
        bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
+       depends on ARCH_MULTI_V7
        select ARM_GIC
-       select CPU_V7
        select HAVE_PATA_PLATFORM
        help
          Include support for the ARM(R) RealView Platform Baseboard for
          support for PCI-E and Compact Flash.
 
 config MACH_REALVIEW_PBX
-       bool "Support RealView(R) Platform Baseboard Explore"
+       bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9"
+       depends on ARCH_MULTI_V7
        select ARM_GIC
        select HAVE_ARM_SCU if SMP
        select HAVE_ARM_TWD if SMP
          offset. On the PBX board, disabling this option allows 1GB of
          RAM to be used with HIGHMEM.
 
-endmenu
+endif