Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: interconnect: qcom: Fix and separate out MSM8996

Separate out MSM8996 icc bindings from the common file and fix the
clocks description by removing the wrong internal RPM bus clock
representation that we've been carrying for years.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230721-topic-icc_bindings-v2-4-e33d5acbf3bd@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>

authored by

Konrad Dybcio and committed by
Georgi Djakov
d03374a6 c19bcc76

+126 -81
+126
Documentation/devicetree/bindings/interconnect/qcom,msm8996.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/interconnect/qcom,msm8996.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Qualcomm MSM8996 Network-On-Chip interconnect 8 + 9 + maintainers: 10 + - Konrad Dybcio <konradybcio@kernel.org> 11 + 12 + description: | 13 + The Qualcomm MSM8996 interconnect providers support adjusting the 14 + bandwidth requirements between the various NoC fabrics. 15 + 16 + properties: 17 + compatible: 18 + enum: 19 + - qcom,msm8996-a0noc 20 + - qcom,msm8996-a1noc 21 + - qcom,msm8996-a2noc 22 + - qcom,msm8996-bimc 23 + - qcom,msm8996-cnoc 24 + - qcom,msm8996-mnoc 25 + - qcom,msm8996-pnoc 26 + - qcom,msm8996-snoc 27 + 28 + reg: 29 + maxItems: 1 30 + 31 + clock-names: 32 + minItems: 1 33 + maxItems: 3 34 + 35 + clocks: 36 + minItems: 1 37 + maxItems: 3 38 + 39 + power-domains: 40 + maxItems: 1 41 + 42 + required: 43 + - compatible 44 + - reg 45 + 46 + unevaluatedProperties: false 47 + 48 + allOf: 49 + - $ref: qcom,rpm-common.yaml# 50 + - if: 51 + properties: 52 + compatible: 53 + const: qcom,msm8996-a0noc 54 + 55 + then: 56 + properties: 57 + clocks: 58 + items: 59 + - description: Aggregate0 System NoC AXI Clock. 60 + - description: Aggregate0 Config NoC AHB Clock. 61 + - description: Aggregate0 NoC MPU Clock. 62 + 63 + clock-names: 64 + items: 65 + - const: aggre0_snoc_axi 66 + - const: aggre0_cnoc_ahb 67 + - const: aggre0_noc_mpu_cfg 68 + 69 + required: 70 + - power-domains 71 + 72 + - if: 73 + properties: 74 + compatible: 75 + const: qcom,msm8996-mnoc 76 + 77 + then: 78 + properties: 79 + clocks: 80 + items: 81 + - description: CPU-NoC High-performance Bus Clock. 82 + 83 + clock-names: 84 + const: iface 85 + 86 + - if: 87 + properties: 88 + compatible: 89 + const: qcom,msm8996-a2noc 90 + 91 + then: 92 + properties: 93 + clocks: 94 + items: 95 + - description: Aggregate2 NoC UFS AXI Clock 96 + - description: UFS AXI Clock 97 + 98 + clock-names: 99 + items: 100 + - const: aggre2_ufs_axi 101 + - const: ufs_axi 102 + 103 + examples: 104 + - | 105 + #include <dt-bindings/clock/qcom,gcc-msm8996.h> 106 + #include <dt-bindings/clock/qcom,mmcc-msm8996.h> 107 + #include <dt-bindings/clock/qcom,rpmcc.h> 108 + 109 + bimc: interconnect@408000 { 110 + compatible = "qcom,msm8996-bimc"; 111 + reg = <0x00408000 0x5a000>; 112 + #interconnect-cells = <1>; 113 + }; 114 + 115 + a0noc: interconnect@543000 { 116 + compatible = "qcom,msm8996-a0noc"; 117 + reg = <0x00543000 0x6000>; 118 + #interconnect-cells = <1>; 119 + clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>, 120 + <&gcc GCC_AGGRE0_CNOC_AHB_CLK>, 121 + <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>; 122 + clock-names = "aggre0_snoc_axi", 123 + "aggre0_cnoc_ahb", 124 + "aggre0_noc_mpu_cfg"; 125 + power-domains = <&gcc AGGRE0_NOC_GDSC>; 126 + };
-81
Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
··· 26 26 - qcom,msm8939-bimc 27 27 - qcom,msm8939-pcnoc 28 28 - qcom,msm8939-snoc 29 - - qcom,msm8996-a0noc 30 - - qcom,msm8996-a1noc 31 - - qcom,msm8996-a2noc 32 - - qcom,msm8996-bimc 33 - - qcom,msm8996-cnoc 34 - - qcom,msm8996-mnoc 35 - - qcom,msm8996-pnoc 36 - - qcom,msm8996-snoc 37 29 - qcom,qcs404-bimc 38 30 - qcom,qcs404-pcnoc 39 31 - qcom,qcs404-snoc ··· 101 109 - qcom,msm8939-bimc 102 110 - qcom,msm8939-pcnoc 103 111 - qcom,msm8939-snoc 104 - - qcom,msm8996-a1noc 105 - - qcom,msm8996-bimc 106 - - qcom,msm8996-cnoc 107 - - qcom,msm8996-pnoc 108 - - qcom,msm8996-snoc 109 112 - qcom,qcs404-bimc 110 113 - qcom,qcs404-pcnoc 111 114 - qcom,qcs404-snoc ··· 116 129 items: 117 130 - description: Bus Clock 118 131 - description: Bus A Clock 119 - 120 - - if: 121 - properties: 122 - compatible: 123 - contains: 124 - enum: 125 - - qcom,msm8996-mnoc 126 - 127 - then: 128 - properties: 129 - clock-names: 130 - items: 131 - - const: bus 132 - - const: bus_a 133 - - const: iface 134 - 135 - clocks: 136 - items: 137 - - description: Bus Clock. 138 - - description: Bus A Clock. 139 - - description: CPU-NoC High-performance Bus Clock. 140 - 141 - - if: 142 - properties: 143 - compatible: 144 - contains: 145 - enum: 146 - - qcom,msm8996-a0noc 147 - 148 - then: 149 - properties: 150 - clock-names: 151 - items: 152 - - const: aggre0_snoc_axi 153 - - const: aggre0_cnoc_ahb 154 - - const: aggre0_noc_mpu_cfg 155 - 156 - clocks: 157 - items: 158 - - description: Aggregate0 System NoC AXI Clock. 159 - - description: Aggregate0 Config NoC AHB Clock. 160 - - description: Aggregate0 NoC MPU Clock. 161 - 162 - required: 163 - - power-domains 164 - 165 - - if: 166 - properties: 167 - compatible: 168 - contains: 169 - enum: 170 - - qcom,msm8996-a2noc 171 - 172 - then: 173 - properties: 174 - clock-names: 175 - items: 176 - - const: bus 177 - - const: bus_a 178 - - const: aggre2_ufs_axi 179 - - const: ufs_axi 180 - 181 - clocks: 182 - items: 183 - - description: Bus Clock 184 - - description: Bus A Clock 185 - - description: Aggregate2 NoC UFS AXI Clock 186 - - description: UFS AXI Clock 187 132 188 133 - if: 189 134 not: