Re: [RESEND][PATCH] crypto: caam: add support for iMX6UL
On Mon, Oct 17, 2016 at 01:28:00PM +0200, Marcus Folkesson wrote: > i.MX6UL does only require three clocks to enable CAAM module. > > Signed-off-by: Marcus Folkesson> Acked-by: Rob Herring > Reviewed-by: Horia Geantă > --- > .../devicetree/bindings/crypto/fsl-sec4.txt| 20 + > drivers/crypto/caam/ctrl.c | 35 > -- > 2 files changed, 40 insertions(+), 15 deletions(-) > > diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > index adeca34..10a425f 100644 > --- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > +++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > @@ -123,6 +123,9 @@ PROPERTIES > > > EXAMPLE > + > +iMX6QDL/SX requires four clocks > + > crypto@30 { > compatible = "fsl,sec-v4.0"; > fsl,sec-era = <2>; > @@ -139,6 +142,23 @@ EXAMPLE > clock-names = "mem", "aclk", "ipg", "emi_slow"; > }; > > + > +iMX6UL does only require three clocks > + > + crypto: caam@214 { > + compatible = "fsl,sec-v4.0"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0x214 0x3c000>; > + ranges = <0 0x214 0x3c000>; > + interrupts = ; > + > + clocks = < IMX6UL_CLK_CAAM_MEM>, > + < IMX6UL_CLK_CAAM_ACLK>, > + < IMX6UL_CLK_CAAM_IPG>; > + clock-names = "mem", "aclk", "ipg"; > + }; > + > = > Job Ring (JR) Node > > diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c > index 0ec112e..5abaf37 100644 > --- a/drivers/crypto/caam/ctrl.c > +++ b/drivers/crypto/caam/ctrl.c > @@ -329,8 +329,8 @@ static int caam_remove(struct platform_device *pdev) > clk_disable_unprepare(ctrlpriv->caam_ipg); > clk_disable_unprepare(ctrlpriv->caam_mem); > clk_disable_unprepare(ctrlpriv->caam_aclk); > - clk_disable_unprepare(ctrlpriv->caam_emi_slow); > - > + if (!of_machine_is_compatible("fsl,imx6ul")) > + clk_disable_unprepare(ctrlpriv->caam_emi_slow); There is no need to re-lookup the platform here. Can't you check the validity of ctrlpriv->caam_emi_slow ? > return 0; > } > > @@ -481,14 +481,16 @@ static int caam_probe(struct platform_device *pdev) > } > ctrlpriv->caam_aclk = clk; > > - clk = caam_drv_identify_clk(>dev, "emi_slow"); > - if (IS_ERR(clk)) { > - ret = PTR_ERR(clk); > - dev_err(>dev, > - "can't identify CAAM emi_slow clk: %d\n", ret); > - return ret; > + if (!of_machine_is_compatible("fsl,imx6ul")) { > + clk = caam_drv_identify_clk(>dev, "emi_slow"); > + if (IS_ERR(clk)) { > + ret = PTR_ERR(clk); > + dev_err(>dev, > + "can't identify CAAM emi_slow clk: %d\n", ret); > + return ret; > + } > + ctrlpriv->caam_emi_slow = clk; > } > - ctrlpriv->caam_emi_slow = clk; > > ret = clk_prepare_enable(ctrlpriv->caam_ipg); > if (ret < 0) { > @@ -509,11 +511,13 @@ static int caam_probe(struct platform_device *pdev) > goto disable_caam_mem; > } > > - ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); > - if (ret < 0) { > - dev_err(>dev, "can't enable CAAM emi slow clock: %d\n", > - ret); > - goto disable_caam_aclk; > + if (!of_machine_is_compatible("fsl,imx6ul")) { Same here. > + ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); > + if (ret < 0) { > + dev_err(>dev, "can't enable CAAM emi slow clock: > %d\n", > + ret); > + goto disable_caam_aclk; > + } > } > > /* Get configuration properties from device tree */ > @@ -829,7 +833,8 @@ caam_remove: > iounmap_ctrl: > iounmap(ctrl); > disable_caam_emi_slow: > - clk_disable_unprepare(ctrlpriv->caam_emi_slow); > + if (!of_machine_is_compatible("fsl,imx6ul")) > + clk_disable_unprepare(ctrlpriv->caam_emi_slow); and here. > disable_caam_aclk: > clk_disable_unprepare(ctrlpriv->caam_aclk); > disable_caam_mem: > -- > 2.8.0 > -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
Re: [RESEND][PATCH] crypto: caam: add support for iMX6UL
On Mon, Oct 17, 2016 at 01:28:00PM +0200, Marcus Folkesson wrote: > i.MX6UL does only require three clocks to enable CAAM module. > > Signed-off-by: Marcus Folkesson > Acked-by: Rob Herring > Reviewed-by: Horia Geantă > --- > .../devicetree/bindings/crypto/fsl-sec4.txt| 20 + > drivers/crypto/caam/ctrl.c | 35 > -- > 2 files changed, 40 insertions(+), 15 deletions(-) > > diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > index adeca34..10a425f 100644 > --- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > +++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt > @@ -123,6 +123,9 @@ PROPERTIES > > > EXAMPLE > + > +iMX6QDL/SX requires four clocks > + > crypto@30 { > compatible = "fsl,sec-v4.0"; > fsl,sec-era = <2>; > @@ -139,6 +142,23 @@ EXAMPLE > clock-names = "mem", "aclk", "ipg", "emi_slow"; > }; > > + > +iMX6UL does only require three clocks > + > + crypto: caam@214 { > + compatible = "fsl,sec-v4.0"; > + #address-cells = <1>; > + #size-cells = <1>; > + reg = <0x214 0x3c000>; > + ranges = <0 0x214 0x3c000>; > + interrupts = ; > + > + clocks = < IMX6UL_CLK_CAAM_MEM>, > + < IMX6UL_CLK_CAAM_ACLK>, > + < IMX6UL_CLK_CAAM_IPG>; > + clock-names = "mem", "aclk", "ipg"; > + }; > + > = > Job Ring (JR) Node > > diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c > index 0ec112e..5abaf37 100644 > --- a/drivers/crypto/caam/ctrl.c > +++ b/drivers/crypto/caam/ctrl.c > @@ -329,8 +329,8 @@ static int caam_remove(struct platform_device *pdev) > clk_disable_unprepare(ctrlpriv->caam_ipg); > clk_disable_unprepare(ctrlpriv->caam_mem); > clk_disable_unprepare(ctrlpriv->caam_aclk); > - clk_disable_unprepare(ctrlpriv->caam_emi_slow); > - > + if (!of_machine_is_compatible("fsl,imx6ul")) > + clk_disable_unprepare(ctrlpriv->caam_emi_slow); There is no need to re-lookup the platform here. Can't you check the validity of ctrlpriv->caam_emi_slow ? > return 0; > } > > @@ -481,14 +481,16 @@ static int caam_probe(struct platform_device *pdev) > } > ctrlpriv->caam_aclk = clk; > > - clk = caam_drv_identify_clk(>dev, "emi_slow"); > - if (IS_ERR(clk)) { > - ret = PTR_ERR(clk); > - dev_err(>dev, > - "can't identify CAAM emi_slow clk: %d\n", ret); > - return ret; > + if (!of_machine_is_compatible("fsl,imx6ul")) { > + clk = caam_drv_identify_clk(>dev, "emi_slow"); > + if (IS_ERR(clk)) { > + ret = PTR_ERR(clk); > + dev_err(>dev, > + "can't identify CAAM emi_slow clk: %d\n", ret); > + return ret; > + } > + ctrlpriv->caam_emi_slow = clk; > } > - ctrlpriv->caam_emi_slow = clk; > > ret = clk_prepare_enable(ctrlpriv->caam_ipg); > if (ret < 0) { > @@ -509,11 +511,13 @@ static int caam_probe(struct platform_device *pdev) > goto disable_caam_mem; > } > > - ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); > - if (ret < 0) { > - dev_err(>dev, "can't enable CAAM emi slow clock: %d\n", > - ret); > - goto disable_caam_aclk; > + if (!of_machine_is_compatible("fsl,imx6ul")) { Same here. > + ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); > + if (ret < 0) { > + dev_err(>dev, "can't enable CAAM emi slow clock: > %d\n", > + ret); > + goto disable_caam_aclk; > + } > } > > /* Get configuration properties from device tree */ > @@ -829,7 +833,8 @@ caam_remove: > iounmap_ctrl: > iounmap(ctrl); > disable_caam_emi_slow: > - clk_disable_unprepare(ctrlpriv->caam_emi_slow); > + if (!of_machine_is_compatible("fsl,imx6ul")) > + clk_disable_unprepare(ctrlpriv->caam_emi_slow); and here. > disable_caam_aclk: > clk_disable_unprepare(ctrlpriv->caam_aclk); > disable_caam_mem: > -- > 2.8.0 > -- RMK's Patch system: http://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net.
Re: [RESEND][PATCH] crypto: caam: add support for iMX6UL
On Mon, Oct 17, 2016 at 01:28:00PM +0200, Marcus Folkesson wrote: > i.MX6UL does only require three clocks to enable CAAM module. > > Signed-off-by: Marcus Folkesson> Acked-by: Rob Herring > Reviewed-by: Horia Geantă Patch applied. Thanks. -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Re: [RESEND][PATCH] crypto: caam: add support for iMX6UL
On Mon, Oct 17, 2016 at 01:28:00PM +0200, Marcus Folkesson wrote: > i.MX6UL does only require three clocks to enable CAAM module. > > Signed-off-by: Marcus Folkesson > Acked-by: Rob Herring > Reviewed-by: Horia Geantă Patch applied. Thanks. -- Email: Herbert Xu Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
[RESEND][PATCH] crypto: caam: add support for iMX6UL
i.MX6UL does only require three clocks to enable CAAM module. Signed-off-by: Marcus FolkessonAcked-by: Rob Herring Reviewed-by: Horia Geantă --- .../devicetree/bindings/crypto/fsl-sec4.txt| 20 + drivers/crypto/caam/ctrl.c | 35 -- 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt index adeca34..10a425f 100644 --- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt +++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt @@ -123,6 +123,9 @@ PROPERTIES EXAMPLE + +iMX6QDL/SX requires four clocks + crypto@30 { compatible = "fsl,sec-v4.0"; fsl,sec-era = <2>; @@ -139,6 +142,23 @@ EXAMPLE clock-names = "mem", "aclk", "ipg", "emi_slow"; }; + +iMX6UL does only require three clocks + + crypto: caam@214 { + compatible = "fsl,sec-v4.0"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x214 0x3c000>; + ranges = <0 0x214 0x3c000>; + interrupts = ; + + clocks = < IMX6UL_CLK_CAAM_MEM>, +< IMX6UL_CLK_CAAM_ACLK>, +< IMX6UL_CLK_CAAM_IPG>; + clock-names = "mem", "aclk", "ipg"; + }; + = Job Ring (JR) Node diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index 0ec112e..5abaf37 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -329,8 +329,8 @@ static int caam_remove(struct platform_device *pdev) clk_disable_unprepare(ctrlpriv->caam_ipg); clk_disable_unprepare(ctrlpriv->caam_mem); clk_disable_unprepare(ctrlpriv->caam_aclk); - clk_disable_unprepare(ctrlpriv->caam_emi_slow); - + if (!of_machine_is_compatible("fsl,imx6ul")) + clk_disable_unprepare(ctrlpriv->caam_emi_slow); return 0; } @@ -481,14 +481,16 @@ static int caam_probe(struct platform_device *pdev) } ctrlpriv->caam_aclk = clk; - clk = caam_drv_identify_clk(>dev, "emi_slow"); - if (IS_ERR(clk)) { - ret = PTR_ERR(clk); - dev_err(>dev, - "can't identify CAAM emi_slow clk: %d\n", ret); - return ret; + if (!of_machine_is_compatible("fsl,imx6ul")) { + clk = caam_drv_identify_clk(>dev, "emi_slow"); + if (IS_ERR(clk)) { + ret = PTR_ERR(clk); + dev_err(>dev, + "can't identify CAAM emi_slow clk: %d\n", ret); + return ret; + } + ctrlpriv->caam_emi_slow = clk; } - ctrlpriv->caam_emi_slow = clk; ret = clk_prepare_enable(ctrlpriv->caam_ipg); if (ret < 0) { @@ -509,11 +511,13 @@ static int caam_probe(struct platform_device *pdev) goto disable_caam_mem; } - ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); - if (ret < 0) { - dev_err(>dev, "can't enable CAAM emi slow clock: %d\n", - ret); - goto disable_caam_aclk; + if (!of_machine_is_compatible("fsl,imx6ul")) { + ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); + if (ret < 0) { + dev_err(>dev, "can't enable CAAM emi slow clock: %d\n", + ret); + goto disable_caam_aclk; + } } /* Get configuration properties from device tree */ @@ -829,7 +833,8 @@ caam_remove: iounmap_ctrl: iounmap(ctrl); disable_caam_emi_slow: - clk_disable_unprepare(ctrlpriv->caam_emi_slow); + if (!of_machine_is_compatible("fsl,imx6ul")) + clk_disable_unprepare(ctrlpriv->caam_emi_slow); disable_caam_aclk: clk_disable_unprepare(ctrlpriv->caam_aclk); disable_caam_mem: -- 2.8.0
[RESEND][PATCH] crypto: caam: add support for iMX6UL
i.MX6UL does only require three clocks to enable CAAM module. Signed-off-by: Marcus Folkesson Acked-by: Rob Herring Reviewed-by: Horia Geantă --- .../devicetree/bindings/crypto/fsl-sec4.txt| 20 + drivers/crypto/caam/ctrl.c | 35 -- 2 files changed, 40 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt index adeca34..10a425f 100644 --- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt +++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt @@ -123,6 +123,9 @@ PROPERTIES EXAMPLE + +iMX6QDL/SX requires four clocks + crypto@30 { compatible = "fsl,sec-v4.0"; fsl,sec-era = <2>; @@ -139,6 +142,23 @@ EXAMPLE clock-names = "mem", "aclk", "ipg", "emi_slow"; }; + +iMX6UL does only require three clocks + + crypto: caam@214 { + compatible = "fsl,sec-v4.0"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x214 0x3c000>; + ranges = <0 0x214 0x3c000>; + interrupts = ; + + clocks = < IMX6UL_CLK_CAAM_MEM>, +< IMX6UL_CLK_CAAM_ACLK>, +< IMX6UL_CLK_CAAM_IPG>; + clock-names = "mem", "aclk", "ipg"; + }; + = Job Ring (JR) Node diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c index 0ec112e..5abaf37 100644 --- a/drivers/crypto/caam/ctrl.c +++ b/drivers/crypto/caam/ctrl.c @@ -329,8 +329,8 @@ static int caam_remove(struct platform_device *pdev) clk_disable_unprepare(ctrlpriv->caam_ipg); clk_disable_unprepare(ctrlpriv->caam_mem); clk_disable_unprepare(ctrlpriv->caam_aclk); - clk_disable_unprepare(ctrlpriv->caam_emi_slow); - + if (!of_machine_is_compatible("fsl,imx6ul")) + clk_disable_unprepare(ctrlpriv->caam_emi_slow); return 0; } @@ -481,14 +481,16 @@ static int caam_probe(struct platform_device *pdev) } ctrlpriv->caam_aclk = clk; - clk = caam_drv_identify_clk(>dev, "emi_slow"); - if (IS_ERR(clk)) { - ret = PTR_ERR(clk); - dev_err(>dev, - "can't identify CAAM emi_slow clk: %d\n", ret); - return ret; + if (!of_machine_is_compatible("fsl,imx6ul")) { + clk = caam_drv_identify_clk(>dev, "emi_slow"); + if (IS_ERR(clk)) { + ret = PTR_ERR(clk); + dev_err(>dev, + "can't identify CAAM emi_slow clk: %d\n", ret); + return ret; + } + ctrlpriv->caam_emi_slow = clk; } - ctrlpriv->caam_emi_slow = clk; ret = clk_prepare_enable(ctrlpriv->caam_ipg); if (ret < 0) { @@ -509,11 +511,13 @@ static int caam_probe(struct platform_device *pdev) goto disable_caam_mem; } - ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); - if (ret < 0) { - dev_err(>dev, "can't enable CAAM emi slow clock: %d\n", - ret); - goto disable_caam_aclk; + if (!of_machine_is_compatible("fsl,imx6ul")) { + ret = clk_prepare_enable(ctrlpriv->caam_emi_slow); + if (ret < 0) { + dev_err(>dev, "can't enable CAAM emi slow clock: %d\n", + ret); + goto disable_caam_aclk; + } } /* Get configuration properties from device tree */ @@ -829,7 +833,8 @@ caam_remove: iounmap_ctrl: iounmap(ctrl); disable_caam_emi_slow: - clk_disable_unprepare(ctrlpriv->caam_emi_slow); + if (!of_machine_is_compatible("fsl,imx6ul")) + clk_disable_unprepare(ctrlpriv->caam_emi_slow); disable_caam_aclk: clk_disable_unprepare(ctrlpriv->caam_aclk); disable_caam_mem: -- 2.8.0