diff mbox

arm64: dts: r8a7796: Add DRIF support

Message ID 20170627125438.44491-1-ramesh.shanmugasundaram@bp.renesas.com (mailing list archive)
State Accepted
Commit 1a8e5f8435bfc89b13694746ff1d819e06cf87d7
Delegated to: Simon Horman
Headers show

Commit Message

Ramesh Shanmugasundaram June 27, 2017, 12:54 p.m. UTC
Adds the DRIF controller nodes for r8a7796.

Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
---
Hi Simon,

   This patch is based on renesas-devel-20170626-v4.12-rc7 tag.
   It is verified on M3 ES1.0. I also verified there are no regression issues
   with this addition.

   The driver[1] is pushed into the media_tree. The bindings[2] are ACK'ed
   by Geert & Rob and in the media_tree queue.

   [1] https://git.linuxtv.org/media_tree.git/commit/?id=7625ee981af166ddb569e2e6c0006e2af471326f
   [2] https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg15602.html

Thanks,
Ramesh.

 arch/arm64/boot/dts/renesas/r8a7796.dtsi | 120 +++++++++++++++++++++++++++++++
 1 file changed, 120 insertions(+)

Comments

Simon Horman June 30, 2017, 10:17 a.m. UTC | #1
On Tue, Jun 27, 2017 at 01:54:38PM +0100, Ramesh Shanmugasundaram wrote:
> Adds the DRIF controller nodes for r8a7796.
> 
> Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
> ---
> Hi Simon,
> 
>    This patch is based on renesas-devel-20170626-v4.12-rc7 tag.
>    It is verified on M3 ES1.0. I also verified there are no regression issues
>    with this addition.
> 
>    The driver[1] is pushed into the media_tree. The bindings[2] are ACK'ed
>    by Geert & Rob and in the media_tree queue.
> 
>    [1] https://git.linuxtv.org/media_tree.git/commit/?id=7625ee981af166ddb569e2e6c0006e2af471326f
>    [2] https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg15602.html
> 
> Thanks,
> Ramesh.
> 
>  arch/arm64/boot/dts/renesas/r8a7796.dtsi | 120 +++++++++++++++++++++++++++++++
>  1 file changed, 120 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> index 1f6710912045..df04d132a127 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> @@ -639,6 +639,126 @@
>  			};
>  		};
>  
> +		drif00: rif@e6f40000 {
> +			compatible = "renesas,r8a7796-drif",
> +				     "renesas,rcar-gen3-drif";
> +			reg = <0 0xe6f40000 0 0x64>;
> +			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 515>;
> +			clock-names = "fck";
> +			dmas = <&dmac1 0x20>, <&dmac2 0x20>;

The dmas property seems a little strange. I would have expected to allow
ether dmac1 or dmac2 to be used for both tx and rx:

			dmas = <&dmac1 0x20>, <&dmac1 0x20>,
			       <&dmac2 0x20>, <&dmac2 0x20>;


> +			dma-names = "rx", "rx";
> +			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
> +			resets = <&cpg 515>;
> +			renesas,bonding = <&drif01>;
> +			status = "disabled";
> +		};

...
Ramesh Shanmugasundaram June 30, 2017, 10:28 a.m. UTC | #2
Hi Simon,

> Subject: Re: [PATCH] arm64: dts: r8a7796: Add DRIF support
> 
> On Tue, Jun 27, 2017 at 01:54:38PM +0100, Ramesh Shanmugasundaram wrote:
> > Adds the DRIF controller nodes for r8a7796.
> >
> > Signed-off-by: Ramesh Shanmugasundaram
> > <ramesh.shanmugasundaram@bp.renesas.com>
> > ---
> > Hi Simon,
> >
> >    This patch is based on renesas-devel-20170626-v4.12-rc7 tag.
> >    It is verified on M3 ES1.0. I also verified there are no regression
> issues
> >    with this addition.
> >
> >    The driver[1] is pushed into the media_tree. The bindings[2] are
> ACK'ed
> >    by Geert & Rob and in the media_tree queue.
> >
> >    [1]
> https://git.linuxtv.org/media_tree.git/commit/?id=7625ee981af166ddb569e2e6
> c0006e2af471326f
> >    [2]
> > https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg1560
> > 2.html
> >
> > Thanks,
> > Ramesh.
> >
> >  arch/arm64/boot/dts/renesas/r8a7796.dtsi | 120
> > +++++++++++++++++++++++++++++++
> >  1 file changed, 120 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > index 1f6710912045..df04d132a127 100644
> > --- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > @@ -639,6 +639,126 @@
> >  			};
> >  		};
> >
> > +		drif00: rif@e6f40000 {
> > +			compatible = "renesas,r8a7796-drif",
> > +				     "renesas,rcar-gen3-drif";
> > +			reg = <0 0xe6f40000 0 0x64>;
> > +			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
> > +			clocks = <&cpg CPG_MOD 515>;
> > +			clock-names = "fck";
> > +			dmas = <&dmac1 0x20>, <&dmac2 0x20>;
> 
> The dmas property seems a little strange. I would have expected to allow
> ether dmac1 or dmac2 to be used for both tx and rx:
> 
> 			dmas = <&dmac1 0x20>, <&dmac1 0x20>,
> 			       <&dmac2 0x20>, <&dmac2 0x20>;
> 

It is an rx-only interface that can use either dmac1 or 2.

> 
> > +			dma-names = "rx", "rx";
> > +			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
> > +			resets = <&cpg 515>;
> > +			renesas,bonding = <&drif01>;
> > +			status = "disabled";
> > +		};
> 

Thanks,
Ramesh
Simon Horman June 30, 2017, 11:53 a.m. UTC | #3
On Fri, Jun 30, 2017 at 10:28:09AM +0000, Ramesh Shanmugasundaram wrote:
> Hi Simon,
> 
> > Subject: Re: [PATCH] arm64: dts: r8a7796: Add DRIF support
> > 
> > On Tue, Jun 27, 2017 at 01:54:38PM +0100, Ramesh Shanmugasundaram wrote:
> > > Adds the DRIF controller nodes for r8a7796.
> > >
> > > Signed-off-by: Ramesh Shanmugasundaram
> > > <ramesh.shanmugasundaram@bp.renesas.com>
> > > ---
> > > Hi Simon,
> > >
> > >    This patch is based on renesas-devel-20170626-v4.12-rc7 tag.
> > >    It is verified on M3 ES1.0. I also verified there are no regression
> > issues
> > >    with this addition.
> > >
> > >    The driver[1] is pushed into the media_tree. The bindings[2] are
> > ACK'ed
> > >    by Geert & Rob and in the media_tree queue.
> > >
> > >    [1]
> > https://git.linuxtv.org/media_tree.git/commit/?id=7625ee981af166ddb569e2e6
> > c0006e2af471326f
> > >    [2]
> > > https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg1560
> > > 2.html
> > >
> > > Thanks,
> > > Ramesh.
> > >
> > >  arch/arm64/boot/dts/renesas/r8a7796.dtsi | 120
> > > +++++++++++++++++++++++++++++++
> > >  1 file changed, 120 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > > b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > > index 1f6710912045..df04d132a127 100644
> > > --- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > > +++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
> > > @@ -639,6 +639,126 @@
> > >  			};
> > >  		};
> > >
> > > +		drif00: rif@e6f40000 {
> > > +			compatible = "renesas,r8a7796-drif",
> > > +				     "renesas,rcar-gen3-drif";
> > > +			reg = <0 0xe6f40000 0 0x64>;
> > > +			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
> > > +			clocks = <&cpg CPG_MOD 515>;
> > > +			clock-names = "fck";
> > > +			dmas = <&dmac1 0x20>, <&dmac2 0x20>;
> > 
> > The dmas property seems a little strange. I would have expected to allow
> > ether dmac1 or dmac2 to be used for both tx and rx:
> > 
> > 			dmas = <&dmac1 0x20>, <&dmac1 0x20>,
> > 			       <&dmac2 0x20>, <&dmac2 0x20>;
> > 
> 
> It is an rx-only interface that can use either dmac1 or 2.

Thanks, I see that clearly now.
I have applied this for v4.14.

> 
> > 
> > > +			dma-names = "rx", "rx";
> > > +			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
> > > +			resets = <&cpg 515>;
> > > +			renesas,bonding = <&drif01>;
> > > +			status = "disabled";
> > > +		};
> > 
> 
> Thanks,
> Ramesh
>
Geert Uytterhoeven July 5, 2017, 9:41 a.m. UTC | #4
On Tue, Jun 27, 2017 at 2:54 PM, Ramesh Shanmugasundaram
<ramesh.shanmugasundaram@bp.renesas.com> wrote:
> Adds the DRIF controller nodes for r8a7796.
>
> Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
index 1f6710912045..df04d132a127 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -639,6 +639,126 @@ 
 			};
 		};
 
+		drif00: rif@e6f40000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f40000 0 0x64>;
+			interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 515>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x20>, <&dmac2 0x20>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 515>;
+			renesas,bonding = <&drif01>;
+			status = "disabled";
+		};
+
+		drif01: rif@e6f50000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f50000 0 0x64>;
+			interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 514>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x22>, <&dmac2 0x22>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 514>;
+			renesas,bonding = <&drif00>;
+			status = "disabled";
+		};
+
+		drif10: rif@e6f60000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f60000 0 0x64>;
+			interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 513>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x24>, <&dmac2 0x24>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 513>;
+			renesas,bonding = <&drif11>;
+			status = "disabled";
+		};
+
+		drif11: rif@e6f70000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f70000 0 0x64>;
+			interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 512>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x26>, <&dmac2 0x26>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 512>;
+			renesas,bonding = <&drif10>;
+			status = "disabled";
+		};
+
+		drif20: rif@e6f80000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f80000 0 0x64>;
+			interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 511>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x28>, <&dmac2 0x28>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 511>;
+			renesas,bonding = <&drif21>;
+			status = "disabled";
+		};
+
+		drif21: rif@e6f90000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6f90000 0 0x64>;
+			interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 510>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x2a>, <&dmac2 0x2a>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 510>;
+			renesas,bonding = <&drif20>;
+			status = "disabled";
+		};
+
+		drif30: rif@e6fa0000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6fa0000 0 0x64>;
+			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 509>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x2c>, <&dmac2 0x2c>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 509>;
+			renesas,bonding = <&drif31>;
+			status = "disabled";
+		};
+
+		drif31: rif@e6fb0000 {
+			compatible = "renesas,r8a7796-drif",
+				     "renesas,rcar-gen3-drif";
+			reg = <0 0xe6fb0000 0 0x64>;
+			interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 508>;
+			clock-names = "fck";
+			dmas = <&dmac1 0x2e>, <&dmac2 0x2e>;
+			dma-names = "rx", "rx";
+			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
+			resets = <&cpg 508>;
+			renesas,bonding = <&drif30>;
+			status = "disabled";
+		};
+
 		avb: ethernet@e6800000 {
 			compatible = "renesas,etheravb-r8a7796",
 				     "renesas,etheravb-rcar-gen3";