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
6f50b8c
QCLINUX: Revert: dt-bindings: crypto: qcom,ice: Require power-domain …
arakshit011 Mar 24, 2026
e45c85f
QCLINUX: Revert: arm64: dts: qcom: lemans: Add power-domain and iface…
arakshit011 Mar 24, 2026
e2adb0f
QCLINUX: Revert: arm64: dts: qcom: monaco: Add power-domain and iface…
arakshit011 Mar 24, 2026
d3c5d14
QCLINUX: Revert: arm64: dts: qcom: sc7180: Add power-domain and iface…
arakshit011 Mar 24, 2026
e54ab7f
QCLINUX: Revert: arm64: dts: qcom: kodiak: Add power-domain and iface…
arakshit011 Mar 24, 2026
8b5501c
QCLINUX: Revert: arm64: dts: qcom: sm8450: Add power-domain and iface…
arakshit011 Mar 24, 2026
c9d69d3
QCLINUX: Revert: arm64: dts: qcom: sm8550: Add power-domain and iface…
arakshit011 Mar 24, 2026
a211860
QCLINUX: Revert: arm64: dts: qcom: sm8650: Add power-domain and iface…
arakshit011 Mar 24, 2026
694720b
QCLINUX: Revert: arm64: dts: qcom: sm8750: Add power-domain and iface…
arakshit011 Mar 24, 2026
9ed9ce7
QCLINUX: Revert: soc: qcom: ice: Add explicit power-domain and clock …
arakshit011 Mar 24, 2026
ad8fe51
FROMLIST: dt-bindings: crypto: qcom,ice: Fix missing power-domain and…
harshaldev27 Mar 24, 2026
784e172
FROMLIST: soc: qcom: ice: Allow explicit votes on 'iface' clock for ICE
harshaldev27 Mar 24, 2026
ebebc3f
FROMLIST: arm64: dts: qcom: kaanapali: Add power-domain and iface clk…
harshaldev27 Mar 24, 2026
851820e
FROMLIST: arm64: dts: qcom: lemans: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
f57758c
FROMLIST: arm64: dts: qcom: monaco: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
4a64f30
FROMLIST: arm64: dts: qcom: sc7180: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
cbdcf1c
FROMLIST: arm64: dts: qcom: kodiak: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
dab11e7
FROMLIST: arm64: dts: qcom: sm8450: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
61fd03e
FROMLIST: arm64: dts: qcom: sm8550: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
7daaacc
FROMLIST: arm64: dts: qcom: sm8650: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
613c58c
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 @@ -29,10 +29,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 @@ -41,11 +45,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 @@ -56,8 +77,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 @@ -868,7 +868,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/kodiak.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2590,8 +2590,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/lemans.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2760,8 +2760,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 @@ -2727,8 +2727,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 @@ -1607,8 +1607,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/sm8450.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -5376,8 +5376,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 @@ -2451,8 +2451,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 @@ -4083,8 +4083,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 @@ -2085,8 +2085,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