MLK-17674-4: driver/crypto: CAAM add support for 7ulp
authorSilvano di Ninno <silvano.dininno@nxp.com>
Fri, 16 Mar 2018 13:49:57 +0000 (14:49 +0100)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:57:01 +0000 (14:57 -0500)
Add support for imx7ulp SoC.

Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com>
arch/arm/boot/dts/imx7ulp.dtsi
drivers/crypto/caam/ctrl.c

index 27aa8a1..f5e900a 100644 (file)
                reg = <0x1fffc000 0x4000>;
        };
 
+       caam_sm: caam-sm@26000000 {
+                        compatible = "fsl,imx6q-caam-sm";
+                        reg = <0x26000000 0x7fff>;
+       };
+
        ahbbridge0: ahb-bridge0@40000000 {
                compatible = "fsl,aips-bus", "simple-bus";
                #address-cells = <1>;
                        status = "okay";
                };
 
+               crypto: caam@40240000 {
+                       compatible = "fsl,sec-v4.0";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x40240000 0x40000>;
+                       ranges = <0 0x40240000 0x40000>;
+                       clocks = <&clks IMX7ULP_CLK_CAAM>,
+                               <&clks IMX7ULP_CLK_NIC1_DIV>;
+
+                       sec_ctrl: ctrl@0 {
+                               /* CAAM Page 0 only accessible */
+                               /*      by secure world */
+                               compatible = "fsl,sec-v4.0-ctrl";
+                               reg = <0x40240000 0x1000>;
+                               secure-status = "okay";
+                               status = "disabled";
+                       };
+
+                       sec_jr0: jr0@1000 {
+                               compatible = "fsl,sec-v4.0-job-ring";
+                               reg = <0x1000 0x1000>;
+                               interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
+                       };
+
+                       sec_jr1: jr1@2000 {
+                               compatible = "fsl,sec-v4.0-job-ring";
+                               reg = <0x2000 0x1000>;
+                               interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
+                               status = "disabled";
+                       };
+               };
+
                rpmsg: rpmsg{
                        compatible = "fsl,imx7ulp-rpmsg";
                        memory-region = <&rpmsg_reserved>;
index cff830b..5f48ccd 100644 (file)
@@ -597,7 +597,8 @@ static int caam_probe(struct platform_device *pdev)
 
        if (!of_machine_is_compatible("fsl,imx8mq") &&
             !of_machine_is_compatible("fsl,imx8qm") &&
-            !of_machine_is_compatible("fsl,imx8qxp")) {
+            !of_machine_is_compatible("fsl,imx8qxp") &&
+            !of_machine_is_compatible("fsl,imx7ulp")) {
                ret = init_clocks(ctrlpriv);
                if (ret)
                        goto disable_clocks;
@@ -732,8 +733,9 @@ iounmap_ctrl:
        iounmap(ctrl);
 disable_clocks:
        if (!of_machine_is_compatible("fsl,imx8mq") &&
-           !of_machine_is_compatible("fsl,imx8qm") &&
-           !of_machine_is_compatible("fsl,imx8qxp")) {
+            !of_machine_is_compatible("fsl,imx8qm") &&
+            !of_machine_is_compatible("fsl,imx8qxp") &&
+            !of_machine_is_compatible("fsl,imx7ulp")) {
                clk_disable_unprepare(ctrlpriv->caam_emi_slow);
                clk_disable_unprepare(ctrlpriv->caam_aclk);
                clk_disable_unprepare(ctrlpriv->caam_mem);