Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bde28b84 authored by Will Deacon's avatar Will Deacon Committed by Russell King
Browse files

ARM: 6218/1: Versatile Express: add support for local timers on CA9X4 daughterboard



This patch adds support for the Cortex-A9 local timers available when
using the CA9X4 daughterboard with the Versatile Express.

Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent e467e104
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1172,9 +1172,10 @@ config HOTPLUG_CPU
config LOCAL_TIMERS
	bool "Use local timer interrupts"
	depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \
		REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || ARCH_U8500)
		REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
		ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
	default y
	select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_OMAP4 || ARCH_U8500)
	select HAVE_ARM_TWD if (ARCH_REALVIEW || ARCH_VEXPRESS || ARCH_OMAP4 || ARCH_U8500)
	help
	  Enable support for local timers on SMP platforms, rather then the
	  legacy IPI broadcast method.  Local timers allows the system
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
#include <asm/pmu.h>
#include <asm/smp_twd.h>

#include <mach/clkdev.h>
#include <mach/ct-ca9x4.h>
@@ -53,6 +54,7 @@ static struct map_desc ct_ca9x4_io_desc[] __initdata = {

static void __init ct_ca9x4_map_io(void)
{
	twd_base = MMIO_P2V(A9_MPCORE_TWD);
	v2m_map_io(ct_ca9x4_io_desc, ARRAY_SIZE(ct_ca9x4_io_desc));
}

+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@
#define A9_MPCORE_SCU		(CT_CA9X4_MPIC + 0x0000)
#define A9_MPCORE_GIC_CPU	(CT_CA9X4_MPIC + 0x0100)
#define A9_MPCORE_GIT		(CT_CA9X4_MPIC + 0x0200)
#define A9_MPCORE_TWD		(CT_CA9X4_MPIC + 0x0600)
#define A9_MPCORE_GIC_DIST	(CT_CA9X4_MPIC + 0x1000)

/*