[PATCH v8 2/3] arm64: dts: qcom: kodiak: enable inline crypto engine for SDHC

From: Kuldeep Singh

Date: Mon Jun 29 2026 - 03:47:03 EST


From: Neeraj Soni <neeraj.soni@xxxxxxxxxxxxxxxx>

Add the dedicated ICE node for kodiak and reference it from the SDHC
controller via qcom,ice.

Keep the ICE node disabled by default in kodiak.dtsi and enable it in
board DTS files where the corresponding SDHC node is enabled.

Signed-off-by: Neeraj Soni <neeraj.soni@xxxxxxxxxxxxxxxx>
Co-developed-by: Kuldeep Singh <kuldeep.singh@xxxxxxxxxxxxxxxx>
Signed-off-by: Kuldeep Singh <kuldeep.singh@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/kodiak.dtsi | 14 ++++++++++++++
arch/arm64/boot/dts/qcom/qcm6490-idp.dts | 4 ++++
arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts | 4 ++++
arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts | 4 ++++
arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts | 4 ++++
arch/arm64/boot/dts/qcom/sc7280-herobrine-villager.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 4 ++++
9 files changed, 46 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index fa540d8c2615..633ebfd86352 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -1050,6 +1050,8 @@ sdhc_1: mmc@7c4000 {
qcom,dll-config = <0x0007642c>;
qcom,ddr-config = <0x80040868>;

+ qcom,ice = <&sdhc_ice>;
+
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
@@ -1076,6 +1078,18 @@ opp-384000000 {
};
};

+ sdhc_ice: crypto@7c8000 {
+ compatible = "qcom,sc7280-inline-crypto-engine",
+ "qcom,inline-crypto-engine";
+ reg = <0x0 0x007c8000 0x0 0x18000>;
+ clocks = <&gcc GCC_SDCC1_ICE_CORE_CLK>,
+ <&gcc GCC_SDCC1_AHB_CLK>;
+ clock-names = "core",
+ "iface";
+ power-domains = <&rpmhpd SC7280_CX>;
+ status = "disabled";
+ };
+
gpi_dma0: dma-controller@900000 {
#dma-cells = <3>;
compatible = "qcom,sc7280-gpi-dma", "qcom,sm6350-gpi-dma";
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
index bdc02260f902..1af10068edf5 100644
--- a/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
+++ b/arch/arm64/boot/dts/qcom/qcm6490-idp.dts
@@ -1158,3 +1158,7 @@ &lpass_audiocc {
compatible = "qcom,qcm6490-lpassaudiocc";
/delete-property/ power-domains;
};
+
+&sdhc_ice {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
index bb5a42b038f1..ef126e29f09d 100644
--- a/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
+++ b/arch/arm64/boot/dts/qcom/qcs6490-radxa-dragon-q6a.dts
@@ -1093,3 +1093,7 @@ &sdc2_data {
bias-pull-up;
drive-strength = <10>;
};
+
+&sdhc_ice {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
index df39a64da923..5b10ce277fcf 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
@@ -136,6 +136,10 @@ &sdhc_2 {
status = "okay";
};

+&sdhc_ice {
+ status = "okay";
+};
+
/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */

/*
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker.dtsi
index 0add7a2a099c..1bb0e4b8caac 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-evoker.dtsi
@@ -98,6 +98,10 @@ &sdhc_1 {
status = "okay";
};

+&sdhc_ice {
+ status = "okay";
+};
+
/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */

&ts_rst_conn {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts
index b04888a98203..78e0309b699c 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-herobrine-r1.dts
@@ -126,6 +126,10 @@ &sdhc_2 {
status = "okay";
};

+&sdhc_ice {
+ status = "okay";
+};
+
/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */

/*
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager.dtsi
index 38c8a3679fcb..ff26dee6b804 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-villager.dtsi
@@ -88,6 +88,10 @@ &sdhc_1 {
status = "okay";
};

+&sdhc_ice {
+ status = "okay";
+};
+
/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */

&ts_rst_conn {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie.dtsi
index a4fde22e3355..ecf518f2267c 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-zombie.dtsi
@@ -74,6 +74,10 @@ &sdhc_1 {
status = "okay";
};

+&sdhc_ice {
+ status = "okay";
+};
+
/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */

&ts_rst_conn {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
index 8cac4ce9c851..dfefcad57f7a 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
@@ -744,6 +744,10 @@ &sdc2_data {
drive-strength = <10>;
};

+&sdhc_ice {
+ status = "okay";
+};
+
&tlmm {
amp_en: amp-en-state {
pins = "gpio63";

--
2.34.1