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
f7a558e
QCLINUX: revert "dt-bindings: crypto: qcom,ice: Require power-domain …
arakshit011 Mar 24, 2026
cea5cfb
QCLINUX: revert "arm64: dts: qcom: lemans: Add power-domain and iface…
arakshit011 Mar 24, 2026
0f0e552
QCLINUX: revert "arm64: dts: qcom: monaco: Add power-domain and iface…
arakshit011 Mar 24, 2026
08fad31
QCLINUX: revert "arm64: dts: qcom: sc7180: Add power-domain and iface…
arakshit011 Mar 24, 2026
8520848
QCLINUX: revert "arm64: dts: qcom: kodiak: Add power-domain and iface…
arakshit011 Mar 24, 2026
8fb8176
QCLINUX: revert "arm64: dts: qcom: sm8450: Add power-domain and iface…
arakshit011 Mar 24, 2026
5014acd
QCLINUX: revert "arm64: dts: qcom: sm8550: Add power-domain and iface…
arakshit011 Mar 24, 2026
fbe9152
QCLINUX: revert "arm64: dts: qcom: sm8650: Add power-domain and iface…
arakshit011 Mar 24, 2026
4650e26
QCLINUX: revert "arm64: dts: qcom: sm8750: Add power-domain and iface…
arakshit011 Mar 24, 2026
cab7645
QCLINUX: revert "soc: qcom: ice: Add explicit power-domain and clock …
arakshit011 Mar 24, 2026
69d8e87
FROMLIST: dt-bindings: crypto: qcom,ice: Fix missing power-domain and…
harshaldev27 Mar 24, 2026
4d6d4a7
FROMLIST: soc: qcom: ice: Allow explicit votes on 'iface' clock for ICE
harshaldev27 Mar 24, 2026
1457774
FROMLIST: arm64: dts: qcom: kaanapali: Add power-domain and iface clk…
harshaldev27 Mar 24, 2026
c377d0f
FROMLIST: arm64: dts: qcom: lemans: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
af215af
FROMLIST: arm64: dts: qcom: monaco: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
28b09aa
FROMLIST: arm64: dts: qcom: sc7180: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
6a849b4
FROMLIST: arm64: dts: qcom: kodiak: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
d8d7b00
FROMLIST: arm64: dts: qcom: sm8450: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
9bf79b4
FROMLIST: arm64: dts: qcom: sm8550: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
e4125cb
FROMLIST: arm64: dts: qcom: sm8650: Add power-domain and iface clk fo…
harshaldev27 Mar 24, 2026
f3f53c0
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