From bb2174ed38513a06cb47065241bf2e6bd4b0b5e7 Mon Sep 17 00:00:00 2001 From: Simon Horman Date: Wed, 21 Nov 2012 21:12:43 +0900 Subject: [PATCH] --- yaml --- r: 355504 b: refs/heads/master c: a3f22db5102238197d5f6bbcad2f720ec7f09e10 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/boot/dts/sh73a0.dtsi | 33 +++++++++++++++++++ .../arm/mach-shmobile/include/mach/common.h | 1 + trunk/arch/arm/mach-shmobile/intc-sh73a0.c | 9 +++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 trunk/arch/arm/boot/dts/sh73a0.dtsi diff --git a/[refs] b/[refs] index 7b452408b3cc..c40fc5bc513b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20aa11358d52e1a3fc037d601ffe704e6f55c5fb +refs/heads/master: a3f22db5102238197d5f6bbcad2f720ec7f09e10 diff --git a/trunk/arch/arm/boot/dts/sh73a0.dtsi b/trunk/arch/arm/boot/dts/sh73a0.dtsi new file mode 100644 index 000000000000..7dae1f4e9be3 --- /dev/null +++ b/trunk/arch/arm/boot/dts/sh73a0.dtsi @@ -0,0 +1,33 @@ +/* + * Device Tree Source for the SH73A0 SoC + * + * Copyright (C) 2012 Renesas Solutions Corp. + * + * This file is licensed under the terms of the GNU General Public License + * version 2. This program is licensed "as is" without any warranty of any + * kind, whether express or implied. + */ + +/include/ "skeleton.dtsi" + +/ { + compatible = "renesas,sh73a0"; + + cpus { + cpu@0 { + compatible = "arm,cortex-a9"; + }; + cpu@1 { + compatible = "arm,cortex-a9"; + }; + }; + + gic: interrupt-controller@f0001000 { + compatible = "arm,cortex-a9-gic"; + #interrupt-cells = <3>; + #address-cells = <1>; + interrupt-controller; + reg = <0xf0001000 0x1000>, + <0xf0000100 0x100>; + }; +}; diff --git a/trunk/arch/arm/mach-shmobile/include/mach/common.h b/trunk/arch/arm/mach-shmobile/include/mach/common.h index 4b1af936fae9..e2ba16b6ae8e 100644 --- a/trunk/arch/arm/mach-shmobile/include/mach/common.h +++ b/trunk/arch/arm/mach-shmobile/include/mach/common.h @@ -34,6 +34,7 @@ extern struct clk sh7372_extal1_clk; extern struct clk sh7372_extal2_clk; extern void sh73a0_init_irq(void); +extern void sh73a0_init_irq_dt(void); extern void sh73a0_map_io(void); extern void sh73a0_earlytimer_init(void); extern void sh73a0_add_early_devices(void); diff --git a/trunk/arch/arm/mach-shmobile/intc-sh73a0.c b/trunk/arch/arm/mach-shmobile/intc-sh73a0.c index 45973b59dd58..91faba666d46 100644 --- a/trunk/arch/arm/mach-shmobile/intc-sh73a0.c +++ b/trunk/arch/arm/mach-shmobile/intc-sh73a0.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -459,3 +460,11 @@ void __init sh73a0_init_irq(void) sh73a0_pint1_cascade.handler = sh73a0_pint1_demux; setup_irq(gic_spi(34), &sh73a0_pint1_cascade); } + +#ifdef CONFIG_OF +void __init sh73a0_init_irq_dt(void) +{ + irqchip_init(); + gic_arch_extn.irq_set_wake = sh73a0_set_wake; +} +#endif