Add the Inline Crypto node and wire it to ufs_mem,
enabling UFS storage encryption on x1e80100 and
derivative SOCs.

This is needed to support encrypted storage on
the Microsoft Surface Pro 12-inch.

Signed-off-by: Harrison Vanderbyl <[email protected]>
---
 arch/arm64/boot/dts/qcom/hamoa.dtsi | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/hamoa.dtsi 
b/arch/arm64/boot/dts/qcom/hamoa.dtsi
index 051dee076416..22420d0a323a 100644
--- a/arch/arm64/boot/dts/qcom/hamoa.dtsi
+++ b/arch/arm64/boot/dts/qcom/hamoa.dtsi
@@ -3952,6 +3952,8 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
                        phys = <&ufs_mem_phy>;
                        phy-names = "ufsphy";
 
+                       qcom,ice = <&ice>;
+
                        #reset-cells = <1>;
 
                        status = "disabled";
@@ -3997,6 +3999,14 @@ opp-300000000 {
                        };
                };
 
+               ice: crypto@1d88000 {
+                       compatible = "qcom,x1e80100-inline-crypto-engine",
+                                    "qcom,inline-crypto-engine";
+                       reg = <0x0 0x01d88000 0x0 0x8000>;
+
+                       clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
+               };
+
                cryptobam: dma-controller@1dc4000 {
                        compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
                        reg = <0x0 0x01dc4000 0x0 0x28000>;
-- 
2.53.0

Reply via email to