2024-05-29 14:47:25

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 00/14] dt-bindings: clock: qcom,gcc: handle the controllers without power domains

On some of the Qualcomm platforms the Global Clock Controller doesn't
provide power domains to the platform. However the existing
qcom,gcc.yaml common schema requires the '#power-domain-cells' property.
This results either in a platforms having incorrect property or in DT
validation errors. Fix this by splitting the qcom,gcc-nopd.yaml schema,
which doesn't define the offensive property and use it for such
platforms.

Also, while we are at it, fix GCC node name for two platforms and
enforce node name in the DT schema.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
Changes in v2:
- Rework schema solution, by moving required / false to individual
schema files (Krzysztof),
- Add even more platforms, which don't have power domains,
- Sort out MDM9607 and MDM9615 GCC schema.
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Dmitry Baryshkov (14):
dt-bindings: clock: qcom,gcc-other: rename to qcom,mdm-mdm9607
dt-bindings: clock: qcom,gcc: sort out power-domains support
dt-bindings: clock: add schema for qcom,gcc-mdm9615
ARM: dts: qcom: apq8064: drop #power-domain-cells property of GCC
ARM: dts: qcom: msm8660: drop #power-domain-cells property of GCC
ARM: dts: qcom: msm8960: drop #power-domain-cells property of GCC
ARM: dts: qcom: ipq4019: drop #power-domain-cells property of GCC
ARM: dts: qcom: ipq8064: drop #power-domain-cells property of GCC
ARM: dts: qcom: mdm9615: drop #power-domain-cells property of GCC
arm64: dts: qcom: ipq5018: drop #power-domain-cells property of GCC
arm64: dts: qcom: ipq5332: drop #power-domain-cells property of GCC
arm64: dts: qcom: ipq9574: drop #power-domain-cells property of GCC
arm64: dts: qcom: ipq6018: fix GCC node name
arm64: dts: qcom: ipq8074: fix GCC node name

.../bindings/clock/qcom,gcc-apq8064.yaml | 3 +-
.../bindings/clock/qcom,gcc-apq8084.yaml | 1 +
.../bindings/clock/qcom,gcc-ipq4019.yaml | 3 +-
.../bindings/clock/qcom,gcc-ipq6018.yaml | 3 +-
.../bindings/clock/qcom,gcc-ipq8064.yaml | 3 +-
.../bindings/clock/qcom,gcc-ipq8074.yaml | 1 +
.../{qcom,gcc-other.yaml => qcom,gcc-mdm9607.yaml} | 4 +-
.../bindings/clock/qcom,gcc-mdm9615.yaml | 50 ++++++++++++++++++++++
.../bindings/clock/qcom,gcc-msm8660.yaml | 3 +-
.../bindings/clock/qcom,gcc-msm8909.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8916.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8953.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8974.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8976.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8994.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8996.yaml | 1 +
.../bindings/clock/qcom,gcc-msm8998.yaml | 1 +
.../bindings/clock/qcom,gcc-qcm2290.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-qcs404.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sc7180.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sc7280.yaml | 1 +
.../bindings/clock/qcom,gcc-sc8180x.yaml | 1 +
.../bindings/clock/qcom,gcc-sc8280xp.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sdm660.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sdm845.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sdx55.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sdx65.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm6115.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm6125.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm6350.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm8150.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm8250.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm8350.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc-sm8450.yaml | 1 +
.../devicetree/bindings/clock/qcom,gcc.yaml | 1 -
.../bindings/clock/qcom,ipq5018-gcc.yaml | 3 +-
.../bindings/clock/qcom,ipq5332-gcc.yaml | 3 +-
.../bindings/clock/qcom,ipq9574-gcc.yaml | 3 +-
.../bindings/clock/qcom,qdu1000-gcc.yaml | 1 +
.../bindings/clock/qcom,sa8775p-gcc.yaml | 1 +
.../devicetree/bindings/clock/qcom,sdx75-gcc.yaml | 1 +
.../devicetree/bindings/clock/qcom,sm4450-gcc.yaml | 1 +
.../devicetree/bindings/clock/qcom,sm6375-gcc.yaml | 1 +
.../devicetree/bindings/clock/qcom,sm7150-gcc.yaml | 1 +
.../devicetree/bindings/clock/qcom,sm8550-gcc.yaml | 1 +
.../devicetree/bindings/clock/qcom,sm8650-gcc.yaml | 1 +
.../bindings/clock/qcom,x1e80100-gcc.yaml | 1 +
arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 1 -
arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi | 1 -
arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi | 1 -
arch/arm/boot/dts/qcom/qcom-mdm9615.dtsi | 1 -
arch/arm/boot/dts/qcom/qcom-msm8660.dtsi | 1 -
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 1 -
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 1 -
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 1 -
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +-
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 1 -
58 files changed, 106 insertions(+), 22 deletions(-)
---
base-commit: 5274c645b48141dd4e6f60ec7ff24ef143ec9952
change-id: 20240528-qcom-gdscs-b5e6cafdab9d

Best regards,
--
Dmitry Baryshkov <[email protected]>



2024-05-29 14:47:42

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 01/14] dt-bindings: clock: qcom,gcc-other: rename to qcom,mdm-mdm9607

The only platform remaining in qcom,gcc-other.yaml is MDM9607. Drop the
stale mentioning of gcc-msm8953.h include and rename the schema file
accordingly.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
.../bindings/clock/{qcom,gcc-other.yaml => qcom,gcc-mdm9607.yaml} | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml
similarity index 87%
rename from Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml
rename to Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml
index 7d05f0f63cef..1264f3d55761 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-other.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
-$id: http://devicetree.org/schemas/clock/qcom,gcc-other.yaml#
+$id: http://devicetree.org/schemas/clock/qcom,gcc-mdm9607.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Global Clock & Reset Controller
@@ -15,7 +15,6 @@ description: |
domains.

See also::
- include/dt-bindings/clock/qcom,gcc-msm8953.h
include/dt-bindings/clock/qcom,gcc-mdm9607.h

allOf:

--
2.39.2


2024-05-29 14:48:05

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 04/14] ARM: dts: qcom: apq8064: drop #power-domain-cells property of GCC

On APQ8064 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm/boot/dts/qcom/qcom-apq8064.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi
index 11e60b74c3c9..178a3b424670 100644
--- a/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-apq8064.dtsi
@@ -684,7 +684,6 @@ gcc: clock-controller@900000 {
compatible = "qcom,gcc-apq8064", "syscon";
reg = <0x00900000 0x4000>;
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
clocks = <&cxo_board>,
<&pxo_board>,

--
2.39.2


2024-05-29 14:48:58

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 06/14] ARM: dts: qcom: msm8960: drop #power-domain-cells property of GCC

On MSM8960 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
index 922f9e49468a..a9c6d2dbb460 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi
@@ -129,7 +129,6 @@ msmgpio: pinctrl@800000 {
gcc: clock-controller@900000 {
compatible = "qcom,gcc-msm8960";
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x900000 0x4000>;
clocks = <&cxo_board>,

--
2.39.2


2024-05-29 14:49:17

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 08/14] ARM: dts: qcom: ipq8064: drop #power-domain-cells property of GCC

On IPQ8064 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi
index f128510d8445..12cf85441a0b 100644
--- a/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-ipq8064.dtsi
@@ -519,7 +519,6 @@ gcc: clock-controller@900000 {
reg = <0x00900000 0x4000>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;

tsens: thermal-sensor {
compatible = "qcom,ipq8064-tsens";

--
2.39.2


2024-05-29 14:49:18

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 07/14] ARM: dts: qcom: ipq4019: drop #power-domain-cells property of GCC

On IPQ4019 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
index 0fb65f2bbcdf..56415ab34083 100644
--- a/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-ipq4019.dtsi
@@ -187,7 +187,6 @@ intc: interrupt-controller@b000000 {
gcc: clock-controller@1800000 {
compatible = "qcom,gcc-ipq4019";
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x1800000 0x60000>;
clocks = <&xo>, <&sleep_clk>;

--
2.39.2


2024-05-29 14:49:27

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 02/14] dt-bindings: clock: qcom,gcc: sort out power-domains support

On some of Qualcomm platforms the Global Clock Controller (GCC) doesn't
provide power domains. Move requirement for the '#power-domain-cells'
out of the common qcom,gcc.yaml into individual schema files. For the
platforms that do not provide power-domains, explicitly forbid having
the '#power-domain-cells' property.

Suggested-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Dmitry Baryshkov <[email protected]>
---
Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,gcc-ipq6018.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8660.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,gcc-msm8909.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8916.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8953.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8974.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-qcm2290.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sc7280.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sc8180x.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sdm660.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm6115.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,gcc.yaml | 1 -
Documentation/devicetree/bindings/clock/qcom,ipq5018-gcc.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml | 3 ++-
Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sm7150-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml | 1 +
Documentation/devicetree/bindings/clock/qcom,x1e80100-gcc.yaml | 1 +
46 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml
index 19211176ee0b..27df7e3e5bf3 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml
@@ -69,6 +69,8 @@ properties:
const: 1
deprecated: true

+ '#power-domain-cells': false
+
required:
- compatible

@@ -81,7 +83,6 @@ examples:
reg = <0x00900000 0x4000>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;

thermal-sensor {
compatible = "qcom,msm8960-tsens";
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml
index d84608269080..0a0a26d9beab 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml
@@ -51,6 +51,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

unevaluatedProperties: false

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml
index fb3957d485f9..012048921f92 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml
@@ -34,6 +34,8 @@ properties:
- const: xo
- const: sleep_clk

+ '#power-domain-cells': false
+
required:
- compatible

@@ -45,7 +47,6 @@ examples:
compatible = "qcom,gcc-ipq4019";
reg = <0x1800000 0x60000>;
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
clocks = <&xo>, <&sleep_clk>;
clock-names = "xo", "sleep_clk";
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq6018.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq6018.yaml
index af5d883cfdc8..4d2614d4f368 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq6018.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq6018.yaml
@@ -36,6 +36,8 @@ properties:
- const: xo
- const: sleep_clk

+ '#power-domain-cells': false
+
required:
- compatible
- clocks
@@ -51,7 +53,6 @@ examples:
clocks = <&xo>, <&sleep_clk>;
clock-names = "xo", "sleep_clk";
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
};
...
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml
index 93f3084b97c1..a71557395c01 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml
@@ -46,6 +46,8 @@ properties:
allOf:
- $ref: /schemas/thermal/qcom-tsens.yaml#

+ '#power-domain-cells': false
+
required:
- compatible
- clocks
@@ -65,7 +67,6 @@ examples:
clock-names = "pxo", "cxo", "pll4";
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;

tsens: thermal-sensor {
compatible = "qcom,ipq8064-tsens";
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml
index 2d44ddc45aab..38b9e4283900 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml
@@ -39,6 +39,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

unevaluatedProperties: false

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml
index 1264f3d55761..d7da30b0e7ee 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml
@@ -27,6 +27,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

unevaluatedProperties: false

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8660.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8660.yaml
index c9e985548621..e03b6d0acdb6 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8660.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8660.yaml
@@ -34,6 +34,8 @@ properties:
- const: pxo
- const: cxo

+ '#power-domain-cells': false
+
required:
- compatible

@@ -47,7 +49,6 @@ examples:
reg = <0x900000 0x4000>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
clocks = <&pxo_board>, <&cxo_board>;
clock-names = "pxo", "cxo";
};
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8909.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8909.yaml
index b91462587df5..ce1f5a60bd8c 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8909.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8909.yaml
@@ -42,6 +42,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8916.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8916.yaml
index ad84c0f7680b..258b6b93deca 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8916.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8916.yaml
@@ -48,6 +48,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8953.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8953.yaml
index fe9fd4cb185f..fe1f5f3ed992 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8953.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8953.yaml
@@ -42,6 +42,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8974.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8974.yaml
index 1927aecc86bc..929fafc84c19 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8974.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8974.yaml
@@ -41,6 +41,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

unevaluatedProperties: false

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml
index 62d6f1fe1228..cd49704dcb95 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml
@@ -49,6 +49,7 @@ required:
- clocks
- clock-names
- vdd_gfx-supply
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml
index 8f0f20c1442a..6b9c1d198b14 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml
@@ -35,6 +35,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml
index 97523cc1ecfb..013fd074a8d5 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml
@@ -50,6 +50,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml
index 58f7fb22c5c4..abae658c0ed9 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml
@@ -38,6 +38,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-qcm2290.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-qcm2290.yaml
index c9bec4656f6e..38c4c8c61b3a 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-qcm2290.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-qcm2290.yaml
@@ -33,6 +33,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml
index 7bc6c57e4d11..94755465c1fb 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml
@@ -40,6 +40,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml
index 7aae21a76690..1847bbeaa9d1 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml
@@ -40,6 +40,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sc7280.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sc7280.yaml
index c4ca08d9ad5a..4e4f68b9f6d2 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sc7280.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sc7280.yaml
@@ -51,6 +51,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sc8180x.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sc8180x.yaml
index a1085ef4fd05..b4784ecaf58d 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sc8180x.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sc8180x.yaml
@@ -40,6 +40,7 @@ required:
- clocks
- clock-names
- power-domains
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml
index 5681e535fede..5cfde8a4de4e 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml
@@ -65,6 +65,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sdm660.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sdm660.yaml
index 52e7412aace5..724ce0491118 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sdm660.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sdm660.yaml
@@ -40,6 +40,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

unevaluatedProperties: false

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml
index 0595da0e8a42..ef0a20456e8a 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml
@@ -35,6 +35,7 @@ properties:

required:
- compatible
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml
index 428e954d7638..30819f3d85c6 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml
@@ -34,6 +34,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml
index 523e18d7f150..915449228668 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml
@@ -39,6 +39,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm6115.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm6115.yaml
index a5ad0a3da397..ecb69c707f09 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm6115.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm6115.yaml
@@ -33,6 +33,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml
index 8e37623788bd..a5a29dc75ae1 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml
@@ -33,6 +33,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml
index d1b26ab48eaf..2280b859b2ad 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml
@@ -35,6 +35,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml
index 58ccb7df847c..1dcf97c0c064 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml
@@ -34,6 +34,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml
index 5d77c092be5b..979ff0a8bf68 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml
@@ -36,6 +36,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml
index b4fdde71ef18..594e87f5ba09 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml
@@ -55,6 +55,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml
index 75259f468d54..d848361beeb3 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml
@@ -49,6 +49,7 @@ required:
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
index 788825105f24..513d6fd89249 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc.yaml
@@ -35,7 +35,6 @@ required:
- reg
- '#clock-cells'
- '#reset-cells'
- - '#power-domain-cells'

additionalProperties: true

diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq5018-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq5018-gcc.yaml
index ef84a0c95f7e..489d0fc5607c 100644
--- a/Documentation/devicetree/bindings/clock/qcom,ipq5018-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,ipq5018-gcc.yaml
@@ -33,6 +33,8 @@ properties:
- description: UNIPHY RX clock source
- description: UNIPHY TX clk source

+ '#power-domain-cells': false
+
required:
- compatible
- clocks
@@ -58,6 +60,5 @@ examples:
<&uniphy_tx_clk>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
};
...
diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
index 718fe0625424..adc30d84fa8f 100644
--- a/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml
@@ -30,6 +30,8 @@ properties:
- description: PCIE 2lane x1 PHY pipe clock source (For second lane)
- description: USB PCIE wrapper pipe clock source

+ '#power-domain-cells': false
+
required:
- compatible
- clocks
@@ -47,7 +49,6 @@ examples:
<&pcie_2lane_phy_pipe_clk_x1>,
<&usb_pcie_wrapper_pipe_clk>;
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
};
...
diff --git a/Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml
index 944a0ea79cd6..ec349e279480 100644
--- a/Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml
@@ -33,6 +33,8 @@ properties:
- description: PCIE30 PHY3 pipe clock source
- description: USB3 PHY pipe clock source

+ '#power-domain-cells': false
+
required:
- compatible
- clocks
@@ -57,6 +59,5 @@ examples:
<&usb3phy_0_cc_pipe_clk>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
};
...
diff --git a/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml
index d712b1a87e25..86befef02650 100644
--- a/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml
@@ -31,6 +31,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml
index 0f641c235b13..addbd323fa6d 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml
@@ -46,6 +46,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml
index 98921fa236b1..567182aba300 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml
@@ -41,6 +41,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml
index 5953c8d92436..0ac92d7871e1 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml
@@ -32,6 +32,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml
index 295d4bb1a966..147b75a21508 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml
@@ -31,6 +31,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

unevaluatedProperties: false

diff --git a/Documentation/devicetree/bindings/clock/qcom,sm7150-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm7150-gcc.yaml
index 0eb76d9d51c4..4d7bbbf4ce8a 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm7150-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm7150-gcc.yaml
@@ -30,6 +30,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml
index 0c706de31cf1..d83b64dcce4f 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml
@@ -34,6 +34,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml
index b54761cc8674..976f29cce809 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml
@@ -35,6 +35,7 @@ properties:
required:
- compatible
- clocks
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#
diff --git a/Documentation/devicetree/bindings/clock/qcom,x1e80100-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,x1e80100-gcc.yaml
index 14a796dbf8bc..5951a60ab081 100644
--- a/Documentation/devicetree/bindings/clock/qcom,x1e80100-gcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,x1e80100-gcc.yaml
@@ -41,6 +41,7 @@ required:
- compatible
- clocks
- power-domains
+ - '#power-domain-cells'

allOf:
- $ref: qcom,gcc.yaml#

--
2.39.2


2024-05-29 14:49:54

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 09/14] ARM: dts: qcom: mdm9615: drop #power-domain-cells property of GCC

On MDM9615 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm/boot/dts/qcom/qcom-mdm9615.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-mdm9615.dtsi b/arch/arm/boot/dts/qcom/qcom-mdm9615.dtsi
index 34c60994d026..573feb3218c3 100644
--- a/arch/arm/boot/dts/qcom/qcom-mdm9615.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-mdm9615.dtsi
@@ -102,7 +102,6 @@ msmgpio: pinctrl@800000 {
gcc: clock-controller@900000 {
compatible = "qcom,gcc-mdm9615";
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x900000 0x4000>;
clocks = <&cxo_board>,

--
2.39.2


2024-05-29 14:49:54

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 10/14] arm64: dts: qcom: ipq5018: drop #power-domain-cells property of GCC

On IPQ5018 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index 32b178b639f0..7e6e2c121979 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -179,7 +179,6 @@ gcc: clock-controller@1800000 {
<0>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
};

tcsr_mutex: hwlock@1905000 {

--
2.39.2


2024-05-29 14:49:57

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 11/14] arm64: dts: qcom: ipq5332: drop #power-domain-cells property of GCC

On IPQ5332 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
index 770d9c2fb456..573656587c0d 100644
--- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
@@ -208,7 +208,6 @@ gcc: clock-controller@1800000 {
reg = <0x01800000 0x80000>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
clocks = <&xo_board>,
<&sleep_clk>,
<0>,

--
2.39.2


2024-05-29 14:50:21

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 13/14] arm64: dts: qcom: ipq6018: fix GCC node name

Device nodes should have generic names. Use 'clock-controller@' as a GCC
node name instead of a non-generic 'gcc@'.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq6018.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq6018.dtsi b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
index 17ab6c475958..a84cf62d843c 100644
--- a/arch/arm64/boot/dts/qcom/ipq6018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq6018.dtsi
@@ -396,7 +396,7 @@ qpic_pins: qpic-state {
};
};

- gcc: gcc@1800000 {
+ gcc: clock-controller@1800000 {
compatible = "qcom,gcc-ipq6018";
reg = <0x0 0x01800000 0x0 0x80000>;
clocks = <&xo>, <&sleep_clk>;

--
2.39.2


2024-05-29 14:50:37

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 12/14] arm64: dts: qcom: ipq9574: drop #power-domain-cells property of GCC

On IPQ9574 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index ded02bc39275..d21937b09b4b 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -315,7 +315,6 @@ gcc: clock-controller@1800000 {
<0>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
};

tcsr_mutex: hwlock@1905000 {

--
2.39.2


2024-05-29 14:50:46

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 14/14] arm64: dts: qcom: ipq8074: fix GCC node name

Device nodes should have generic names. Use 'clock-controller@' as a GCC
node name instead of a non-generic 'gcc@'.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm64/boot/dts/qcom/ipq8074.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/ipq8074.dtsi b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
index 5d42de829e75..27cf8d50f254 100644
--- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi
@@ -363,7 +363,7 @@ qpic_pins: qpic-state {
};
};

- gcc: gcc@1800000 {
+ gcc: clock-controller@1800000 {
compatible = "qcom,gcc-ipq8074";
reg = <0x01800000 0x80000>;
clocks = <&xo>,

--
2.39.2


2024-05-29 15:03:43

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 03/14] dt-bindings: clock: add schema for qcom,gcc-mdm9615

Add schema for the Global Clock Controller (GCC) present on the Qualcomm
MDM9615 platform.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
.../bindings/clock/qcom,gcc-mdm9615.yaml | 50 ++++++++++++++++++++++
1 file changed, 50 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9615.yaml b/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9615.yaml
new file mode 100644
index 000000000000..418dea31eb62
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc-mdm9615.yaml
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/qcom,gcc-mdm9615.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Global Clock & Reset Controller
+
+maintainers:
+ - Stephen Boyd <[email protected]>
+ - Taniya Das <[email protected]>
+
+description: |
+ Qualcomm global clock control module provides the clocks, resets and power
+ domains.
+
+ See also::
+ include/dt-bindings/clock/qcom,gcc-mdm9615.h
+
+allOf:
+ - $ref: qcom,gcc.yaml#
+
+properties:
+ compatible:
+ enum:
+ - qcom,gcc-mdm9615
+
+ clocks:
+ items:
+ - description: CXO clock
+ - description: PLL4 from LLC
+
+ '#power-domain-cells': false
+
+required:
+ - compatible
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ clock-controller@900000 {
+ compatible = "qcom,gcc-mdm9615";
+ reg = <0x900000 0x4000>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ clocks = <&cxo_board>,
+ <&lcc_pll4>;
+ };
+...

--
2.39.2


2024-05-29 15:03:59

by Dmitry Baryshkov

[permalink] [raw]
Subject: [PATCH v2 05/14] ARM: dts: qcom: msm8660: drop #power-domain-cells property of GCC

On MSM8660 the Global Clock Controller (GCC) doesn't provide power
domains. Drop the #power-domain-cells property from the controller
device node.

Signed-off-by: Dmitry Baryshkov <[email protected]>
---
arch/arm/boot/dts/qcom/qcom-msm8660.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8660.dtsi
index 455ba4bf1bf4..a66c474cd1aa 100644
--- a/arch/arm/boot/dts/qcom/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom/qcom-msm8660.dtsi
@@ -113,7 +113,6 @@ tlmm: pinctrl@800000 {
gcc: clock-controller@900000 {
compatible = "qcom,gcc-msm8660";
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
reg = <0x900000 0x4000>;
clocks = <&pxo_board>, <&cxo_board>;

--
2.39.2


2024-05-31 13:25:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 01/14] dt-bindings: clock: qcom,gcc-other: rename to qcom,mdm-mdm9607

On 29/05/2024 16:46, Dmitry Baryshkov wrote:
> The only platform remaining in qcom,gcc-other.yaml is MDM9607. Drop the
> stale mentioning of gcc-msm8953.h include and rename the schema file
> accordingly.
>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
> .../bindings/clock/{qcom,gcc-other.yaml => qcom,gcc-mdm9607.yaml} | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

Reviewed-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2024-05-31 13:25:58

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 02/14] dt-bindings: clock: qcom,gcc: sort out power-domains support

On 29/05/2024 16:47, Dmitry Baryshkov wrote:
> On some of Qualcomm platforms the Global Clock Controller (GCC) doesn't
> provide power domains. Move requirement for the '#power-domain-cells'
> out of the common qcom,gcc.yaml into individual schema files. For the
> platforms that do not provide power-domains, explicitly forbid having
> the '#power-domain-cells' property.
>
> Suggested-by: Krzysztof Kozlowski <[email protected]>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---


Reviewed-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2024-05-31 13:27:14

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 03/14] dt-bindings: clock: add schema for qcom,gcc-mdm9615

On 29/05/2024 16:47, Dmitry Baryshkov wrote:
> Add schema for the Global Clock Controller (GCC) present on the Qualcomm
> MDM9615 platform.
>
> Signed-off-by: Dmitry Baryshkov <[email protected]>
> ---
> .../bindings/clock/qcom,gcc-mdm9615.yaml | 50 ++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
>

Reviewed-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2024-06-02 03:54:44

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH v2 00/14] dt-bindings: clock: qcom,gcc: handle the controllers without power domains


On Wed, 29 May 2024 17:46:58 +0300, Dmitry Baryshkov wrote:
> On some of the Qualcomm platforms the Global Clock Controller doesn't
> provide power domains to the platform. However the existing
> qcom,gcc.yaml common schema requires the '#power-domain-cells' property.
> This results either in a platforms having incorrect property or in DT
> validation errors. Fix this by splitting the qcom,gcc-nopd.yaml schema,
> which doesn't define the offensive property and use it for such
> platforms.
>
> [...]

Applied, thanks!

[10/14] arm64: dts: qcom: ipq5018: drop #power-domain-cells property of GCC
commit: d1caecddf9f4bb17db10c8a46083a70688d0f46d
[11/14] arm64: dts: qcom: ipq5332: drop #power-domain-cells property of GCC
commit: 2ad7dd5479c04026f8421f12baf7a2b482cf0bff
[12/14] arm64: dts: qcom: ipq9574: drop #power-domain-cells property of GCC
commit: ef3308cf52553522d619a858a72a68f82432865b
[13/14] arm64: dts: qcom: ipq6018: fix GCC node name
commit: 6c2e3ca212dd57678fbd38d66d63a0dcab45e81a
[14/14] arm64: dts: qcom: ipq8074: fix GCC node name
commit: a884986eb2f79b71a4d50fa1b8e205f1f00d9514

Best regards,
--
Bjorn Andersson <[email protected]>