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 <krzysztof.kozlowski@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240529-qcom-gdscs-v2-2-69c63d0ae1e7@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Documentation/devicetree/bindings/clock/qcom,gcc-apq8064.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-apq8084.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-ipq4019.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-ipq6018.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-ipq8064.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-ipq8074.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-mdm9607.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8660.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8909.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8916.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8953.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8974.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8976.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8994.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-msm8998.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-qcm2290.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-qcs404.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sc7180.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sc7280.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sc8180x.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sc8280xp.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sdm660.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sdm845.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sdx55.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sdx65.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm6115.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm6125.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm6350.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm8150.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm8250.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc-sm8450.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,ipq5018-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,ipq5332-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,ipq9574-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sa8775p-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sdx75-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sm4450-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sm6375-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sm7150-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sm8550-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,sm8650-gcc.yaml |
|
patch | blob | blame | history |
Documentation/devicetree/bindings/clock/qcom,x1e80100-gcc.yaml |
|
patch | blob | blame | history |
const: 1
deprecated: true
+ '#power-domain-cells': false
+
required:
- compatible
reg = <0x00900000 0x4000>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
thermal-sensor {
compatible = "qcom,msm8960-tsens";
required:
- compatible
+ - '#power-domain-cells'
unevaluatedProperties: false
- const: xo
- const: sleep_clk
+ '#power-domain-cells': false
+
required:
- compatible
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";
- const: xo
- const: sleep_clk
+ '#power-domain-cells': false
+
required:
- compatible
- clocks
clocks = <&xo>, <&sleep_clk>;
clock-names = "xo", "sleep_clk";
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
};
...
allOf:
- $ref: /schemas/thermal/qcom-tsens.yaml#
+ '#power-domain-cells': false
+
required:
- compatible
- clocks
clock-names = "pxo", "cxo", "pll4";
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
tsens: thermal-sensor {
compatible = "qcom,ipq8064-tsens";
required:
- compatible
+ - '#power-domain-cells'
unevaluatedProperties: false
required:
- compatible
+ - '#power-domain-cells'
unevaluatedProperties: false
- const: pxo
- const: cxo
+ '#power-domain-cells': false
+
required:
- compatible
reg = <0x900000 0x4000>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
clocks = <&pxo_board>, <&cxo_board>;
clock-names = "pxo", "cxo";
};
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
+ - '#power-domain-cells'
unevaluatedProperties: false
- clocks
- clock-names
- vdd_gfx-supply
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- clocks
- clock-names
- power-domains
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
+ - '#power-domain-cells'
unevaluatedProperties: false
required:
- compatible
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- clock-names
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- reg
- '#clock-cells'
- '#reset-cells'
- - '#power-domain-cells'
additionalProperties: true
- description: UNIPHY RX clock source
- description: UNIPHY TX clk source
+ '#power-domain-cells': false
+
required:
- compatible
- clocks
<&uniphy_tx_clk>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
};
...
- 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
<&pcie_2lane_phy_pipe_clk_x1>,
<&usb_pcie_wrapper_pipe_clk>;
#clock-cells = <1>;
- #power-domain-cells = <1>;
#reset-cells = <1>;
};
...
- description: PCIE30 PHY3 pipe clock source
- description: USB3 PHY pipe clock source
+ '#power-domain-cells': false
+
required:
- compatible
- clocks
<&usb3phy_0_cc_pipe_clk>;
#clock-cells = <1>;
#reset-cells = <1>;
- #power-domain-cells = <1>;
};
...
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
unevaluatedProperties: false
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
required:
- compatible
- clocks
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#
- compatible
- clocks
- power-domains
+ - '#power-domain-cells'
allOf:
- $ref: qcom,gcc.yaml#