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