This adds an SMP boot method for the ARM RealView reference designs. We also select HAVE_SMP by default and make it use SMP_ON_UP so we only need to support one single kernel across the RealView reference designs when using DT. The RealViews need to have the SCU (Snoop Control Unit) activated on boot, and this is now done by looking up its address from the device tree and initializing it and counting the available cores. The RealViews boot by using a magic address register in the system controller (SYS_FLAGS) to store the boot address, the ROM will then read this register to the PC when the CPUs are taken out of WFI. This code uses a handle to the syscon regmap to access this register. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
131 lines
3.8 KiB
Plaintext
131 lines
3.8 KiB
Plaintext
menu "RealView platform type"
|
|
depends on ARCH_REALVIEW
|
|
|
|
config REALVIEW_DT
|
|
bool "Support RealView(R) Device Tree based boot"
|
|
select ARM_GIC
|
|
select CLK_SP810
|
|
select HAVE_SMP
|
|
select ICST
|
|
select MFD_SYSCON
|
|
select POWER_RESET
|
|
select POWER_RESET_VERSATILE
|
|
select POWER_SUPPLY
|
|
select SMP_ON_UP
|
|
select SOC_REALVIEW
|
|
select USE_OF
|
|
help
|
|
Include support for booting the ARM(R) RealView(R) evaluation
|
|
boards using a device tree machine description.
|
|
|
|
config MACH_REALVIEW_EB
|
|
bool "Support RealView(R) Emulation Baseboard"
|
|
select ARM_GIC
|
|
help
|
|
Include support for the ARM(R) RealView(R) Emulation Baseboard
|
|
platform.
|
|
|
|
config REALVIEW_EB_A9MP
|
|
bool "Support Multicore Cortex-A9 Tile"
|
|
depends on MACH_REALVIEW_EB
|
|
select CPU_V7
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_SMP
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
help
|
|
Enable support for the Cortex-A9MPCore tile fitted to the
|
|
Realview(R) Emulation Baseboard platform.
|
|
|
|
config REALVIEW_EB_ARM11MP
|
|
bool "Support ARM11MPCore Tile"
|
|
depends on MACH_REALVIEW_EB
|
|
select CPU_V6K
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_SMP
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
help
|
|
Enable support for the ARM11MPCore tile fitted to the Realview(R)
|
|
Emulation Baseboard platform.
|
|
|
|
config REALVIEW_EB_ARM11MP_REVB
|
|
bool "Support ARM11MPCore RevB Tile"
|
|
depends on REALVIEW_EB_ARM11MP
|
|
help
|
|
Enable support for the ARM11MPCore Revision B tile on the
|
|
Realview(R) Emulation Baseboard platform. Since there are device
|
|
address differences, a kernel built with this option enabled is
|
|
not compatible with other revisions of the ARM11MPCore tile.
|
|
|
|
config MACH_REALVIEW_PB11MP
|
|
bool "Support RealView(R) Platform Baseboard for ARM11MPCore"
|
|
select ARM_GIC
|
|
select CPU_V6K
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_PATA_PLATFORM
|
|
select HAVE_SMP
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
help
|
|
Include support for the ARM(R) RealView(R) Platform Baseboard for
|
|
the ARM11MPCore. This platform has an on-board ARM11MPCore and has
|
|
support for PCI-E and Compact Flash.
|
|
|
|
# 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"
|
|
select ARM_GIC
|
|
select CPU_V6
|
|
select HAVE_TCM
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
help
|
|
Include support for the ARM(R) RealView(R) Platform Baseboard for
|
|
ARM1176JZF-S.
|
|
|
|
config REALVIEW_PB1176_SECURE_FLASH
|
|
bool "Allow access to the secure flash memory block"
|
|
depends on MACH_REALVIEW_PB1176
|
|
default n
|
|
help
|
|
Select this option if Linux will only run in secure mode on the
|
|
RealView PB1176 platform and access to the secure flash memory
|
|
block (64MB @ 0x3c000000) is required.
|
|
|
|
config MACH_REALVIEW_PBA8
|
|
bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
|
|
select ARM_GIC
|
|
select CPU_V7
|
|
select HAVE_PATA_PLATFORM
|
|
help
|
|
Include support for the ARM(R) RealView Platform Baseboard for
|
|
Cortex(tm)-A8. This platform has an on-board Cortex-A8 and has
|
|
support for PCI-E and Compact Flash.
|
|
|
|
config MACH_REALVIEW_PBX
|
|
bool "Support RealView(R) Platform Baseboard Explore"
|
|
select ARM_GIC
|
|
select HAVE_ARM_SCU if SMP
|
|
select HAVE_ARM_TWD if SMP
|
|
select HAVE_PATA_PLATFORM
|
|
select HAVE_SMP
|
|
select MIGHT_HAVE_CACHE_L2X0
|
|
select ZONE_DMA
|
|
help
|
|
Include support for the ARM(R) RealView(R) Platform Baseboard
|
|
Explore.
|
|
|
|
config REALVIEW_HIGH_PHYS_OFFSET
|
|
bool "High physical base address for the RealView platform"
|
|
depends on MMU && !MACH_REALVIEW_PB1176
|
|
default y
|
|
help
|
|
RealView boards other than PB1176 have the RAM available at
|
|
0x70000000, 256MB of which being mirrored at 0x00000000. If
|
|
the board supports 512MB of RAM, this option allows the
|
|
memory to be accessed contiguously at the high physical
|
|
offset. On the PBX board, disabling this option allows 1GB of
|
|
RAM to be used with HIGHMEM.
|
|
|
|
endmenu
|