ARM: dts: imx7s: Pass the 'fsl,sec-era' property
Subsystems (2)
Fabio Estevam
reviewerPATCH 1/1 ARM: dts: imx7s: Pass the 'fsl,sec-era' property
From: Fabio Estevam <[email protected]>
Currently the following error is seen from the CAAM driver:
caam 30900000.caam: device ID = 0x0a16030000000000 (Era -524)
Pass the 'fsl,sec-era' property to properly describe the era information.
This error happens because the 'fsl,sec-era' is not passed via device tree.
The era information is used in various places inside drivers/crypto/caam, so pass the correct version via device tree.
---
I have sent a patch for 4.18 that allows retrieving the era information from the CAAM registers in run-time:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/crypto/caam/ctrl.c?h=next-20180424&id=654f2b937b389295581bcb4aa26011a63db7bc8f
This will only be applied in 4.18 though.
In order to avoid i.MX7 report the incorrect era version in 4.17, let's pass this property.
arch/arm/boot/dts/imx7s.dtsi | 1 + 1 file changed, 1 insertion(+)
arch/arm/boot/dts/imx7s.dtsi +1 -0
@@ -884,6 +884,7 @@ crypto: caam at 30900000 { compatible = "fsl,sec-v4.0"; + fsl,sec-era = <8>; #address-cells = <1>; #size-cells = <1>; reg = <0x30900000 0x40000>;
Signature · 1 line
2.7.4
PATCH 1/1 ARM: dts: imx7s: Pass the 'fsl,sec-era' property
Quoted 6 lines · Fabio Estevam
From: Fabio Estevam <[email protected]>
Currently the following error is seen from the CAAM driver:
caam 30900000.caam: device ID =
0x0a16030000000000(Era -524)
Quoted 8 lines
Pass the 'fsl,sec-era' property to properly describe the era information.
This error happens because the 'fsl,sec-era' is not passed via device tree.
The era information is used in various places inside
drivers/crypto/caam, so pass the correct version via device tree.
The property is documented as optional in the bindings. Missing the property shouldn't cause any fatal error, I guess.
Shawn
Quoted 31 lines
Fixes 0eeabcad7da5 ("ARM: dts: imx7s: add CAAM device node")Signed-off-by Fabio Estevam <[email protected]>---
I have sent a patch for 4.18 that allows retrieving the era information from the CAAM registers in run-time:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/crypto/caam/ctrl.c?h=next-20180424&id=654f2b937b389295581bcb4aa26011a63db7bc8fThis will only be applied in 4.18 though.
In order to avoid i.MX7 report the incorrect era version in 4.17, let's pass this property.
arch/arm/boot/dts/imx7s.dtsi | 1 + 1 file changed, 1 insertion(+)arch/arm/boot/dts/imx7s.dtsi +1
-0@@ -884,6 +884,7 @@ crypto: caam at 30900000 { compatible = "fsl,sec-v4.0"; + fsl,sec-era = <8>; #address-cells = <1>; #size-cells = <1>; reg = <0x30900000 0x40000>;Signature · 1 line
2.7.4
Fabio Estevam
reviewerPATCH 1/1 ARM: dts: imx7s: Pass the 'fsl,sec-era' property
Hi Shawn,
Quoted 2 lines · Shawn Guo
The property is documented as optional in the bindings. Missing the property shouldn't cause any fatal error, I guess.
The CAAM drivers uses the era information in many places:
drivers/crypto/caam/caamalg.c: if (ctrlpriv->era >= 6) {
drivers/crypto/caam/caamalg.c: if (ctrlpriv->era < 3)
drivers/crypto/caam/caamalg.c: if (priv->era >= 6 && uses_dkp)
drivers/crypto/caam/caamalg_desc.c: if (era < 6) {
drivers/crypto/caam/caamalg_desc.c: /* Class 2 operation */
drivers/crypto/caam/caamalg_desc.c: if (era < 6) {
drivers/crypto/caam/caamalg_desc.c: /* Class 2 operation */
drivers/crypto/caam/caamalg_desc.c: if (era < 6) {If the era information is not provided the value of -524 (-ENOTSUPP) will be used, so all the above logic will not operate correctly.
I have sent a patch that allows the era information to be retrieved via CAAM registers:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/crypto/caam/ctrl.c?h=next-20180424&id=654f2b937b389295581bcb4aa26011a63db7bc8f
but this will only land in 4.18.
In order to avoid i.MX7 to report the incorrect era information in 4.17 I suggest that this patch should be applied for 4.17-rc.
Also, the other i.mx SoCs pass the fsl,sec-era in their dts.
Thanks
PATCH 1/1 ARM: dts: imx7s: Pass the 'fsl,sec-era' property
Quoted 21 lines · Fabio Estevam
Hi Shawn,
Quoted 2 lines · Shawn Guo
The property is documented as optional in the bindings. Missing the property shouldn't cause any fatal error, I guess.
The CAAM drivers uses the era information in many places:
drivers/crypto/caam/caamalg.c: if (ctrlpriv->era >= 6) { drivers/crypto/caam/caamalg.c: if (ctrlpriv->era < 3) drivers/crypto/caam/caamalg.c: if (priv->era >= 6 && uses_dkp) drivers/crypto/caam/caamalg_desc.c: if (era < 6) { drivers/crypto/caam/caamalg_desc.c: /* Class 2 operation */ drivers/crypto/caam/caamalg_desc.c: if (era < 6) { drivers/crypto/caam/caamalg_desc.c: /* Class 2 operation */ drivers/crypto/caam/caamalg_desc.c: if (era < 6) {If the era information is not provided the value of -524 (
-ENOTSUPP) will be used, so all the above logic will not operate correctly.
Quoted 8 lines
I have sent a patch that allows the era information to be retrieved via CAAM registers:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/crypto/caam/ctrl.c?h=next-20180424&id=654f2b937b389295581bcb4aa26011a63db7bc8fbut this will only land in 4.18.
In order to avoid i.MX7 to report the incorrect era information in 4.17 I suggest that this patch should be applied for 4.17-rc.
I applied it for 4.17, but still questioning whether it's reasonable to have the property documented as optional in bindings, if missing the property results in a non-functional driver.
Shawn
Fabio Estevam
reviewerPATCH 1/1 ARM: dts: imx7s: Pass the 'fsl,sec-era' property
Quoted 3 lines · Shawn Guo
I applied it for 4.17, but still questioning whether it's reasonable to have the property documented as optional in bindings, if missing the property results in a non-functional driver.
Thanks Shawn. Yes, after my CAAM patch gets applied it will be a proper optional property.