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-bimc 66 then: 67 properties: 68 clocks: false 69 clock-names: false 70 patternProperties: 71 '^interconnect-[a-z0-9]+$': false 72 73 - if: 74 properties: 75 compatible: 76 const: qcom,sm6115-cnoc 77 then: 78 properties: 79 clocks: 80 items: 81 - description: USB-NoC AXI clock 82 clock-names: 83 items: 84 - const: usb_axi 85 patternProperties: 86 '^interconnect-[a-z0-9]+$': false 87 88 - if: 89 properties: 90 compatible: 91 const: qcom,sm6115-snoc 92 then: 93 properties: 94 clocks: 95 items: 96 - description: CPU-NoC AXI clock. 97 - description: UFS-NoC AXI clock. 98 - description: USB-NoC AXI clock. 99 - description: IPA clock. 100 clock-names: 101 items: 102 - const: cpu_axi 103 - const: ufs_axi 104 - const: usb_axi 105 - const: ipa 106 107unevaluatedProperties: false 108 109examples: 110 - | 111 #include <dt-bindings/clock/qcom,gcc-sm6115.h> 112 #include <dt-bindings/clock/qcom,rpmcc.h> 113 114 snoc: interconnect@1880000 { 115 compatible = "qcom,sm6115-snoc"; 116 reg = <0x01880000 0x60200>; 117 clocks = <&gcc GCC_SYS_NOC_CPUSS_AHB_CLK>, 118 <&gcc GCC_SYS_NOC_UFS_PHY_AXI_CLK>, 119 <&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>, 120 <&rpmcc RPM_SMD_IPA_CLK>; 121 clock-names = "cpu_axi", 122 "ufs_axi", 123 "usb_axi", 124 "ipa"; 125 #interconnect-cells = <1>; 126 127 qup_virt: interconnect-clk { 128 compatible = "qcom,sm6115-clk-virt"; 129 #interconnect-cells = <1>; 130 }; 131 132 mmnrt_virt: interconnect-mmnrt { 133 compatible = "qcom,sm6115-mmnrt-virt"; 134 #interconnect-cells = <1>; 135 }; 136 137 mmrt_virt: interconnect-mmrt { 138 compatible = "qcom,sm6115-mmrt-virt"; 139 #interconnect-cells = <1>; 140 }; 141 }; 142 143 cnoc: interconnect@1900000 { 144 compatible = "qcom,sm6115-cnoc"; 145 reg = <0x01900000 0x8200>; 146 #interconnect-cells = <1>; 147 clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>; 148 clock-names = "usb_axi"; 149 }; 150