[PATCH v3 14/19] ARM: shmobile: r8a7779: Add TMU devices to DT
Simon Horman
horms at verge.net.au
Mon Jun 16 01:47:07 PDT 2014
Hi Laurent,
thanks for your patch.
On Sat, Jun 14, 2014 at 06:23:36PM +0200, Laurent Pinchart wrote:
> Add the TMU0, TMU1 and TMU2 counters to the r8a7779 device tree and make
> them disabled by default.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>
> ---
> arch/arm/boot/dts/r8a7779.dtsi | 42 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
> index 94e2fc8..bf716ce 100644
> --- a/arch/arm/boot/dts/r8a7779.dtsi
> +++ b/arch/arm/boot/dts/r8a7779.dtsi
> @@ -266,6 +266,48 @@
> reg = <0xffc48000 0x38>;
> };
>
> + tmu0: timer at ffd80000 {
> + compatible = "renesas,tmu";
> + reg = <0xffd80000 0x30>;
> + interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>,
> + <0 41 IRQ_TYPE_LEVEL_HIGH>,
> + <0 42 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
> + clock-names = "fck";
> +
> + #renesas,channels = <3>;
> +
> + status = "disabled";
> + };
> +
> + tmu1: timer at ffd81000 {
> + compatible = "renesas,tmu";
> + reg = <0xffd81000 0x30>;
> + interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>,
> + <0 45 IRQ_TYPE_LEVEL_HIGH>,
> + <0 46 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&mstp0_clks R8A7779_CLK_TMU1>;
> + clock-names = "fck";
> +
> + #renesas,channels = <3>;
> +
> + status = "disabled";
> + };
> +
> + tmu2: timer at ffd82000 {
> + compatible = "renesas,tmu";
> + reg = <0xffd82000 0x30>;
> + interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>,
> + <0 49 IRQ_TYPE_LEVEL_HIGH>,
> + <0 50 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&mstp0_clks R8A7779_CLK_TMU2>;
> + clock-names = "fck";
> +
> + #renesas,channels = <3>;
> +
> + status = "disabled";
> + };
> +
> sata: sata at fc600000 {
> compatible = "renesas,rcar-sata";
> reg = <0xfc600000 0x2000>;
> --
> 1.8.5.5
There are no interrupt-parents in in the nodes above nodes
although the documentation of the binding has one in the example.
Is it just an oversight in this patch?
I believe that the IRQ numbers are not correct.
In setup-r8a7779.c I see gic_iid(0x40). But above I see 40.
I think the correct value is 0x40 - 32 = 32. Likewise
for the other IRQs of tmu0. And looking at the documentaiton
this seems true for tmu1 and tmu2 too.
I have successfully booted a marzen board with the following incremental
patch to the DT nodes.
diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
index bf716ce..81714ce 100644
--- a/arch/arm/boot/dts/r8a7779.dtsi
+++ b/arch/arm/boot/dts/r8a7779.dtsi
@@ -269,9 +269,10 @@
tmu0: timer at ffd80000 {
compatible = "renesas,tmu";
reg = <0xffd80000 0x30>;
- interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>,
- <0 41 IRQ_TYPE_LEVEL_HIGH>,
- <0 42 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&gic>;
+ interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>,
+ <0 33 IRQ_TYPE_LEVEL_HIGH>,
+ <0 34 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&mstp0_clks R8A7779_CLK_TMU0>;
clock-names = "fck";
@@ -283,9 +284,10 @@
tmu1: timer at ffd81000 {
compatible = "renesas,tmu";
reg = <0xffd81000 0x30>;
- interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>,
- <0 45 IRQ_TYPE_LEVEL_HIGH>,
- <0 46 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&gic>;
+ interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>,
+ <0 36 IRQ_TYPE_LEVEL_HIGH>,
+ <0 37 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&mstp0_clks R8A7779_CLK_TMU1>;
clock-names = "fck";
@@ -296,10 +298,11 @@
tmu2: timer at ffd82000 {
compatible = "renesas,tmu";
+ interrupt-parent = <&gic>;
reg = <0xffd82000 0x30>;
- interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>,
- <0 49 IRQ_TYPE_LEVEL_HIGH>,
- <0 50 IRQ_TYPE_LEVEL_HIGH>;
+ interrupts = <0 38 IRQ_TYPE_LEVEL_HIGH>,
+ <0 39 IRQ_TYPE_LEVEL_HIGH>,
+ <0 40 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&mstp0_clks R8A7779_CLK_TMU2>;
clock-names = "fck";
More information about the linux-arm-kernel
mailing list