Commit 28a70e79 authored by Odelu Kukatla's avatar Odelu Kukatla Committed by Georgi Djakov
Browse files

dt-bindings: interconnect: qcom,qcs8300-rpmh: add clocks property to enable QoS



Some QCS8300 interconnect nodes have QoS registers located inside
a block whose interface is clock-gated. For those nodes, driver
must enable the corresponding clock(s) before accessing the
registers. Add the 'clocks' property so the driver can obtain
and enable the required clock(s).

Only interconnects that have clock‑gated QoS register interface
use this property; it is not applicable to all interconnect nodes.

Signed-off-by: default avatarOdelu Kukatla <odelu.kukatla@oss.qualcomm.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://msgid.link/20260127090116.1438780-2-odelu.kukatla@oss.qualcomm.com


Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parent 6de23f81
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ properties:
  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 4

required:
  - compatible

@@ -54,6 +58,64 @@ allOf:
      required:
        - reg

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qcs8300-aggre1-noc
    then:
      properties:
        clocks:
          items:
            - description: aggre UFS PHY AXI clock
            - description: aggre QUP PRIM AXI clock
            - description: aggre USB2 PRIM AXI clock
            - description: aggre USB3 PRIM AXI clock

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qcs8300-aggre2-noc
    then:
      properties:
        clocks:
          items:
            - description: RPMH CC IPA clock

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qcs8300-gem-noc
    then:
      properties:
        clocks:
          items:
            - description: GCC DDRSS GPU AXI clock

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qcs8300-clk-virt
              - qcom,qcs8300-config-noc
              - qcom,qcs8300-dc-noc
              - qcom,qcs8300-gpdsp-anoc
              - qcom,qcs8300-lpass-ag-noc
              - qcom,qcs8300-mc-virt
              - qcom,qcs8300-mmss-noc
              - qcom,qcs8300-nspa-noc
              - qcom,qcs8300-pcie-anoc
              - qcom,qcs8300-system-noc
    then:
      properties:
        clocks: false

unevaluatedProperties: false

examples:
@@ -63,6 +125,7 @@ examples:
        reg = <0x9100000 0xf7080>;
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;
        clocks = <&gcc_ddrss_gpu_axi_clk>;
    };

    clk_virt: interconnect-0 {