File Index
Files and directories
Sign in
FILE

qcom,sm6115.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/interconnect/qcom,sm6115.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/interconnect/qcom,sm6115.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm SM6115 Network-On-Chip interconnect
  8
  9maintainers:
 10  - Konrad Dybcio <konradybcio@kernel.org>
 11
 12description:
 13  The Qualcomm SM6115 interconnect providers support adjusting the
 14  bandwidth requirements between the various NoC fabrics.
 15
 16properties:
 17  compatible:
 18    enum:
 19      - qcom,sm6115-bimc
 20      - qcom,sm6115-cnoc
 21      - qcom,sm6115-snoc
 22
 23  reg:
 24    maxItems: 1
 25
 26  clocks:
 27    minItems: 1
 28    maxItems: 4
 29
 30  clock-names:
 31    minItems: 1
 32    maxItems: 4
 33
 34# Child node's properties
 35patternProperties:
 36  '^interconnect-[a-z0-9]+$':
 37    type: object
 38    description:
 39      The interconnect providers do not have a separate QoS register space,
 40      but share parent's space.
 41
 42    $ref: qcom,rpm-common.yaml#
 43
 44    properties:
 45      compatible:
 46        enum:
 47          - qcom,sm6115-clk-virt
 48          - qcom,sm6115-mmrt-virt
 49          - qcom,sm6115-mmnrt-virt
 50
 51    required:
 52      - compatible
 53
 54    unevaluatedProperties: false
 55
 56required:
 57  - compatible
 58  - reg
 59
 60allOf:
 61  - $ref: qcom,rpm-common.yaml#
 62  - if:
 63      properties:
 64        compatible:
 65          const: qcom,sm6115-cnoc
 66
 67    then:
 68      properties:
 69        clocks:
 70          items:
 71            - description: USB-NoC AXI clock
 72
 73        clock-names:
 74          items:
 75            - const: usb_axi
 76
 77  - if:
 78      properties:
 79        compatible:
 80          const: qcom,sm6115-snoc
 81
 82    then:
 83      properties:
 84        clocks:
 85          items:
 86            - description: CPU-NoC AXI clock.
 87            - description: UFS-NoC AXI clock.
 88            - description: USB-NoC AXI clock.
 89            - description: IPA clock.
 90
 91        clock-names:
 92          items:
 93            - const: cpu_axi
 94            - const: ufs_axi
 95            - const: usb_axi
 96            - const: ipa
 97
 98  - if:
 99      properties:
100        compatible:
101          enum:
102            - qcom,sm6115-bimc
103            - qcom,sm6115-clk-virt
104            - qcom,sm6115-mmrt-virt
105            - qcom,sm6115-mmnrt-virt
106
107    then:
108      properties:
109        clocks: false
110        clock-names: false
111
112unevaluatedProperties: false
113
114examples:
115  - |
116    #include <dt-bindings/clock/qcom,gcc-sm6115.h>
117    #include <dt-bindings/clock/qcom,rpmcc.h>
118
119    snoc: interconnect@1880000 {
120        compatible = "qcom,sm6115-snoc";
121        reg = <0x01880000 0x60200>;
122        clocks = <&gcc GCC_SYS_NOC_CPUSS_AHB_CLK>,
123                 <&gcc GCC_SYS_NOC_UFS_PHY_AXI_CLK>,
124                 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
125                 <&rpmcc RPM_SMD_IPA_CLK>;
126        clock-names = "cpu_axi",
127                      "ufs_axi",
128                      "usb_axi",
129                      "ipa";
130        #interconnect-cells = <1>;
131
132        qup_virt: interconnect-clk {
133            compatible = "qcom,sm6115-clk-virt";
134            #interconnect-cells = <1>;
135        };
136
137        mmnrt_virt: interconnect-mmnrt {
138            compatible = "qcom,sm6115-mmnrt-virt";
139            #interconnect-cells = <1>;
140        };
141
142        mmrt_virt: interconnect-mmrt {
143            compatible = "qcom,sm6115-mmrt-virt";
144            #interconnect-cells = <1>;
145        };
146    };
147
148    cnoc: interconnect@1900000 {
149        compatible = "qcom,sm6115-cnoc";
150        reg = <0x01900000 0x8200>;
151        #interconnect-cells = <1>;
152    };
~/ Read-only file preview.