summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorLee Jones <lee.jones@linaro.org>2012-07-06 09:06:20 +0100
committerLee Jones <lee.jones@linaro.org>2012-09-20 12:32:29 +0200
commit96bbf7910c9a198fda9c71081e4900a7e365dbbc (patch)
treef568a21e12502e2da77e45e088c52ad0320c732c /arch/arm
parent38cd8c5d7561c01619959f09099c7430420c4008 (diff)
downloadlinux-96bbf7910c9a198fda9c71081e4900a7e365dbbc.tar.gz
linux-96bbf7910c9a198fda9c71081e4900a7e365dbbc.tar.bz2
linux-96bbf7910c9a198fda9c71081e4900a7e365dbbc.zip
ARM: ux500: Pass PMU platform data due for Perf though AUXDATA
When booting with Device Tree we need a way to call-back to the DB8500 PMU IRQ handler. This is necessary because the two CPU IRQ lines are muxed together on the DB8500 chip. The DB8500 PMU IRQ handler contains logic to pass over to the other core in the case of IRQ_NONE. This patch allows the DB8500 PMU IRQ handler to be passed to Perf through platform data. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-ux500/board-mop500.c2
-rw-r--r--arch/arm/mach-ux500/board-mop500.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index a534d8880de1..5d9600b1020b 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -732,6 +732,8 @@ static struct platform_device *snowball_of_platform_devs[] __initdata = {
};
struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
+ /* Requires call-back bindings. */
+ OF_DEV_AUXDATA("arm,cortex-a9-pmu", 0, "arm-pmu", &db8500_pmu_platdata),
/* Requires DMA and call-back bindings. */
OF_DEV_AUXDATA("arm,pl011", 0x80120000, "uart0", &uart0_plat),
OF_DEV_AUXDATA("arm,pl011", 0x80121000, "uart1", &uart1_plat),
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h
index b5bfc1a78b1a..d04a8e6ce7ee 100644
--- a/arch/arm/mach-ux500/board-mop500.h
+++ b/arch/arm/mach-ux500/board-mop500.h
@@ -81,6 +81,7 @@ struct device;
struct i2c_board_info;
extern struct mmci_platform_data mop500_sdi0_data;
extern struct mmci_platform_data mop500_sdi4_data;
+extern struct arm_pmu_platdata db8500_pmu_platdata;
extern void mop500_sdi_init(struct device *parent);
extern void snowball_sdi_init(struct device *parent);