diff mbox series

ARM: dts: omap3.dtsi: Fix AES and SHA Engines

Message ID 20190925171444.9904-1-aford173@gmail.com
State New, archived
Headers show
Series ARM: dts: omap3.dtsi: Fix AES and SHA Engines | expand

Commit Message

Adam Ford Sept. 25, 2019, 5:14 p.m. UTC
The AES and SHA engines for the OMAP3 are currently not functional.
When the stopped working is unknown, but we have a regression.

This patch uses the ti,sysc-omap2 to address the issue and enables
to the AES and SHA engines on the DM3730 and OMAP3530 to work once
again.

Signed-off-by: Adam Ford <aford173@gmail.com>

Comments

Adam Ford Oct. 9, 2019, 6:55 p.m. UTC | #1
On Wed, Sep 25, 2019 at 12:14 PM Adam Ford <aford173@gmail.com> wrote:
>
> The AES and SHA engines for the OMAP3 are currently not functional.
> When the stopped working is unknown, but we have a regression.
>
> This patch uses the ti,sysc-omap2 to address the issue and enables
> to the AES and SHA engines on the DM3730 and OMAP3530 to work once
> again.
>
> Signed-off-by: Adam Ford <aford173@gmail.com>

Tony,

Any chance these could get review and/or pushed for 5.4 since they
used to work and now they don't.  I didn't do a bisect, so I didn't
add a 'fixes' note, but this patch seems to fix a regression.

adam
>
> diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
> index 4043ecb38016..5123dc80b694 100644
> --- a/arch/arm/boot/dts/omap3.dtsi
> +++ b/arch/arm/boot/dts/omap3.dtsi
> @@ -156,13 +156,28 @@
>                         };
>                 };
>
> -               aes: aes@480c5000 {
> -                       compatible = "ti,omap3-aes";
> -                       ti,hwmods = "aes";
> -                       reg = <0x480c5000 0x50>;
> -                       interrupts = <0>;
> -                       dmas = <&sdma 65 &sdma 66>;
> -                       dma-names = "tx", "rx";
> +               aes_target: target-module@480c5000 {
> +                       compatible = "ti,sysc-omap2", "ti,sysc";
> +                       reg = <0x480c5044 0x4>,
> +                            <0x480c5048 0x4>,
> +                            <0x480c504c 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                      <SYSC_IDLE_NO>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&aes2_ick>;
> +                       clock-names = "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x480c5000 0x2000>;
> +                       aes: aes@0 {
> +                               compatible = "ti,omap3-aes";
> +                               reg = <0 0x50>;
> +                               interrupts = <0>;
> +                               dmas = <&sdma 65 &sdma 66>;
> +                               dma-names = "tx", "rx";
> +                       };
>                 };
>
>                 prm: prm@48306000 {
> @@ -579,13 +594,28 @@
>                         status = "disabled";
>                 };
>
> -               sham: sham@480c3000 {
> -                       compatible = "ti,omap3-sham";
> -                       ti,hwmods = "sham";
> -                       reg = <0x480c3000 0x64>;
> -                       interrupts = <49>;
> -                       dmas = <&sdma 69>;
> -                       dma-names = "rx";
> +               sham_target: target-module@480c3000 {
> +                       compatible = "ti,sysc-omap2", "ti,sysc";
> +                       reg = <0x480c3056 0x4>,
> +                            <0x480c3060 0x4>,
> +                            <0x480c3064 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                      <SYSC_IDLE_NO>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&sha12_ick>;
> +                       clock-names = "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x480c3000 0x2000>;
> +                       sham: sham@0 {
> +                               compatible = "ti,omap3-sham";
> +                               reg = <0 0x64>;
> +                               interrupts = <49>;
> +                               dmas = <&sdma 69>;
> +                               dma-names = "rx";
> +                       };
>                 };
>
>                 timer1: timer@48318000 {
> --
> 2.17.1
>
Tony Lindgren Oct. 9, 2019, 8:13 p.m. UTC | #2
* Adam Ford <aford173@gmail.com> [191009 18:56]:
> On Wed, Sep 25, 2019 at 12:14 PM Adam Ford <aford173@gmail.com> wrote:
> >
> > The AES and SHA engines for the OMAP3 are currently not functional.
> > When the stopped working is unknown, but we have a regression.
> >
> > This patch uses the ti,sysc-omap2 to address the issue and enables
> > to the AES and SHA engines on the DM3730 and OMAP3530 to work once
> > again.
> >
> > Signed-off-by: Adam Ford <aford173@gmail.com>
> 
> Tony,
> 
> Any chance these could get review and/or pushed for 5.4 since they
> used to work and now they don't.  I didn't do a bisect, so I didn't
> add a 'fixes' note, but this patch seems to fix a regression.

Well let's rather tag them with fixes tag and that way they get
merged to stable kernels when ready.

I'd rather not hastily start adding devices hastily during the -rc
cycle as by the time we get there with few weeks in next we're
already too close to the merge window.

And my guess is that this stuff has been broken for many years
and nobody cared until now.

A fixes tag would be good to know though.. And maybe we can get them
working with hwmod data for v5.4-rc cycle with just a minimal change?

Regards,

Tony
Adam Ford Oct. 9, 2019, 8:53 p.m. UTC | #3
On Wed, Oct 9, 2019 at 3:13 PM Tony Lindgren <tony@atomide.com> wrote:
>
> * Adam Ford <aford173@gmail.com> [191009 18:56]:
> > On Wed, Sep 25, 2019 at 12:14 PM Adam Ford <aford173@gmail.com> wrote:
> > >
> > > The AES and SHA engines for the OMAP3 are currently not functional.
> > > When the stopped working is unknown, but we have a regression.
> > >
> > > This patch uses the ti,sysc-omap2 to address the issue and enables
> > > to the AES and SHA engines on the DM3730 and OMAP3530 to work once
> > > again.
> > >
> > > Signed-off-by: Adam Ford <aford173@gmail.com>
> >
> > Tony,
> >
> > Any chance these could get review and/or pushed for 5.4 since they
> > used to work and now they don't.  I didn't do a bisect, so I didn't
> > add a 'fixes' note, but this patch seems to fix a regression.
>
> Well let's rather tag them with fixes tag and that way they get
> merged to stable kernels when ready.
>
> I'd rather not hastily start adding devices hastily during the -rc
> cycle as by the time we get there with few weeks in next we're
> already too close to the merge window.
>
> And my guess is that this stuff has been broken for many years
> and nobody cared until now.

I will try to bisect it tomorrow.

>
> A fixes tag would be good to know though.. And maybe we can get them
> working with hwmod data for v5.4-rc cycle with just a minimal change?

That would be nice.  I am mostly interested because the last kernel
Logic PD released (4.9) had it working and I am hoping to minimize the
patching I will have to do to the 5.4 kernel when done.

thanks,

adam

>
> Regards,
>
> Tony
Adam Ford Oct. 14, 2019, 2:40 p.m. UTC | #4
On Wed, Sep 25, 2019 at 12:14 PM Adam Ford <aford173@gmail.com> wrote:
>
> The AES and SHA engines for the OMAP3 are currently not functional.
> When the stopped working is unknown, but we have a regression.
>
> This patch uses the ti,sysc-omap2 to address the issue and enables
> to the AES and SHA engines on the DM3730 and OMAP3530 to work once
> again.
>

This can be dropped.  I am not sure what I did wrong, but the hwmods
are working on 5.4-RC3.

adam

> Signed-off-by: Adam Ford <aford173@gmail.com>
>
> diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
> index 4043ecb38016..5123dc80b694 100644
> --- a/arch/arm/boot/dts/omap3.dtsi
> +++ b/arch/arm/boot/dts/omap3.dtsi
> @@ -156,13 +156,28 @@
>                         };
>                 };
>
> -               aes: aes@480c5000 {
> -                       compatible = "ti,omap3-aes";
> -                       ti,hwmods = "aes";
> -                       reg = <0x480c5000 0x50>;
> -                       interrupts = <0>;
> -                       dmas = <&sdma 65 &sdma 66>;
> -                       dma-names = "tx", "rx";
> +               aes_target: target-module@480c5000 {
> +                       compatible = "ti,sysc-omap2", "ti,sysc";
> +                       reg = <0x480c5044 0x4>,
> +                            <0x480c5048 0x4>,
> +                            <0x480c504c 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                      <SYSC_IDLE_NO>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&aes2_ick>;
> +                       clock-names = "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x480c5000 0x2000>;
> +                       aes: aes@0 {
> +                               compatible = "ti,omap3-aes";
> +                               reg = <0 0x50>;
> +                               interrupts = <0>;
> +                               dmas = <&sdma 65 &sdma 66>;
> +                               dma-names = "tx", "rx";
> +                       };
>                 };
>
>                 prm: prm@48306000 {
> @@ -579,13 +594,28 @@
>                         status = "disabled";
>                 };
>
> -               sham: sham@480c3000 {
> -                       compatible = "ti,omap3-sham";
> -                       ti,hwmods = "sham";
> -                       reg = <0x480c3000 0x64>;
> -                       interrupts = <49>;
> -                       dmas = <&sdma 69>;
> -                       dma-names = "rx";
> +               sham_target: target-module@480c3000 {
> +                       compatible = "ti,sysc-omap2", "ti,sysc";
> +                       reg = <0x480c3056 0x4>,
> +                            <0x480c3060 0x4>,
> +                            <0x480c3064 0x4>;
> +                       reg-names = "rev", "sysc", "syss";
> +                       ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
> +                       ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> +                                      <SYSC_IDLE_NO>;
> +                       ti,syss-mask = <1>;
> +                       clocks = <&sha12_ick>;
> +                       clock-names = "ick";
> +                       #address-cells = <1>;
> +                       #size-cells = <1>;
> +                       ranges = <0 0x480c3000 0x2000>;
> +                       sham: sham@0 {
> +                               compatible = "ti,omap3-sham";
> +                               reg = <0 0x64>;
> +                               interrupts = <49>;
> +                               dmas = <&sdma 69>;
> +                               dma-names = "rx";
> +                       };
>                 };
>
>                 timer1: timer@48318000 {
> --
> 2.17.1
>
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 4043ecb38016..5123dc80b694 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -156,13 +156,28 @@ 
 			};
 		};
 
-		aes: aes@480c5000 {
-			compatible = "ti,omap3-aes";
-			ti,hwmods = "aes";
-			reg = <0x480c5000 0x50>;
-			interrupts = <0>;
-			dmas = <&sdma 65 &sdma 66>;
-			dma-names = "tx", "rx";
+		aes_target: target-module@480c5000 {
+			compatible = "ti,sysc-omap2", "ti,sysc";
+			reg = <0x480c5044 0x4>,
+			     <0x480c5048 0x4>,
+			     <0x480c504c 0x4>;
+			reg-names = "rev", "sysc", "syss";
+			ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
+			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+				       <SYSC_IDLE_NO>;
+			ti,syss-mask = <1>;
+			clocks = <&aes2_ick>;
+			clock-names = "ick";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x480c5000 0x2000>;
+			aes: aes@0 {
+				compatible = "ti,omap3-aes";
+				reg = <0 0x50>;
+				interrupts = <0>;
+				dmas = <&sdma 65 &sdma 66>;
+				dma-names = "tx", "rx";
+			};
 		};
 
 		prm: prm@48306000 {
@@ -579,13 +594,28 @@ 
 			status = "disabled";
 		};
 
-		sham: sham@480c3000 {
-			compatible = "ti,omap3-sham";
-			ti,hwmods = "sham";
-			reg = <0x480c3000 0x64>;
-			interrupts = <49>;
-			dmas = <&sdma 69>;
-			dma-names = "rx";
+		sham_target: target-module@480c3000 {
+			compatible = "ti,sysc-omap2", "ti,sysc";
+			reg = <0x480c3056 0x4>,
+			     <0x480c3060 0x4>,
+			     <0x480c3064 0x4>;
+			reg-names = "rev", "sysc", "syss";
+			ti,sysc-mask = <(SYSC_OMAP2_AUTOIDLE)>;
+			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+				       <SYSC_IDLE_NO>;
+			ti,syss-mask = <1>;
+			clocks = <&sha12_ick>;
+			clock-names = "ick";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x480c3000 0x2000>;
+			sham: sham@0 {
+				compatible = "ti,omap3-sham";
+				reg = <0 0x64>;
+				interrupts = <49>;
+				dmas = <&sdma 69>;
+				dma-names = "rx";
+			};
 		};
 
 		timer1: timer@48318000 {