19de7269eSTaniya Das# SPDX-License-Identifier: GPL-2.0-only
29de7269eSTaniya Das%YAML 1.2
39de7269eSTaniya Das---
49de7269eSTaniya Das$id: http://devicetree.org/schemas/bindings/clock/qcom,gcc.yaml#
59de7269eSTaniya Das$schema: http://devicetree.org/meta-schemas/core.yaml#
69de7269eSTaniya Das
79de7269eSTaniya Dastitle: Qualcomm Global Clock & Reset Controller Binding
89de7269eSTaniya Das
99de7269eSTaniya Dasmaintainers:
109de7269eSTaniya Das  - Stephen Boyd <sboyd@kernel.org>
119de7269eSTaniya Das  - Taniya Das <tdas@codeaurora.org>
129de7269eSTaniya Das
139de7269eSTaniya Dasdescription: |
149de7269eSTaniya Das  Qualcomm global clock control module which supports the clocks, resets and
159de7269eSTaniya Das  power domains.
169de7269eSTaniya Das
179de7269eSTaniya Dasproperties:
189de7269eSTaniya Das  compatible :
199de7269eSTaniya Das    enum:
209de7269eSTaniya Das       - qcom,gcc-apq8064
219de7269eSTaniya Das       - qcom,gcc-apq8084
229de7269eSTaniya Das       - qcom,gcc-ipq8064
239de7269eSTaniya Das       - qcom,gcc-ipq4019
249de7269eSTaniya Das       - qcom,gcc-ipq8074
259de7269eSTaniya Das       - qcom,gcc-msm8660
269de7269eSTaniya Das       - qcom,gcc-msm8916
279de7269eSTaniya Das       - qcom,gcc-msm8960
289de7269eSTaniya Das       - qcom,gcc-msm8974
299de7269eSTaniya Das       - qcom,gcc-msm8974pro
309de7269eSTaniya Das       - qcom,gcc-msm8974pro-ac
319de7269eSTaniya Das       - qcom,gcc-msm8994
329de7269eSTaniya Das       - qcom,gcc-msm8996
339de7269eSTaniya Das       - qcom,gcc-msm8998
349de7269eSTaniya Das       - qcom,gcc-mdm9615
359de7269eSTaniya Das       - qcom,gcc-qcs404
369de7269eSTaniya Das       - qcom,gcc-sdm630
379de7269eSTaniya Das       - qcom,gcc-sdm660
389de7269eSTaniya Das       - qcom,gcc-sdm845
399de7269eSTaniya Das       - qcom,gcc-sm8150
409de7269eSTaniya Das
419de7269eSTaniya Das  clocks:
429de7269eSTaniya Das    minItems: 1
439de7269eSTaniya Das    maxItems: 3
449de7269eSTaniya Das    items:
459de7269eSTaniya Das      - description: Board XO source
469de7269eSTaniya Das      - description: Board active XO source
479de7269eSTaniya Das      - description: Sleep clock source
489de7269eSTaniya Das
499de7269eSTaniya Das  clock-names:
509de7269eSTaniya Das    minItems: 1
519de7269eSTaniya Das    maxItems: 3
529de7269eSTaniya Das    items:
539de7269eSTaniya Das      - const: bi_tcxo
549de7269eSTaniya Das      - const: bi_tcxo_ao
559de7269eSTaniya Das      - const: sleep_clk
569de7269eSTaniya Das
579de7269eSTaniya Das  '#clock-cells':
589de7269eSTaniya Das    const: 1
599de7269eSTaniya Das
609de7269eSTaniya Das  '#reset-cells':
619de7269eSTaniya Das    const: 1
629de7269eSTaniya Das
639de7269eSTaniya Das  '#power-domain-cells':
649de7269eSTaniya Das    const: 1
659de7269eSTaniya Das
669de7269eSTaniya Das  reg:
679de7269eSTaniya Das    maxItems: 1
689de7269eSTaniya Das
699de7269eSTaniya Das  nvmem-cells:
709de7269eSTaniya Das    minItems: 1
719de7269eSTaniya Das    maxItems: 2
729de7269eSTaniya Das    description:
739de7269eSTaniya Das      Qualcomm TSENS (thermal sensor device) on some devices can
749de7269eSTaniya Das      be part of GCC and hence the TSENS properties can also be part
759de7269eSTaniya Das      of the GCC/clock-controller node.
769de7269eSTaniya Das      For more details on the TSENS properties please refer
779de7269eSTaniya Das      Documentation/devicetree/bindings/thermal/qcom-tsens.txt
789de7269eSTaniya Das
799de7269eSTaniya Das  nvmem-cell-names:
809de7269eSTaniya Das    minItems: 1
819de7269eSTaniya Das    maxItems: 2
829de7269eSTaniya Das    description:
839de7269eSTaniya Das      Names for each nvmem-cells specified.
849de7269eSTaniya Das    items:
859de7269eSTaniya Das      - const: calib
869de7269eSTaniya Das      - const: calib_backup
879de7269eSTaniya Das
889de7269eSTaniya Das  'thermal-sensor-cells':
899de7269eSTaniya Das    const: 1
909de7269eSTaniya Das
919de7269eSTaniya Das  protected-clocks:
929de7269eSTaniya Das    description:
939de7269eSTaniya Das       Protected clock specifier list as per common clock binding
949de7269eSTaniya Das
959de7269eSTaniya Dasrequired:
969de7269eSTaniya Das  - compatible
979de7269eSTaniya Das  - reg
989de7269eSTaniya Das  - '#clock-cells'
999de7269eSTaniya Das  - '#reset-cells'
1009de7269eSTaniya Das  - '#power-domain-cells'
1019de7269eSTaniya Das
1029de7269eSTaniya Dasif:
1039de7269eSTaniya Das  properties:
1049de7269eSTaniya Das    compatible:
1059de7269eSTaniya Das      contains:
1069de7269eSTaniya Das        const: qcom,gcc-apq8064
1079de7269eSTaniya Das
1089de7269eSTaniya Dasthen:
1099de7269eSTaniya Das  required:
1109de7269eSTaniya Das    - nvmem-cells
1119de7269eSTaniya Das    - nvmem-cell-names
1129de7269eSTaniya Das    - '#thermal-sensor-cells'
1139de7269eSTaniya Das
1149de7269eSTaniya Daselse:
1159de7269eSTaniya Das  if:
1169de7269eSTaniya Das    properties:
1179de7269eSTaniya Das      compatible:
1189de7269eSTaniya Das        contains:
1199de7269eSTaniya Das          enum:
1209de7269eSTaniya Das            - qcom,gcc-sm8150
1219de7269eSTaniya Das  then:
1229de7269eSTaniya Das    required:
1239de7269eSTaniya Das       - clocks
1249de7269eSTaniya Das       - clock-names
1259de7269eSTaniya Das
1269de7269eSTaniya Das
1279de7269eSTaniya Dasexamples:
1289de7269eSTaniya Das  # Example for GCC for MSM8960:
1299de7269eSTaniya Das  - |
1309de7269eSTaniya Das    clock-controller@900000 {
1319de7269eSTaniya Das      compatible = "qcom,gcc-msm8960";
1329de7269eSTaniya Das      reg = <0x900000 0x4000>;
1339de7269eSTaniya Das      #clock-cells = <1>;
1349de7269eSTaniya Das      #reset-cells = <1>;
1359de7269eSTaniya Das      #power-domain-cells = <1>;
1369de7269eSTaniya Das    };
1379de7269eSTaniya Das
1389de7269eSTaniya Das
1399de7269eSTaniya Das  # Example of GCC with TSENS properties:
1409de7269eSTaniya Das  - |
1419de7269eSTaniya Das    clock-controller@900000 {
1429de7269eSTaniya Das      compatible = "qcom,gcc-apq8064";
1439de7269eSTaniya Das      reg = <0x00900000 0x4000>;
1449de7269eSTaniya Das      nvmem-cells = <&tsens_calib>, <&tsens_backup>;
1459de7269eSTaniya Das      nvmem-cell-names = "calib", "calib_backup";
1469de7269eSTaniya Das      #clock-cells = <1>;
1479de7269eSTaniya Das      #reset-cells = <1>;
1489de7269eSTaniya Das      #power-domain-cells = <1>;
1499de7269eSTaniya Das      #thermal-sensor-cells = <1>;
1509de7269eSTaniya Das    };
1519de7269eSTaniya Das
1529de7269eSTaniya Das  # Example of GCC with protected-clocks properties:
1539de7269eSTaniya Das  - |
1549de7269eSTaniya Das    clock-controller@100000 {
1559de7269eSTaniya Das      compatible = "qcom,gcc-sdm845";
1569de7269eSTaniya Das      reg = <0x100000 0x1f0000>;
1579de7269eSTaniya Das      protected-clocks = <187>, <188>, <189>, <190>, <191>;
1589de7269eSTaniya Das      #clock-cells = <1>;
1599de7269eSTaniya Das      #reset-cells = <1>;
1609de7269eSTaniya Das      #power-domain-cells = <1>;
1619de7269eSTaniya Das    };
1629de7269eSTaniya Das
1639de7269eSTaniya Das  # Example of GCC with clock node properties for SM8150:
1649de7269eSTaniya Das  - |
1659de7269eSTaniya Das    clock-controller@100000 {
1669de7269eSTaniya Das      compatible = "qcom,gcc-sm8150";
1679de7269eSTaniya Das      reg = <0x00100000 0x1f0000>;
1689de7269eSTaniya Das      clocks = <&rpmhcc 0>, <&rpmhcc 1>, <&sleep_clk>;
1699de7269eSTaniya Das      clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk";
1709de7269eSTaniya Das      #clock-cells = <1>;
1719de7269eSTaniya Das      #reset-cells = <1>;
1729de7269eSTaniya Das      #power-domain-cells = <1>;
1739de7269eSTaniya Das     };
1749de7269eSTaniya Das...
175