dt-bindings: interconnect: qcom,sc8280xp-rpmh: Add reg and clocks for QoS

Add the register range and clock properties needed for programming NoC QoS
configuration on SC8280XP.

Require a register range for the real NoC providers, require QoS clocks for
aggre1_noc and aggre2_noc, and keep the virtual clk_virt and mc_virt
providers without MMIO resources or clocks.

Signed-off-by: Xilin Wu <sophon@radxa.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260507-sc8280xp-qos-v1-1-15135858cd98@radxa.com
Signed-off-by: Georgi Djakov <djakov@kernel.org>
This commit is contained in:
Xilin Wu 2026-05-07 22:25:12 +08:00 committed by Georgi Djakov
parent dc59e4fea9
commit 2c12d05d86

View File

@ -32,18 +32,115 @@ properties:
- qcom,sc8280xp-nspb-noc
- qcom,sc8280xp-system-noc
reg:
maxItems: 1
clocks:
minItems: 7
maxItems: 8
required:
- compatible
allOf:
- $ref: qcom,rpmh-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,sc8280xp-clk-virt
- qcom,sc8280xp-mc-virt
then:
properties:
reg: false
clocks: false
else:
required:
- reg
- if:
properties:
compatible:
contains:
enum:
- qcom,sc8280xp-aggre1-noc
then:
properties:
clocks:
items:
- description: aggre UFS PHY AXI clock
- description: aggre USB3 PRIM AXI clock
- description: aggre USB3 SEC AXI clock
- description: aggre USB3 MP AXI clock
- description: aggre USB4 AXI clock
- description: aggre USB4 1 AXI clock
- description: aggre USB NOC SOUTH AXI clock
- description: RPMH CC IPA clock
- if:
properties:
compatible:
contains:
enum:
- qcom,sc8280xp-aggre2-noc
then:
properties:
clocks:
items:
- description: aggre NOC PCIE0 tunnel AXI clock
- description: aggre NOC PCIE1 tunnel AXI clock
- description: aggre NOC PCIE 4 AXI clock
- description: aggre NOC PCIE SOUTH SF AXI clock
- description: aggre UFS CARD AXI clock
- description: DDRSS GPU AXI clock
- description: DDRSS PCIE SF TBU clock
- if:
properties:
compatible:
contains:
enum:
- qcom,sc8280xp-aggre1-noc
- qcom,sc8280xp-aggre2-noc
then:
required:
- clocks
else:
properties:
clocks: false
unevaluatedProperties: false
examples:
- |
interconnect-0 {
compatible = "qcom,sc8280xp-aggre1-noc";
#include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
#include <dt-bindings/clock/qcom,rpmh.h>
interconnect {
compatible = "qcom,sc8280xp-clk-virt";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
interconnect@9100000 {
compatible = "qcom,sc8280xp-gem-noc";
reg = <0x9100000 0xb8400>;
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
interconnect@16c0000 {
compatible = "qcom,sc8280xp-aggre1-noc";
reg = <0x16c0000 0x3af80>;
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
<&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
<&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>,
<&gcc GCC_AGGRE_USB3_MP_AXI_CLK>,
<&gcc GCC_AGGRE_USB4_AXI_CLK>,
<&gcc GCC_AGGRE_USB4_1_AXI_CLK>,
<&gcc GCC_AGGRE_USB_NOC_SOUTH_AXI_CLK>,
<&rpmhcc RPMH_IPA_CLK>;
};