1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/interconnect/qcom,sdm660.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SDM660 Network-On-Chip interconnect 8 9maintainers: 10 - AngeloGioacchino Del Regno <kholk11@gmail.com> 11 12description: | 13 The Qualcomm SDM660 interconnect providers support adjusting the 14 bandwidth requirements between the various NoC fabrics. 15 16properties: 17 reg: 18 maxItems: 1 19 20 compatible: 21 enum: 22 - qcom,sdm660-a2noc 23 - qcom,sdm660-bimc 24 - qcom,sdm660-cnoc 25 - qcom,sdm660-gnoc 26 - qcom,sdm660-mnoc 27 - qcom,sdm660-snoc 28 29 '#interconnect-cells': 30 const: 1 31 32 clocks: 33 minItems: 1 34 maxItems: 7 35 36 clock-names: 37 minItems: 1 38 maxItems: 7 39 40required: 41 - compatible 42 - reg 43 - '#interconnect-cells' 44 - clock-names 45 - clocks 46 47additionalProperties: false 48 49allOf: 50 - if: 51 properties: 52 compatible: 53 contains: 54 enum: 55 - qcom,sdm660-mnoc 56 then: 57 properties: 58 clocks: 59 items: 60 - description: Bus Clock. 61 - description: Bus A Clock. 62 - description: CPU-NoC High-performance Bus Clock. 63 clock-names: 64 items: 65 - const: bus 66 - const: bus_a 67 - const: iface 68 69 - if: 70 properties: 71 compatible: 72 contains: 73 enum: 74 - qcom,sdm660-a2noc 75 then: 76 properties: 77 clocks: 78 items: 79 - description: Bus Clock. 80 - description: Bus A Clock. 81 - description: IPA Clock. 82 - description: UFS AXI Clock. 83 - description: Aggregate2 UFS AXI Clock. 84 - description: Aggregate2 USB3 AXI Clock. 85 - description: Config NoC USB2 AXI Clock. 86 clock-names: 87 items: 88 - const: bus 89 - const: bus_a 90 - const: ipa 91 - const: ufs_axi 92 - const: aggre2_ufs_axi 93 - const: aggre2_usb3_axi 94 - const: cfg_noc_usb2_axi 95 96 - if: 97 properties: 98 compatible: 99 contains: 100 enum: 101 - qcom,sdm660-bimc 102 - qcom,sdm660-cnoc 103 - qcom,sdm660-gnoc 104 - qcom,sdm660-snoc 105 then: 106 properties: 107 clocks: 108 items: 109 - description: Bus Clock. 110 - description: Bus A Clock. 111 clock-names: 112 items: 113 - const: bus 114 - const: bus_a 115 116examples: 117 - | 118 #include <dt-bindings/clock/qcom,rpmcc.h> 119 #include <dt-bindings/clock/qcom,mmcc-sdm660.h> 120 #include <dt-bindings/clock/qcom,gcc-sdm660.h> 121 122 bimc: interconnect@1008000 { 123 compatible = "qcom,sdm660-bimc"; 124 reg = <0x01008000 0x78000>; 125 #interconnect-cells = <1>; 126 clock-names = "bus", "bus_a"; 127 clocks = <&rpmcc RPM_SMD_BIMC_CLK>, 128 <&rpmcc RPM_SMD_BIMC_A_CLK>; 129 }; 130 131 cnoc: interconnect@1500000 { 132 compatible = "qcom,sdm660-cnoc"; 133 reg = <0x01500000 0x10000>; 134 #interconnect-cells = <1>; 135 clock-names = "bus", "bus_a"; 136 clocks = <&rpmcc RPM_SMD_CNOC_CLK>, 137 <&rpmcc RPM_SMD_CNOC_A_CLK>; 138 }; 139 140 snoc: interconnect@1626000 { 141 compatible = "qcom,sdm660-snoc"; 142 reg = <0x01626000 0x7090>; 143 #interconnect-cells = <1>; 144 clock-names = "bus", "bus_a"; 145 clocks = <&rpmcc RPM_SMD_SNOC_CLK>, 146 <&rpmcc RPM_SMD_SNOC_A_CLK>; 147 }; 148 149 a2noc: interconnect@1704000 { 150 compatible = "qcom,sdm660-a2noc"; 151 reg = <0x01704000 0xc100>; 152 #interconnect-cells = <1>; 153 clock-names = "bus", 154 "bus_a", 155 "ipa", 156 "ufs_axi", 157 "aggre2_ufs_axi", 158 "aggre2_usb3_axi", 159 "cfg_noc_usb2_axi"; 160 clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>, 161 <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>, 162 <&rpmcc RPM_SMD_IPA_CLK>, 163 <&gcc GCC_UFS_AXI_CLK>, 164 <&gcc GCC_AGGRE2_UFS_AXI_CLK>, 165 <&gcc GCC_AGGRE2_USB3_AXI_CLK>, 166 <&gcc GCC_CFG_NOC_USB2_AXI_CLK>; 167 }; 168 169 mnoc: interconnect@1745000 { 170 compatible = "qcom,sdm660-mnoc"; 171 reg = <0x01745000 0xa010>; 172 #interconnect-cells = <1>; 173 clock-names = "bus", "bus_a", "iface"; 174 clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>, 175 <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>, 176 <&mmcc AHB_CLK_SRC>; 177 }; 178 179 gnoc: interconnect@17900000 { 180 compatible = "qcom,sdm660-gnoc"; 181 reg = <0x17900000 0xe000>; 182 #interconnect-cells = <1>; 183 clock-names = "bus", "bus_a"; 184 clocks = <&xo_board>, <&xo_board>; 185 }; 186