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: 3 35 36 clock-names: 37 minItems: 1 38 maxItems: 3 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 - qcom,sdm660-bimc 76 - qcom,sdm660-cnoc 77 - qcom,sdm660-gnoc 78 - qcom,sdm660-snoc 79 then: 80 properties: 81 clocks: 82 items: 83 - description: Bus Clock. 84 - description: Bus A Clock. 85 clock-names: 86 items: 87 - const: bus 88 - const: bus_a 89 90examples: 91 - | 92 #include <dt-bindings/clock/qcom,rpmcc.h> 93 #include <dt-bindings/clock/qcom,mmcc-sdm660.h> 94 95 bimc: interconnect@1008000 { 96 compatible = "qcom,sdm660-bimc"; 97 reg = <0x01008000 0x78000>; 98 #interconnect-cells = <1>; 99 clock-names = "bus", "bus_a"; 100 clocks = <&rpmcc RPM_SMD_BIMC_CLK>, 101 <&rpmcc RPM_SMD_BIMC_A_CLK>; 102 }; 103 104 cnoc: interconnect@1500000 { 105 compatible = "qcom,sdm660-cnoc"; 106 reg = <0x01500000 0x10000>; 107 #interconnect-cells = <1>; 108 clock-names = "bus", "bus_a"; 109 clocks = <&rpmcc RPM_SMD_CNOC_CLK>, 110 <&rpmcc RPM_SMD_CNOC_A_CLK>; 111 }; 112 113 snoc: interconnect@1626000 { 114 compatible = "qcom,sdm660-snoc"; 115 reg = <0x01626000 0x7090>; 116 #interconnect-cells = <1>; 117 clock-names = "bus", "bus_a"; 118 clocks = <&rpmcc RPM_SMD_SNOC_CLK>, 119 <&rpmcc RPM_SMD_SNOC_A_CLK>; 120 }; 121 122 a2noc: interconnect@1704000 { 123 compatible = "qcom,sdm660-a2noc"; 124 reg = <0x01704000 0xc100>; 125 #interconnect-cells = <1>; 126 clock-names = "bus", "bus_a"; 127 clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>, 128 <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>; 129 }; 130 131 mnoc: interconnect@1745000 { 132 compatible = "qcom,sdm660-mnoc"; 133 reg = <0x01745000 0xa010>; 134 #interconnect-cells = <1>; 135 clock-names = "bus", "bus_a", "iface"; 136 clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>, 137 <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>, 138 <&mmcc AHB_CLK_SRC>; 139 }; 140 141 gnoc: interconnect@17900000 { 142 compatible = "qcom,sdm660-gnoc"; 143 reg = <0x17900000 0xe000>; 144 #interconnect-cells = <1>; 145 clock-names = "bus", "bus_a"; 146 clocks = <&xo_board>, <&xo_board>; 147 }; 148