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 }; 153