Commit c19bcc76 authored by Konrad Dybcio's avatar Konrad Dybcio Committed by Georgi Djakov
Browse files

dt-bindings: interconnect: qcom: Fix and separate out SDM660



Separate out SDM660 icc bindings from the common file and fix the
clocks description by removing the wrong internal RPM bus clock
representation that we've been carrying for years.

Signed-off-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230721-topic-icc_bindings-v2-3-e33d5acbf3bd@linaro.org


Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parent 5d4268b3
Loading
Loading
Loading
Loading
+0 −40
Original line number Diff line number Diff line
@@ -37,12 +37,6 @@ properties:
      - qcom,qcs404-bimc
      - qcom,qcs404-pcnoc
      - qcom,qcs404-snoc
      - qcom,sdm660-a2noc
      - qcom,sdm660-bimc
      - qcom,sdm660-cnoc
      - qcom,sdm660-gnoc
      - qcom,sdm660-mnoc
      - qcom,sdm660-snoc

  '#interconnect-cells':
    description: |
@@ -123,10 +117,6 @@ allOf:
              - qcom,qcs404-bimc
              - qcom,qcs404-pcnoc
              - qcom,qcs404-snoc
              - qcom,sdm660-bimc
              - qcom,sdm660-cnoc
              - qcom,sdm660-gnoc
              - qcom,sdm660-snoc

    then:
      properties:
@@ -146,7 +136,6 @@ allOf:
          contains:
            enum:
              - qcom,msm8996-mnoc
              - qcom,sdm660-mnoc

    then:
      properties:
@@ -209,35 +198,6 @@ allOf:
            - description: Aggregate2 NoC UFS AXI Clock
            - description: UFS AXI Clock

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdm660-a2noc

    then:
      properties:
        clock-names:
          items:
            - const: bus
            - const: bus_a
            - const: ipa
            - const: ufs_axi
            - const: aggre2_ufs_axi
            - const: aggre2_usb3_axi
            - const: cfg_noc_usb2_axi

        clocks:
          items:
            - description: Bus Clock.
            - description: Bus A Clock.
            - description: IPA Clock.
            - description: UFS AXI Clock.
            - description: Aggregate2 UFS AXI Clock.
            - description: Aggregate2 USB3 AXI Clock.
            - description: Config NoC USB2 AXI Clock.

  - if:
      not:
        properties:
+108 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sdm660.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SDM660 Network-On-Chip interconnect

maintainers:
  - Konrad Dybcio <konradybcio@kernel.org>

description: |
  The Qualcomm SDM660 interconnect providers support adjusting the
  bandwidth requirements between the various NoC fabrics.

properties:
  compatible:
    enum:
      - qcom,sdm660-a2noc
      - qcom,sdm660-bimc
      - qcom,sdm660-cnoc
      - qcom,sdm660-gnoc
      - qcom,sdm660-mnoc
      - qcom,sdm660-snoc

  reg:
    maxItems: 1

  clock-names:
    minItems: 1
    maxItems: 5

  clocks:
    minItems: 1
    maxItems: 5

required:
  - compatible
  - reg

unevaluatedProperties: false

allOf:
  - $ref: qcom,rpm-common.yaml#
  - if:
      properties:
        compatible:
          const: qcom,sdm660-mnoc

    then:
      properties:
        clocks:
          items:
            - description: CPU-NoC High-performance Bus Clock.

        clock-names:
          const: iface

  - if:
      properties:
        compatible:
          const: qcom,sdm660-a2noc

    then:
      properties:
        clocks:
          items:
            - description: IPA Clock.
            - description: UFS AXI Clock.
            - description: Aggregate2 UFS AXI Clock.
            - description: Aggregate2 USB3 AXI Clock.
            - description: Config NoC USB2 AXI Clock.

        clock-names:
          items:
            - const: ipa
            - const: ufs_axi
            - const: aggre2_ufs_axi
            - const: aggre2_usb3_axi
            - const: cfg_noc_usb2_axi

examples:
  - |
    #include <dt-bindings/clock/qcom,gcc-sdm660.h>
    #include <dt-bindings/clock/qcom,mmcc-sdm660.h>
    #include <dt-bindings/clock/qcom,rpmcc.h>

    bimc: interconnect@1008000 {
        compatible = "qcom,sdm660-bimc";
        reg = <0x01008000 0x78000>;
        #interconnect-cells = <1>;
    };

    a2noc: interconnect@1704000 {
        compatible = "qcom,sdm660-a2noc";
        reg = <0x01704000 0xc100>;
        #interconnect-cells = <1>;
        clocks = <&rpmcc RPM_SMD_IPA_CLK>,
                 <&gcc GCC_UFS_AXI_CLK>,
                 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
                 <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
                 <&gcc GCC_CFG_NOC_USB2_AXI_CLK>;
        clock-names = "ipa",
                      "ufs_axi",
                      "aggre2_ufs_axi",
                      "aggre2_usb3_axi",
                      "cfg_noc_usb2_axi";
    };