Skip to contentSkip to conversation

Enable ICE for UFS on Hamoa IoT EVK

PATCH Applied Wenjia Zhang 6 participants 9 messages Jul 28 – Nov 8

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

v3 cover Enable ICE for UFS on Hamoa IoT EVK

This series enables the Inline Crypto Engine (ICE) hardware for UFS storage on the Qualcomm X1E80100 (Hamoa IoT EVK) platform.

The ICE hardware provides AES-256-XTS inline encryption/decryption for UFS storage, offloading cryptographic operations from the CPU. The hardware version on this platform is ICE v4.0.1 with HWKM v2 support.

Validation:
- Probe successfully
- Standard key work well

Patch 1 adds the new compatible string to the DT binding documentation. Patch 2 adds the ICE device node to the Hamoa DTSI.

---
Changes in v3:
- Rebased on top of latest linux-next.
- Removed dependency on prerequisite series; all required changes are now
in mainline.
- Link to v2: https://lore.kernel.org/r/[email protected]

Changes in v2:
- Improve commit messages for both patches.
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Wenjia Zhang (2):
dt-bindings: crypto: qcom,inline-crypto-engine: Add x1e80100 support
arm64: dts: qcom: hamoa: Add ICE node for UFS inline encryption

 .../bindings/crypto/qcom,inline-crypto-engine.yaml          |  1 +
 arch/arm64/boot/dts/qcom/hamoa.dtsi                         | 13 +++++++++++++
 2 files changed, 14 insertions(+)

---
base-commit: 0d33d21e47d9dc66f91e44da3fc9220c74d93df7
change-id: 20260728-hamoa_ufs_ice_change-3179799cab79

Best regards,

Signature · 1 line
Wenjia Zhang <[email protected]>
#1 lore raw

PATCH v3 1/2 dt-bindings: crypto: qcom,inline-crypto-engine: Add x1e80100 support

Document the compatible string for inline crypto engine found on the Qualcomm X1E80100 SoC, used by the Hamoa IoT EVK board.

---
 Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml | 1 +
 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml +1 -0
index ed2dd99eb1b120267a20104b4d1cf27a347542c9..23bf98c2b9fa0d415d248d9dd145f16bce961fc8 100644
@@ -28,6 +28,7 @@ properties:
           - qcom,sm8550-inline-crypto-engine
           - qcom,sm8650-inline-crypto-engine
           - qcom,sm8750-inline-crypto-engine
+          - qcom,x1e80100-inline-crypto-engine
       - const: qcom,inline-crypto-engine
 
   reg:
Signature · 1 line
2.43.0
Acked-by on v3 1/2
#2 lore raw

Re: [PATCH v3 1/2] dt-bindings: crypto: qcom,inline-crypto-engine: Add x1e80100 support

Quoted 7 lines · Wenjia Zhang

Document the compatible string for inline crypto engine found on the Qualcomm X1E80100 SoC, used by the Hamoa IoT EVK board.

---
 Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml | 1 +
 1 file changed, 1 insertion(+)

Best regards,
Krzysztof

maintainer
#3 lore raw

Re: [PATCH v3 1/2] dt-bindings: crypto: qcom,inline-crypto-engine: Add x1e80100 support

In reply to Wenjia Zhang
Quoted 7 lines · Wenjia Zhang

Document the compatible string for inline crypto engine found on the Qualcomm X1E80100 SoC, used by the Hamoa IoT EVK board.

---
 Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml | 1 +
 1 file changed, 1 insertion(+)

Patch applied. Thanks.

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
#4 lore raw

PATCH v3 2/2 arm64: dts: qcom: hamoa: Add ICE node for UFS inline encryption

In reply to Wenjia Zhang

Add the Inline Crypto Engine (ICE) device node to describe the hardware-accelerated inline encryption for UFS storage on the Hamoa IoT EVK board (Qualcomm X1E80100 SoC).

---
 arch/arm64/boot/dts/qcom/hamoa.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)
arch/arm64/boot/dts/qcom/hamoa.dtsi +13 -0
index 09527dcf957672b4b9658988359e79d8a432fd93..abec577c062d53952528f3bd0330638ea53b83b3 100644
@@ -3894,6 +3894,8 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
 			phys = <&ufs_mem_phy>;
 			phy-names = "ufsphy";
 
+			qcom,ice = <&ice>;
+
 			#reset-cells = <1>;
 
 			status = "disabled";
@@ -3939,6 +3941,17 @@ opp-300000000 {
 			};
 		};
 
+		ice: crypto@1d88000 {
+			compatible = "qcom,x1e80100-inline-crypto-engine",
+				     "qcom,inline-crypto-engine";
+			reg = <0x0 0x01d88000 0x0 0x18000>;
+			clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
+				 <&gcc GCC_UFS_PHY_AHB_CLK>;
+			clock-names = "core",
+				      "iface";
+			power-domains = <&gcc GCC_UFS_PHY_GDSC>;
+		};
+
 		cryptobam: dma-controller@1dc4000 {
 			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
 			reg = <0x0 0x01dc4000 0x0 0x28000>;
Signature · 1 line
2.43.0
Reviewed-by on v3 2/2
#5 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: hamoa: Add ICE node for UFS inline encryption

Quoted 6 lines · Wenjia Zhang

Add the Inline Crypto Engine (ICE) device node to describe the hardware-accelerated inline encryption for UFS storage on the Hamoa IoT EVK board (Qualcomm X1E80100 SoC).

---

Konrad

#7 lore raw

Re: [PATCH v3 2/2] arm64: dts: qcom: hamoa: Add ICE node for UFS inline encryption

In reply to Wenjia Zhang
Quoted 30 lines · Wenjia Zhang

Add the Inline Crypto Engine (ICE) device node to describe the hardware-accelerated inline encryption for UFS storage on the Hamoa IoT EVK board (Qualcomm X1E80100 SoC).

---
  arch/arm64/boot/dts/qcom/hamoa.dtsi | 13 +++++++++++++
  1 file changed, 13 insertions(+)
arch/arm64/boot/dts/qcom/hamoa.dtsi +6 -0
index 09527dcf957672b4b9658988359e79d8a432fd93..abec577c062d53952528f3bd0330638ea53b83b3 100644
@@ -3894,6 +3894,8 @@ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
  			phys = <&ufs_mem_phy>;
  			phy-names = "ufsphy";
 
+			qcom,ice = <&ice>;
+
  			#reset-cells = <1>;
 
  			status = "disabled";
@@ -3939,6 +3941,17 @@ opp-300000000 {
  			};
  		};
 
+		ice: crypto@1d88000 {
+			compatible = "qcom,x1e80100-inline-crypto-engine",
+				     "qcom,inline-crypto-engine";
+			reg = <0x0 0x01d88000 0x0 0x18000>;

arch/arm64/boot/dts/qcom/hamoa.dtsi opp-300000000 { · line 3957

Quoted 10 lines
arch/arm64/boot/dts/qcom/hamoa.dtsi +7 -0
+			clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
+				 <&gcc GCC_UFS_PHY_AHB_CLK>;
+			clock-names = "core",
+				      "iface";
+			power-domains = <&gcc GCC_UFS_PHY_GDSC>;
+		};
+
  		cryptobam: dma-controller@1dc4000 {
  			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
  			reg = <0x0 0x01dc4000 0x0 0x28000>;

Hi Bjorn,

could you pls help to pick this DT change?

Thanks,

Wenjia Zhang

maintainer Applied
#8 lore raw

Re: (subset) [PATCH v3 0/2] Enable ICE for UFS on Hamoa IoT EVK

In reply to Wenjia Zhang
Quoted 8 lines · Wenjia Zhang

This series enables the Inline Crypto Engine (ICE) hardware for UFS storage on the Qualcomm X1E80100 (Hamoa IoT EVK) platform.

The ICE hardware provides AES-256-XTS inline encryption/decryption for UFS storage, offloading cryptographic operations from the CPU. The hardware version on this platform is ICE v4.0.1 with HWKM v2 support.

[...]

Applied, thanks!

[2/2] arm64: dts: qcom: hamoa: Add ICE node for UFS inline encryption

      commit: a4de07fca934ea5de6ddc0eee4ea5bacc60aa0f3

Best regards,

Signature · 1 line
Bjorn Andersson <[email protected]>