1*84943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*84943d6fSEmmanuel Vadot%YAML 1.2 3*84943d6fSEmmanuel Vadot--- 4*84943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,msm8996.yaml# 5*84943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*84943d6fSEmmanuel Vadot 7*84943d6fSEmmanuel Vadottitle: Qualcomm MSM8996 Network-On-Chip interconnect 8*84943d6fSEmmanuel Vadot 9*84943d6fSEmmanuel Vadotmaintainers: 10*84943d6fSEmmanuel Vadot - Konrad Dybcio <konradybcio@kernel.org> 11*84943d6fSEmmanuel Vadot 12*84943d6fSEmmanuel Vadotdescription: | 13*84943d6fSEmmanuel Vadot The Qualcomm MSM8996 interconnect providers support adjusting the 14*84943d6fSEmmanuel Vadot bandwidth requirements between the various NoC fabrics. 15*84943d6fSEmmanuel Vadot 16*84943d6fSEmmanuel Vadotproperties: 17*84943d6fSEmmanuel Vadot compatible: 18*84943d6fSEmmanuel Vadot enum: 19*84943d6fSEmmanuel Vadot - qcom,msm8996-a0noc 20*84943d6fSEmmanuel Vadot - qcom,msm8996-a1noc 21*84943d6fSEmmanuel Vadot - qcom,msm8996-a2noc 22*84943d6fSEmmanuel Vadot - qcom,msm8996-bimc 23*84943d6fSEmmanuel Vadot - qcom,msm8996-cnoc 24*84943d6fSEmmanuel Vadot - qcom,msm8996-mnoc 25*84943d6fSEmmanuel Vadot - qcom,msm8996-pnoc 26*84943d6fSEmmanuel Vadot - qcom,msm8996-snoc 27*84943d6fSEmmanuel Vadot 28*84943d6fSEmmanuel Vadot reg: 29*84943d6fSEmmanuel Vadot maxItems: 1 30*84943d6fSEmmanuel Vadot 31*84943d6fSEmmanuel Vadot clock-names: 32*84943d6fSEmmanuel Vadot minItems: 1 33*84943d6fSEmmanuel Vadot maxItems: 3 34*84943d6fSEmmanuel Vadot 35*84943d6fSEmmanuel Vadot clocks: 36*84943d6fSEmmanuel Vadot minItems: 1 37*84943d6fSEmmanuel Vadot maxItems: 3 38*84943d6fSEmmanuel Vadot 39*84943d6fSEmmanuel Vadot power-domains: 40*84943d6fSEmmanuel Vadot maxItems: 1 41*84943d6fSEmmanuel Vadot 42*84943d6fSEmmanuel Vadotrequired: 43*84943d6fSEmmanuel Vadot - compatible 44*84943d6fSEmmanuel Vadot - reg 45*84943d6fSEmmanuel Vadot 46*84943d6fSEmmanuel VadotunevaluatedProperties: false 47*84943d6fSEmmanuel Vadot 48*84943d6fSEmmanuel VadotallOf: 49*84943d6fSEmmanuel Vadot - $ref: qcom,rpm-common.yaml# 50*84943d6fSEmmanuel Vadot - if: 51*84943d6fSEmmanuel Vadot properties: 52*84943d6fSEmmanuel Vadot compatible: 53*84943d6fSEmmanuel Vadot const: qcom,msm8996-a0noc 54*84943d6fSEmmanuel Vadot 55*84943d6fSEmmanuel Vadot then: 56*84943d6fSEmmanuel Vadot properties: 57*84943d6fSEmmanuel Vadot clocks: 58*84943d6fSEmmanuel Vadot items: 59*84943d6fSEmmanuel Vadot - description: Aggregate0 System NoC AXI Clock. 60*84943d6fSEmmanuel Vadot - description: Aggregate0 Config NoC AHB Clock. 61*84943d6fSEmmanuel Vadot - description: Aggregate0 NoC MPU Clock. 62*84943d6fSEmmanuel Vadot 63*84943d6fSEmmanuel Vadot clock-names: 64*84943d6fSEmmanuel Vadot items: 65*84943d6fSEmmanuel Vadot - const: aggre0_snoc_axi 66*84943d6fSEmmanuel Vadot - const: aggre0_cnoc_ahb 67*84943d6fSEmmanuel Vadot - const: aggre0_noc_mpu_cfg 68*84943d6fSEmmanuel Vadot 69*84943d6fSEmmanuel Vadot required: 70*84943d6fSEmmanuel Vadot - power-domains 71*84943d6fSEmmanuel Vadot 72*84943d6fSEmmanuel Vadot - if: 73*84943d6fSEmmanuel Vadot properties: 74*84943d6fSEmmanuel Vadot compatible: 75*84943d6fSEmmanuel Vadot const: qcom,msm8996-mnoc 76*84943d6fSEmmanuel Vadot 77*84943d6fSEmmanuel Vadot then: 78*84943d6fSEmmanuel Vadot properties: 79*84943d6fSEmmanuel Vadot clocks: 80*84943d6fSEmmanuel Vadot items: 81*84943d6fSEmmanuel Vadot - description: CPU-NoC High-performance Bus Clock. 82*84943d6fSEmmanuel Vadot 83*84943d6fSEmmanuel Vadot clock-names: 84*84943d6fSEmmanuel Vadot const: iface 85*84943d6fSEmmanuel Vadot 86*84943d6fSEmmanuel Vadot - if: 87*84943d6fSEmmanuel Vadot properties: 88*84943d6fSEmmanuel Vadot compatible: 89*84943d6fSEmmanuel Vadot const: qcom,msm8996-a2noc 90*84943d6fSEmmanuel Vadot 91*84943d6fSEmmanuel Vadot then: 92*84943d6fSEmmanuel Vadot properties: 93*84943d6fSEmmanuel Vadot clocks: 94*84943d6fSEmmanuel Vadot items: 95*84943d6fSEmmanuel Vadot - description: Aggregate2 NoC UFS AXI Clock 96*84943d6fSEmmanuel Vadot - description: UFS AXI Clock 97*84943d6fSEmmanuel Vadot 98*84943d6fSEmmanuel Vadot clock-names: 99*84943d6fSEmmanuel Vadot items: 100*84943d6fSEmmanuel Vadot - const: aggre2_ufs_axi 101*84943d6fSEmmanuel Vadot - const: ufs_axi 102*84943d6fSEmmanuel Vadot 103*84943d6fSEmmanuel Vadotexamples: 104*84943d6fSEmmanuel Vadot - | 105*84943d6fSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-msm8996.h> 106*84943d6fSEmmanuel Vadot #include <dt-bindings/clock/qcom,mmcc-msm8996.h> 107*84943d6fSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmcc.h> 108*84943d6fSEmmanuel Vadot 109*84943d6fSEmmanuel Vadot bimc: interconnect@408000 { 110*84943d6fSEmmanuel Vadot compatible = "qcom,msm8996-bimc"; 111*84943d6fSEmmanuel Vadot reg = <0x00408000 0x5a000>; 112*84943d6fSEmmanuel Vadot #interconnect-cells = <1>; 113*84943d6fSEmmanuel Vadot }; 114*84943d6fSEmmanuel Vadot 115*84943d6fSEmmanuel Vadot a0noc: interconnect@543000 { 116*84943d6fSEmmanuel Vadot compatible = "qcom,msm8996-a0noc"; 117*84943d6fSEmmanuel Vadot reg = <0x00543000 0x6000>; 118*84943d6fSEmmanuel Vadot #interconnect-cells = <1>; 119*84943d6fSEmmanuel Vadot clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>, 120*84943d6fSEmmanuel Vadot <&gcc GCC_AGGRE0_CNOC_AHB_CLK>, 121*84943d6fSEmmanuel Vadot <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>; 122*84943d6fSEmmanuel Vadot clock-names = "aggre0_snoc_axi", 123*84943d6fSEmmanuel Vadot "aggre0_cnoc_ahb", 124*84943d6fSEmmanuel Vadot "aggre0_noc_mpu_cfg"; 125*84943d6fSEmmanuel Vadot power-domains = <&gcc AGGRE0_NOC_GDSC>; 126*84943d6fSEmmanuel Vadot }; 127