crypto: caam: add support for iMX6UL
Subsystems (3)
PATCH 1/1 crypto: caam: add support for iMX6UL
i.MX6UL does only require three clocks to enable CAAM module.
Signed-off-by Marcus Folkesson <[email protected]>
--- .../devicetree/bindings/crypto/fsl-sec4.txt | 20 +++++++++++++ drivers/crypto/caam/ctrl.c | 35 ++++++++++++---------- 2 files changed, 40 insertions(+), 15 deletions(-)
Documentation/devicetree/bindings/crypto/fsl-sec4.txt +20 -0
@@ -123,6 +123,9 @@ PROPERTIES EXAMPLE + +i.MX6Q/DL/SX requires four clocks + crypto@300000 { compatible = "fsl,sec-v4.0"; fsl,sec-era = <2>;
@@ -139,6 +142,23 @@ EXAMPLE clock-names = "mem", "aclk", "ipg", "emi_slow"; }; + +i.MX6UL does only require three clocks + + crypto: caam@2140000 { + compatible = "fsl,sec-v4.0"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x2140000 0x3c000>; + ranges = <0 0x2140000 0x3c000>; + interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; + + clocks = <&clks IMX6UL_CLK_CAAM_MEM>, + <&clks IMX6UL_CLK_CAAM_ACLK>, + <&clks IMX6UL_CLK_CAAM_IPG>; + clock-names = "mem", "aclk", "ipg"; + }; + ===================================================================== Job Ring (JR) Node
drivers/crypto/caam/ctrl.c +20 -15
@@ -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 (&pdev->dev,"emi_slow" ); -if (IS_ERR (clk)) { - ret =PTR_ERR (clk); -dev_err (&pdev->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 (&pdev->dev,"emi_slow" ); +if (IS_ERR (clk)) { + ret =PTR_ERR (clk); +dev_err (&pdev->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 (&pdev->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 (&pdev->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:
Signature · 1 line
2.8.0
Quoted 3 lines · Marcus Folkesson
i.MX6UL does only require three clocks to enable CAAM module.
Signed-off-by Marcus Folkesson <[email protected]>
Reviewed-by Horia Geantă <[email protected]>
Thanks,
Horia
Quoted 5 lines · Marcus Folkesson
i.MX6UL does only require three clocks to enable CAAM module.
Signed-off-by Marcus Folkesson <[email protected]>--- .../devicetree/bindings/crypto/fsl-sec4.txt | 20 +++++++++++++
Acked-by Rob Herring <[email protected]>
Quoted 2 lines
drivers/crypto/caam/ctrl.c | 35 ++++++++++++---------- 2 files changed, 40 insertions(+), 15 deletions(-)