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

dt-bindings: interconnect: Combine SDM660 bindings into RPM schema

SDM660 interconnect bindings are similar to other RPM interconnect
providers, and now it shares the same common driver with them, so
it is better to combine them into qcom,rpm.yaml.

Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> #db820c
Link: https://lore.kernel.org/r/20211021132329.234942-2-y.oudjana@protonmail.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>

authored by

Yassine Oudjana and committed by
Georgi Djakov
45c548cc fa55b7dc

+95 -193
+95 -8
Documentation/devicetree/bindings/interconnect/qcom,rpm.yaml
··· 30 30 - qcom,qcs404-bimc 31 31 - qcom,qcs404-pcnoc 32 32 - qcom,qcs404-snoc 33 + - qcom,sdm660-a2noc 34 + - qcom,sdm660-bimc 35 + - qcom,sdm660-cnoc 36 + - qcom,sdm660-gnoc 37 + - qcom,sdm660-mnoc 38 + - qcom,sdm660-snoc 33 39 34 40 '#interconnect-cells': 35 41 const: 1 36 42 37 - clock-names: 38 - items: 39 - - const: bus 40 - - const: bus_a 41 - 42 43 clocks: 43 - items: 44 - - description: Bus Clock 45 - - description: Bus A Clock 44 + minItems: 2 45 + maxItems: 7 46 + 47 + clock-names: 48 + minItems: 2 49 + maxItems: 7 46 50 47 51 required: 48 52 - compatible ··· 56 52 - clocks 57 53 58 54 additionalProperties: false 55 + 56 + allOf: 57 + - if: 58 + properties: 59 + compatible: 60 + contains: 61 + enum: 62 + - qcom,msm8916-bimc 63 + - qcom,msm8916-pcnoc 64 + - qcom,msm8916-snoc 65 + - qcom,msm8939-bimc 66 + - qcom,msm8939-pcnoc 67 + - qcom,msm8939-snoc 68 + - qcom,msm8939-snoc-mm 69 + - qcom,qcs404-bimc 70 + - qcom,qcs404-pcnoc 71 + - qcom,qcs404-snoc 72 + - qcom,sdm660-bimc 73 + - qcom,sdm660-cnoc 74 + - qcom,sdm660-gnoc 75 + - qcom,sdm660-snoc 76 + 77 + then: 78 + properties: 79 + clock-names: 80 + items: 81 + - const: bus 82 + - const: bus_a 83 + 84 + clocks: 85 + items: 86 + - description: Bus Clock 87 + - description: Bus A Clock 88 + 89 + - if: 90 + properties: 91 + compatible: 92 + contains: 93 + enum: 94 + - qcom,sdm660-mnoc 95 + 96 + then: 97 + properties: 98 + clock-names: 99 + items: 100 + - const: bus 101 + - const: bus_a 102 + - const: iface 103 + 104 + clocks: 105 + items: 106 + - description: Bus Clock. 107 + - description: Bus A Clock. 108 + - description: CPU-NoC High-performance Bus Clock. 109 + 110 + - if: 111 + properties: 112 + compatible: 113 + contains: 114 + enum: 115 + - qcom,sdm660-a2noc 116 + 117 + then: 118 + properties: 119 + clock-names: 120 + items: 121 + - const: bus 122 + - const: bus_a 123 + - const: ipa 124 + - const: ufs_axi 125 + - const: aggre2_ufs_axi 126 + - const: aggre2_usb3_axi 127 + - const: cfg_noc_usb2_axi 128 + 129 + clocks: 130 + items: 131 + - description: Bus Clock. 132 + - description: Bus A Clock. 133 + - description: IPA Clock. 134 + - description: UFS AXI Clock. 135 + - description: Aggregate2 UFS AXI Clock. 136 + - description: Aggregate2 USB3 AXI Clock. 137 + - description: Config NoC USB2 AXI Clock. 59 138 60 139 examples: 61 140 - |
-185
Documentation/devicetree/bindings/interconnect/qcom,sdm660.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,sdm660.yaml# 5 - $schema: http://devicetree.org/meta-schemas/core.yaml# 6 - 7 - title: Qualcomm SDM660 Network-On-Chip interconnect 8 - 9 - maintainers: 10 - - AngeloGioacchino Del Regno <kholk11@gmail.com> 11 - 12 - description: | 13 - The Qualcomm SDM660 interconnect providers support adjusting the 14 - bandwidth requirements between the various NoC fabrics. 15 - 16 - properties: 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: 7 35 - 36 - clock-names: 37 - minItems: 1 38 - maxItems: 7 39 - 40 - required: 41 - - compatible 42 - - reg 43 - - '#interconnect-cells' 44 - - clock-names 45 - - clocks 46 - 47 - additionalProperties: false 48 - 49 - allOf: 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 - then: 76 - properties: 77 - clocks: 78 - items: 79 - - description: Bus Clock. 80 - - description: Bus A Clock. 81 - - description: IPA Clock. 82 - - description: UFS AXI Clock. 83 - - description: Aggregate2 UFS AXI Clock. 84 - - description: Aggregate2 USB3 AXI Clock. 85 - - description: Config NoC USB2 AXI Clock. 86 - clock-names: 87 - items: 88 - - const: bus 89 - - const: bus_a 90 - - const: ipa 91 - - const: ufs_axi 92 - - const: aggre2_ufs_axi 93 - - const: aggre2_usb3_axi 94 - - const: cfg_noc_usb2_axi 95 - 96 - - if: 97 - properties: 98 - compatible: 99 - contains: 100 - enum: 101 - - qcom,sdm660-bimc 102 - - qcom,sdm660-cnoc 103 - - qcom,sdm660-gnoc 104 - - qcom,sdm660-snoc 105 - then: 106 - properties: 107 - clocks: 108 - items: 109 - - description: Bus Clock. 110 - - description: Bus A Clock. 111 - clock-names: 112 - items: 113 - - const: bus 114 - - const: bus_a 115 - 116 - examples: 117 - - | 118 - #include <dt-bindings/clock/qcom,rpmcc.h> 119 - #include <dt-bindings/clock/qcom,mmcc-sdm660.h> 120 - #include <dt-bindings/clock/qcom,gcc-sdm660.h> 121 - 122 - bimc: interconnect@1008000 { 123 - compatible = "qcom,sdm660-bimc"; 124 - reg = <0x01008000 0x78000>; 125 - #interconnect-cells = <1>; 126 - clock-names = "bus", "bus_a"; 127 - clocks = <&rpmcc RPM_SMD_BIMC_CLK>, 128 - <&rpmcc RPM_SMD_BIMC_A_CLK>; 129 - }; 130 - 131 - cnoc: interconnect@1500000 { 132 - compatible = "qcom,sdm660-cnoc"; 133 - reg = <0x01500000 0x10000>; 134 - #interconnect-cells = <1>; 135 - clock-names = "bus", "bus_a"; 136 - clocks = <&rpmcc RPM_SMD_CNOC_CLK>, 137 - <&rpmcc RPM_SMD_CNOC_A_CLK>; 138 - }; 139 - 140 - snoc: interconnect@1626000 { 141 - compatible = "qcom,sdm660-snoc"; 142 - reg = <0x01626000 0x7090>; 143 - #interconnect-cells = <1>; 144 - clock-names = "bus", "bus_a"; 145 - clocks = <&rpmcc RPM_SMD_SNOC_CLK>, 146 - <&rpmcc RPM_SMD_SNOC_A_CLK>; 147 - }; 148 - 149 - a2noc: interconnect@1704000 { 150 - compatible = "qcom,sdm660-a2noc"; 151 - reg = <0x01704000 0xc100>; 152 - #interconnect-cells = <1>; 153 - clock-names = "bus", 154 - "bus_a", 155 - "ipa", 156 - "ufs_axi", 157 - "aggre2_ufs_axi", 158 - "aggre2_usb3_axi", 159 - "cfg_noc_usb2_axi"; 160 - clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>, 161 - <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>, 162 - <&rpmcc RPM_SMD_IPA_CLK>, 163 - <&gcc GCC_UFS_AXI_CLK>, 164 - <&gcc GCC_AGGRE2_UFS_AXI_CLK>, 165 - <&gcc GCC_AGGRE2_USB3_AXI_CLK>, 166 - <&gcc GCC_CFG_NOC_USB2_AXI_CLK>; 167 - }; 168 - 169 - mnoc: interconnect@1745000 { 170 - compatible = "qcom,sdm660-mnoc"; 171 - reg = <0x01745000 0xa010>; 172 - #interconnect-cells = <1>; 173 - clock-names = "bus", "bus_a", "iface"; 174 - clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>, 175 - <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>, 176 - <&mmcc AHB_CLK_SRC>; 177 - }; 178 - 179 - gnoc: interconnect@17900000 { 180 - compatible = "qcom,sdm660-gnoc"; 181 - reg = <0x17900000 0xe000>; 182 - #interconnect-cells = <1>; 183 - clock-names = "bus", "bus_a"; 184 - clocks = <&xo_board>, <&xo_board>; 185 - };