Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
216f63a
QCLINUX: revert "dt-bindings: crypto: qcom,ice: Require power-domain …
arakshit011 Mar 24, 2026
07fd6e4
QCLINUX: revert "arm64: dts: qcom: lemans: Add power-domain and iface…
arakshit011 Mar 24, 2026
7c398ac
QCLINUX: revert "arm64: dts: qcom: monaco: Add power-domain and iface…
arakshit011 Mar 24, 2026
ef23e86
QCLINUX: revert "arm64: dts: qcom: sc7180: Add power-domain and iface…
arakshit011 Mar 24, 2026
93ead1f
QCLINUX: revert "arm64: dts: qcom: kodiak: Add power-domain and iface…
arakshit011 Mar 27, 2026
48d7f54
QCLINUX: revert "arm64: dts: qcom: sm8450: Add power-domain and iface…
arakshit011 Mar 24, 2026
7b27b32
QCLINUX: revert "arm64: dts: qcom: sm8550: Add power-domain and iface…
arakshit011 Mar 24, 2026
7eaf7a4
QCLINUX: revert "arm64: dts: qcom: sm8650: Add power-domain and iface…
arakshit011 Mar 24, 2026
1676b82
QCLINUX: revert "arm64: dts: qcom: sm8750: Add power-domain and iface…
arakshit011 Mar 24, 2026
bca50cc
QCLINUX: revert "soc: qcom: ice: Add explicit power-domain and clock …
arakshit011 Mar 24, 2026
70d0777
FROMLIST: dt-bindings: crypto: qcom,ice: Fix missing power-domain and…
harshaldev27 Mar 24, 2026
199160b
FROMLIST: soc: qcom: ice: Allow explicit votes on 'iface' clock for ICE
harshaldev27 Mar 24, 2026
ba42b4e
FROMLIST: arm64: dts: qcom: kaanapali: Add power-domain and iface clk…
harshaldev27 Mar 24, 2026
2d0ba49
FROMLIST: arm64: dts: qcom: lemans: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
5f819d4
FROMLIST: arm64: dts: qcom: monaco: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
8840dab
FROMLIST: arm64: dts: qcom: sc7180: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
46e3971
FROMLIST: arm64: dts: qcom: kodiak: Add power-domain and iface clk fo…
harshaldev27 Mar 27, 2026
c61c297
FROMLIST: arm64: dts: qcom: sm8450: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
cf88a15
FROMLIST: arm64: dts: qcom: sm8550: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
294b965
FROMLIST: arm64: dts: qcom: sm8650: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
710ab5a
FROMLIST: arm64: dts: qcom: sm8750: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,14 @@ properties:
maxItems: 1

clocks:
minItems: 1
maxItems: 2

clock-names:
maxItems: 2
minItems: 1
items:
- const: core
- const: iface

power-domains:
maxItems: 1
Expand All @@ -40,11 +44,28 @@ required:
- compatible
- reg
- clocks
- clock-names
- power-domains

additionalProperties: false

allOf:
- if:
properties:
compatible:
contains:
enum:
- qcom,eliza-inline-crypto-engine
- qcom,milos-inline-crypto-engine

then:
required:
- power-domains
- clock-names
properties:
clocks:
minItems: 2
clock-names:
minItems: 2

examples:
- |
#include <dt-bindings/clock/qcom,sm8550-gcc.h>
Expand All @@ -55,8 +76,8 @@ examples:
reg = <0x01d88000 0x8000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
};
...
6 changes: 5 additions & 1 deletion arch/arm64/boot/dts/qcom/kaanapali.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,11 @@
"qcom,inline-crypto-engine";
reg = <0x0 0x01d88000 0x0 0x18000>;

clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
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>;
};

tcsr_mutex: hwlock@1f40000 {
Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/lemans.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2776,8 +2776,8 @@
reg = <0x0 0x01d88000 0x0 0x18000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/monaco.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2664,8 +2664,8 @@
reg = <0x0 0x01d88000 0x0 0x18000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc GCC_UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sc7180.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -1601,8 +1601,8 @@
reg = <0 0x01d90000 0 0x8000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sc7280.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2581,8 +2581,8 @@
reg = <0 0x01d88000 0 0x8000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc GCC_UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sm8450.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5351,8 +5351,8 @@
reg = <0 0x01d88000 0 0x8000>;
clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sm8550.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2416,8 +2416,8 @@

clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sm8650.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -4048,8 +4048,8 @@

clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc UFS_PHY_GDSC>;
};

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sm8750.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2060,8 +2060,8 @@

clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>,
<&gcc GCC_UFS_PHY_AHB_CLK>;
clock-names = "ice_core_clk",
"iface_clk";
clock-names = "core",
"iface";
power-domains = <&gcc GCC_UFS_PHY_GDSC>;
};

Expand Down
17 changes: 5 additions & 12 deletions drivers/soc/qcom/ice.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/pm_runtime.h>

#include <linux/firmware/qcom/qcom_scm.h>

Expand Down Expand Up @@ -313,18 +311,15 @@ int qcom_ice_resume(struct qcom_ice *ice)
struct device *dev = ice->dev;
int err;

pm_runtime_get_sync(dev);
err = clk_prepare_enable(ice->core_clk);
if (err) {
dev_err(dev, "failed to enable core clock (%d)\n",
err);
dev_err(dev, "Failed to enable core clock: %d\n", err);
return err;
}

err = clk_prepare_enable(ice->iface_clk);
if (err) {
dev_err(dev, "failed to enable iface clock (%d)\n",
err);
dev_err(dev, "Failed to enable iface clock: %d\n", err);
return err;
}
qcom_ice_hwkm_init(ice);
Expand All @@ -336,7 +331,6 @@ int qcom_ice_suspend(struct qcom_ice *ice)
{
clk_disable_unprepare(ice->iface_clk);
clk_disable_unprepare(ice->core_clk);
pm_runtime_put_sync(ice->dev);
ice->hwkm_init_complete = false;

return 0;
Expand Down Expand Up @@ -592,12 +586,14 @@ static struct qcom_ice *qcom_ice_create(struct device *dev,
engine->core_clk = devm_clk_get_optional_enabled(dev, "ice_core_clk");
if (!engine->core_clk)
engine->core_clk = devm_clk_get_optional_enabled(dev, "ice");
if (!engine->core_clk)
engine->core_clk = devm_clk_get_optional_enabled(dev, "core");
if (!engine->core_clk)
engine->core_clk = devm_clk_get_enabled(dev, NULL);
if (IS_ERR(engine->core_clk))
return ERR_CAST(engine->core_clk);

engine->iface_clk = devm_clk_get_enabled(dev, "iface_clk");
engine->iface_clk = devm_clk_get_optional_enabled(dev, "iface");
if (IS_ERR(engine->iface_clk))
return ERR_CAST(engine->iface_clk);

Expand Down Expand Up @@ -742,9 +738,6 @@ static int qcom_ice_probe(struct platform_device *pdev)
return PTR_ERR(base);
}

devm_pm_runtime_enable(&pdev->dev);
pm_runtime_get_sync(&pdev->dev);

engine = qcom_ice_create(&pdev->dev, base);
if (IS_ERR(engine))
return PTR_ERR(engine);
Expand Down