[PATCH 01/11] arm64: dts: qcom: sm8550: Disable Inline Crypto Engine by default
From: Abel Vesa
Date: Fri Aug 28 2026 - 08:41:56 EST
Since UFS_PHY_GDSC is attached to the Inline Crypto Engine and the driver
does not currently enable runtime PM, the GDSC remains enabled while the
device is idle, even on boards where there are no consumers.
So disable the Inline Crypto Engine by default in the SoC DTSI and enable
it only in board DTS files that use it.
Fixes: 52696dbbe7bb ("arm64: dts: qcom: sm8550: Add power-domain and iface clk for ice node")
Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts | 4 ++++
arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 4 ++++
arch/arm64/boot/dts/qcom/sm8550-mtp.dts | 4 ++++
arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 4 ++++
arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts | 4 ++++
arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 ++
7 files changed, 26 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi b/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi
index ae301d78e071..ddcbdb1b9fca 100644
--- a/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi
+++ b/arch/arm64/boot/dts/qcom/qcs8550-aim300.dtsi
@@ -326,6 +326,10 @@ vreg_l3g_1p2: ldo3 {
};
};
+&ice {
+ status = "okay";
+};
+
&mdss_dsi0 {
vdda-supply = <&vreg_l3e_1p2>;
};
diff --git a/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts b/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts
index 9df8dcd6c62b..da460474fac0 100644
--- a/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8550-rb5gen2.dts
@@ -998,6 +998,10 @@ &i2c_master_hub_0 {
status = "okay";
};
+&ice {
+ status = "okay";
+};
+
&ipa {
firmware-name = "qcom/sm8550/ipa_fws.mbn";
diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
index 82fb10ed6b6b..cf4821716f27 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts
@@ -1024,6 +1024,10 @@ &i2c_master_hub_0 {
status = "okay";
};
+&ice {
+ status = "okay";
+};
+
&ipa {
firmware-name = "qcom/sm8550/ipa_fws.mbn";
status = "okay";
diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
index 7c634572c6b7..f54cef78292b 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts
@@ -672,6 +672,10 @@ fsa4480_sbu_mux: endpoint {
};
};
+&ice {
+ status = "okay";
+};
+
&iris {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
index 473ec4e27daf..e26c37ee5bb7 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts
@@ -903,6 +903,10 @@ fsa4480_sbu_mux: endpoint {
};
};
+&ice {
+ status = "okay";
+};
+
&ipa {
firmware-name = "qcom/sm8550/ipa_fws.mbn";
status = "okay";
diff --git a/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts b/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
index 81c02ee27fe9..3956941b21bc 100644
--- a/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
+++ b/arch/arm64/boot/dts/qcom/sm8550-samsung-q5q.dts
@@ -509,6 +509,10 @@ &i2c_master_hub_0 {
status = "okay";
};
+&ice {
+ status = "okay";
+};
+
&pcie0 {
wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm64/boot/dts/qcom/sm8550.dtsi b/arch/arm64/boot/dts/qcom/sm8550.dtsi
index 0e701e709235..a2bfd857f3fc 100644
--- a/arch/arm64/boot/dts/qcom/sm8550.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8550.dtsi
@@ -2840,6 +2840,8 @@ ice: crypto@1d88000 {
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
+
+ status = "disabled";
};
tcsr_mutex: hwlock@1f40000 {
--
2.54.0