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

dt-bindings: interconnect: qcom,sm6350-rpmh: Add clocks for QoS

Add the clocks for some interconnects to the bindings that are required
to set up the QoS correctly. Update one of the examples to aggre2_noc to
have an example with clocks.

Also while we're at it, remove #interconnect-cells: true as that's
already provided from qcom,rpmh-common.yaml.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20251114-sm6350-icc-qos-v2-1-6af348cb9c69@fairphone.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>

authored by

Luca Weiss and committed by
Georgi Djakov
dfb17173 5ffe1910

+54 -11
+54 -11
Documentation/devicetree/bindings/interconnect/qcom,sm6350-rpmh.yaml
··· 12 12 description: 13 13 Qualcomm RPMh-based interconnect provider on SM6350. 14 14 15 - allOf: 16 - - $ref: qcom,rpmh-common.yaml# 17 - 18 15 properties: 19 16 compatible: 20 17 enum: ··· 27 30 reg: 28 31 maxItems: 1 29 32 30 - '#interconnect-cells': true 33 + clocks: 34 + minItems: 1 35 + maxItems: 2 31 36 32 37 patternProperties: 33 38 '^interconnect-[a-z0-9\-]+$': ··· 45 46 - qcom,sm6350-clk-virt 46 47 - qcom,sm6350-compute-noc 47 48 48 - '#interconnect-cells': true 49 - 50 49 required: 51 50 - compatible 52 51 ··· 54 57 - compatible 55 58 - reg 56 59 60 + allOf: 61 + - $ref: qcom,rpmh-common.yaml# 62 + - if: 63 + properties: 64 + compatible: 65 + contains: 66 + enum: 67 + - qcom,sm6350-aggre1-noc 68 + then: 69 + properties: 70 + clocks: 71 + items: 72 + - description: aggre UFS PHY AXI clock 73 + 74 + - if: 75 + properties: 76 + compatible: 77 + contains: 78 + enum: 79 + - qcom,sm6350-aggre2-noc 80 + then: 81 + properties: 82 + clocks: 83 + items: 84 + - description: aggre USB3 PRIM AXI clock 85 + - description: RPMH CC IPA clock 86 + 87 + - if: 88 + properties: 89 + compatible: 90 + contains: 91 + enum: 92 + - qcom,sm6350-aggre1-noc 93 + - qcom,sm6350-aggre2-noc 94 + then: 95 + required: 96 + - clocks 97 + else: 98 + properties: 99 + clocks: false 100 + 57 101 unevaluatedProperties: false 58 102 59 103 examples: 60 104 - | 105 + #include <dt-bindings/clock/qcom,gcc-sm6350.h> 106 + #include <dt-bindings/clock/qcom,rpmh.h> 107 + 61 108 config_noc: interconnect@1500000 { 62 109 compatible = "qcom,sm6350-config-noc"; 63 110 reg = <0x01500000 0x28000>; ··· 109 68 qcom,bcm-voters = <&apps_bcm_voter>; 110 69 }; 111 70 112 - system_noc: interconnect@1620000 { 113 - compatible = "qcom,sm6350-system-noc"; 114 - reg = <0x01620000 0x17080>; 71 + aggre2_noc: interconnect@1700000 { 72 + compatible = "qcom,sm6350-aggre2-noc"; 73 + reg = <0x01700000 0x1f880>; 115 74 #interconnect-cells = <2>; 116 75 qcom,bcm-voters = <&apps_bcm_voter>; 76 + clocks = <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, 77 + <&rpmhcc RPMH_IPA_CLK>; 117 78 118 - clk_virt: interconnect-clk-virt { 119 - compatible = "qcom,sm6350-clk-virt"; 79 + compute_noc: interconnect-compute-noc { 80 + compatible = "qcom,sm6350-compute-noc"; 120 81 #interconnect-cells = <2>; 121 82 qcom,bcm-voters = <&apps_bcm_voter>; 122 83 };