diff mbox

[v2,2/2] ARM: Kirkwood: Convert XOR instantiation to DT.

Message ID 1353235498-22638-2-git-send-email-andrew@lunn.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Andrew Lunn Nov. 18, 2012, 10:44 a.m. UTC
Use DT to describe the two XOR DMA engines on Kirkwood. Remove the
C code initialization.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
---

These patches depend on the refactoring/DT patches from Thomas and NOT
the clock patches from me. With the clock patches, a slight different
patch is needed, specifying a clocks property in DT and no auxdata.

 arch/arm/boot/dts/kirkwood.dtsi   |   38 +++++++++++++++++++++++++++++++++++++
 arch/arm/mach-kirkwood/board-dt.c |    6 ++----
 2 files changed, 40 insertions(+), 4 deletions(-)

Comments

Thomas Petazzoni Nov. 18, 2012, 5:40 p.m. UTC | #1
Andrew,

On Sun, 18 Nov 2012 11:44:57 +0100, Andrew Lunn wrote:
> Use DT to describe the two XOR DMA engines on Kirkwood. Remove the
> C code initialization.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
> 
> These patches depend on the refactoring/DT patches from Thomas and NOT
> the clock patches from me. With the clock patches, a slight different
> patch is needed, specifying a clocks property in DT and no auxdata.

My XOR patch set already depended on the previous clock series from
Gregory, so I'm going to rebase it on top of your clock series. Would
you mind sharing with me the version of this patch that works on top of
your clock patch set?

I guess it's just the removal of the auxdata, and addition of

	clocks = <&gate_clk 8>;

for the first XOR engine, and:

	clocks = <&gate_clk 16>;

for the second XOR engine.

If this is correct, I'll integrate your patch in my XOR patches so that
you'll get a complete pull request with all the related XOR changes.

Best regards,

Thomas
Andrew Lunn Nov. 18, 2012, 6:27 p.m. UTC | #2
On Sun, Nov 18, 2012 at 06:40:32PM +0100, Thomas Petazzoni wrote:
> Andrew,
> 
> On Sun, 18 Nov 2012 11:44:57 +0100, Andrew Lunn wrote:
> > Use DT to describe the two XOR DMA engines on Kirkwood. Remove the
> > C code initialization.
> > 
> > Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> > ---
> > 
> > These patches depend on the refactoring/DT patches from Thomas and NOT
> > the clock patches from me. With the clock patches, a slight different
> > patch is needed, specifying a clocks property in DT and no auxdata.
> 
> My XOR patch set already depended on the previous clock series from
> Gregory, so I'm going to rebase it on top of your clock series. Would
> you mind sharing with me the version of this patch that works on top of
> your clock patch set?

Hi Thomas

I never create the patch for on top of my clock series.

> I guess it's just the removal of the auxdata, and addition of
> 
> 	clocks = <&gate_clk 8>;
> 
> for the first XOR engine, and:
> 
> 	clocks = <&gate_clk 16>;
> 
> for the second XOR engine.

Correct.

> 
> If this is correct, I'll integrate your patch in my XOR patches so that
> you'll get a complete pull request with all the related XOR changes.

O.K.

We probably need a new ACK from Mike Turquette for the updated clock
patches.

      Andrew
Jason Cooper Nov. 19, 2012, 6:37 a.m. UTC | #3
On Sun, Nov 18, 2012 at 11:44:57AM +0100, Andrew Lunn wrote:
> Use DT to describe the two XOR DMA engines on Kirkwood. Remove the
> C code initialization.
> 
> Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> ---
> 
> These patches depend on the refactoring/DT patches from Thomas and NOT
> the clock patches from me. With the clock patches, a slight different
> patch is needed, specifying a clocks property in DT and no auxdata.
> 
>  arch/arm/boot/dts/kirkwood.dtsi   |   38 +++++++++++++++++++++++++++++++++++++
>  arch/arm/mach-kirkwood/board-dt.c |    6 ++----
>  2 files changed, 40 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> index 4e5b815..e0ba79d 100644
> --- a/arch/arm/boot/dts/kirkwood.dtsi
> +++ b/arch/arm/boot/dts/kirkwood.dtsi
> @@ -77,6 +77,44 @@
>  			status = "okay";
>  		};
>  
> +		xor@60800 {
> +			compatible = "marvell,orion-xor";
> +			reg = <0x60800 0x100
> +			       0x60A00 0x100>;
> +			status = "okay";
> +
> +			xor00 {
> +			      interrupts = <5>;
> +			      dmacap,memcpy;
> +			      dmacap,xor;
> +			};
> +			xor01 {
> +			      interrupts = <6>;
> +			      dmacap,memcpy;
> +			      dmacap,xor;
> +			      dmacap,memset;
> +			};
> +		};
> +
> +		xor@60900 {
> +			compatible = "marvell,orion-xor";
> +			reg = <0x60900 0x100
> +			       0xd0B00 0x100>;
> +			status = "okay";
> +
> +			xor00 {
> +			      interrupts = <7>;
> +			      dmacap,memcpy;
> +			      dmacap,xor;
> +			};
> +			xor01 {
> +			      interrupts = <8>;
> +			      dmacap,memcpy;
> +			      dmacap,xor;
> +			      dmacap,memset;
> +			};
> +		};
> +
>  		sata@80000 {
>  			compatible = "marvell,orion-sata";
>  			reg = <0x80000 0x5000>;
> diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
> index d94872f..e62f10de 100644
> --- a/arch/arm/mach-kirkwood/board-dt.c
> +++ b/arch/arm/mach-kirkwood/board-dt.c
> @@ -34,6 +34,8 @@ struct of_dev_auxdata kirkwood_auxdata_lookup[] __initdata = {
>  	OF_DEV_AUXDATA("marvell,orion-sata", 0xf1080000, "sata_mv.0", NULL),
>  	OF_DEV_AUXDATA("marvell,orion-nand", 0xf4000000, "orion_nand", NULL),
>  	OF_DEV_AUXDATA("marvell,orion-crypto", 0xf1030000, "mv_crypto", NULL),
> +	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060800, "mv_xor.0", NULL),
> +	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060900, "mv_xor.1", NULL),

This conflicts with the earlier clock work.  I'll be pushing mvebu/dt in
a bit, could you please rebase these two patches against that?

thx,

Jason.
Andrew Lunn Nov. 19, 2012, 6:41 a.m. UTC | #4
On Mon, Nov 19, 2012 at 01:37:57AM -0500, Jason Cooper wrote:
> On Sun, Nov 18, 2012 at 11:44:57AM +0100, Andrew Lunn wrote:
> > Use DT to describe the two XOR DMA engines on Kirkwood. Remove the
> > C code initialization.
> > 
> > Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> > ---
> > 
> > These patches depend on the refactoring/DT patches from Thomas and NOT
> > the clock patches from me. With the clock patches, a slight different
> > patch is needed, specifying a clocks property in DT and no auxdata.
> > 
> >  arch/arm/boot/dts/kirkwood.dtsi   |   38 +++++++++++++++++++++++++++++++++++++
> >  arch/arm/mach-kirkwood/board-dt.c |    6 ++----
> >  2 files changed, 40 insertions(+), 4 deletions(-)
> > 
> > diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> > index 4e5b815..e0ba79d 100644
> > --- a/arch/arm/boot/dts/kirkwood.dtsi
> > +++ b/arch/arm/boot/dts/kirkwood.dtsi
> > @@ -77,6 +77,44 @@
> >  			status = "okay";
> >  		};
> >  
> > +		xor@60800 {
> > +			compatible = "marvell,orion-xor";
> > +			reg = <0x60800 0x100
> > +			       0x60A00 0x100>;
> > +			status = "okay";
> > +
> > +			xor00 {
> > +			      interrupts = <5>;
> > +			      dmacap,memcpy;
> > +			      dmacap,xor;
> > +			};
> > +			xor01 {
> > +			      interrupts = <6>;
> > +			      dmacap,memcpy;
> > +			      dmacap,xor;
> > +			      dmacap,memset;
> > +			};
> > +		};
> > +
> > +		xor@60900 {
> > +			compatible = "marvell,orion-xor";
> > +			reg = <0x60900 0x100
> > +			       0xd0B00 0x100>;
> > +			status = "okay";
> > +
> > +			xor00 {
> > +			      interrupts = <7>;
> > +			      dmacap,memcpy;
> > +			      dmacap,xor;
> > +			};
> > +			xor01 {
> > +			      interrupts = <8>;
> > +			      dmacap,memcpy;
> > +			      dmacap,xor;
> > +			      dmacap,memset;
> > +			};
> > +		};
> > +
> >  		sata@80000 {
> >  			compatible = "marvell,orion-sata";
> >  			reg = <0x80000 0x5000>;
> > diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
> > index d94872f..e62f10de 100644
> > --- a/arch/arm/mach-kirkwood/board-dt.c
> > +++ b/arch/arm/mach-kirkwood/board-dt.c
> > @@ -34,6 +34,8 @@ struct of_dev_auxdata kirkwood_auxdata_lookup[] __initdata = {
> >  	OF_DEV_AUXDATA("marvell,orion-sata", 0xf1080000, "sata_mv.0", NULL),
> >  	OF_DEV_AUXDATA("marvell,orion-nand", 0xf4000000, "orion_nand", NULL),
> >  	OF_DEV_AUXDATA("marvell,orion-crypto", 0xf1030000, "mv_crypto", NULL),
> > +	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060800, "mv_xor.0", NULL),
> > +	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060900, "mv_xor.1", NULL),
> 
> This conflicts with the earlier clock work.  I'll be pushing mvebu/dt in
> a bit, could you please rebase these two patches against that?

Thomas has a v2 in the works which should solve that and Sebastians comments.

       Andrew
Jason Cooper Nov. 19, 2012, 6:54 a.m. UTC | #5
On Mon, Nov 19, 2012 at 07:41:43AM +0100, Andrew Lunn wrote:
> On Mon, Nov 19, 2012 at 01:37:57AM -0500, Jason Cooper wrote:
> > On Sun, Nov 18, 2012 at 11:44:57AM +0100, Andrew Lunn wrote:
> > > Use DT to describe the two XOR DMA engines on Kirkwood. Remove the
> > > C code initialization.
> > > 
> > > Signed-off-by: Andrew Lunn <andrew@lunn.ch>
> > > ---
> > > 
> > > These patches depend on the refactoring/DT patches from Thomas and NOT
> > > the clock patches from me. With the clock patches, a slight different
> > > patch is needed, specifying a clocks property in DT and no auxdata.
> > > 
> > >  arch/arm/boot/dts/kirkwood.dtsi   |   38 +++++++++++++++++++++++++++++++++++++
> > >  arch/arm/mach-kirkwood/board-dt.c |    6 ++----
> > >  2 files changed, 40 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> > > index 4e5b815..e0ba79d 100644
> > > --- a/arch/arm/boot/dts/kirkwood.dtsi
> > > +++ b/arch/arm/boot/dts/kirkwood.dtsi
> > > @@ -77,6 +77,44 @@
> > >  			status = "okay";
> > >  		};
> > >  
> > > +		xor@60800 {
> > > +			compatible = "marvell,orion-xor";
> > > +			reg = <0x60800 0x100
> > > +			       0x60A00 0x100>;
> > > +			status = "okay";
> > > +
> > > +			xor00 {
> > > +			      interrupts = <5>;
> > > +			      dmacap,memcpy;
> > > +			      dmacap,xor;
> > > +			};
> > > +			xor01 {
> > > +			      interrupts = <6>;
> > > +			      dmacap,memcpy;
> > > +			      dmacap,xor;
> > > +			      dmacap,memset;
> > > +			};
> > > +		};
> > > +
> > > +		xor@60900 {
> > > +			compatible = "marvell,orion-xor";
> > > +			reg = <0x60900 0x100
> > > +			       0xd0B00 0x100>;
> > > +			status = "okay";
> > > +
> > > +			xor00 {
> > > +			      interrupts = <7>;
> > > +			      dmacap,memcpy;
> > > +			      dmacap,xor;
> > > +			};
> > > +			xor01 {
> > > +			      interrupts = <8>;
> > > +			      dmacap,memcpy;
> > > +			      dmacap,xor;
> > > +			      dmacap,memset;
> > > +			};
> > > +		};
> > > +
> > >  		sata@80000 {
> > >  			compatible = "marvell,orion-sata";
> > >  			reg = <0x80000 0x5000>;
> > > diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
> > > index d94872f..e62f10de 100644
> > > --- a/arch/arm/mach-kirkwood/board-dt.c
> > > +++ b/arch/arm/mach-kirkwood/board-dt.c
> > > @@ -34,6 +34,8 @@ struct of_dev_auxdata kirkwood_auxdata_lookup[] __initdata = {
> > >  	OF_DEV_AUXDATA("marvell,orion-sata", 0xf1080000, "sata_mv.0", NULL),
> > >  	OF_DEV_AUXDATA("marvell,orion-nand", 0xf4000000, "orion_nand", NULL),
> > >  	OF_DEV_AUXDATA("marvell,orion-crypto", 0xf1030000, "mv_crypto", NULL),
> > > +	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060800, "mv_xor.0", NULL),
> > > +	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060900, "mv_xor.1", NULL),
> > 
> > This conflicts with the earlier clock work.  I'll be pushing mvebu/dt in
> > a bit, could you please rebase these two patches against that?
> 
> Thomas has a v2 in the works which should solve that and Sebastians comments.

Cool, thx.

Jason.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 4e5b815..e0ba79d 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -77,6 +77,44 @@ 
 			status = "okay";
 		};
 
+		xor@60800 {
+			compatible = "marvell,orion-xor";
+			reg = <0x60800 0x100
+			       0x60A00 0x100>;
+			status = "okay";
+
+			xor00 {
+			      interrupts = <5>;
+			      dmacap,memcpy;
+			      dmacap,xor;
+			};
+			xor01 {
+			      interrupts = <6>;
+			      dmacap,memcpy;
+			      dmacap,xor;
+			      dmacap,memset;
+			};
+		};
+
+		xor@60900 {
+			compatible = "marvell,orion-xor";
+			reg = <0x60900 0x100
+			       0xd0B00 0x100>;
+			status = "okay";
+
+			xor00 {
+			      interrupts = <7>;
+			      dmacap,memcpy;
+			      dmacap,xor;
+			};
+			xor01 {
+			      interrupts = <8>;
+			      dmacap,memcpy;
+			      dmacap,xor;
+			      dmacap,memset;
+			};
+		};
+
 		sata@80000 {
 			compatible = "marvell,orion-sata";
 			reg = <0x80000 0x5000>;
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c
index d94872f..e62f10de 100644
--- a/arch/arm/mach-kirkwood/board-dt.c
+++ b/arch/arm/mach-kirkwood/board-dt.c
@@ -34,6 +34,8 @@  struct of_dev_auxdata kirkwood_auxdata_lookup[] __initdata = {
 	OF_DEV_AUXDATA("marvell,orion-sata", 0xf1080000, "sata_mv.0", NULL),
 	OF_DEV_AUXDATA("marvell,orion-nand", 0xf4000000, "orion_nand", NULL),
 	OF_DEV_AUXDATA("marvell,orion-crypto", 0xf1030000, "mv_crypto", NULL),
+	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060800, "mv_xor.0", NULL),
+	OF_DEV_AUXDATA("marvell,orion-xor", 0xf1060900, "mv_xor.1", NULL),
 	{},
 };
 
@@ -56,10 +58,6 @@  static void __init kirkwood_dt_init(void)
 	/* Setup root of clk tree */
 	kirkwood_clk_init();
 
-	/* internal devices that every board has */
-	kirkwood_xor0_init();
-	kirkwood_xor1_init();
-
 #ifdef CONFIG_KEXEC
 	kexec_reinit = kirkwood_enable_pcie;
 #endif