aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
authorGeorgi Djakov <djakov@kernel.org>2026-05-21 20:57:37 +0300
committerGeorgi Djakov <djakov@kernel.org>2026-05-21 20:57:37 +0300
commit21f951515a55565904a0f7b2e70ff915d11938f9 (patch)
tree91a63a92dcafad8efcd9f548a0ecd6f8cb533322 /Documentation
parent981b834302a177b9707700ba08d2cbf3ad0523f9 (diff)
parent010f4d24cc61fd03c61bbdcce15b7a2033956bc7 (diff)
downloadlinux-next-history-21f951515a55565904a0f7b2e70ff915d11938f9.tar.gz
Merge branch 'icc-nord' into icc-next
This adds RPMh-based interconnect support for the Qualcomm Nord SoC. The Nord SoC features a rich Network-on-Chip topology comprising 19 NoCs including aggregate NoCs, a high-speed configuration NoC (HSCNOC), a multimedia NoC, four NSP data NoCs for AI/ML workloads, PCIe inbound and outbound NoCs, a system NoC, and virtual clock/MC nodes. Bandwidth requests are communicated to the RPMh hardware through Bus Clock Manager (BCM) resources via the Resource State Coordinator (RSC). * icc-nord dt-bindings: interconnect: Document RPMh Network-On-Chip for Qualcomm Nord SoC interconnect: qcom: Add interconnect provider driver for Nord SoC Link: https://patch.msgid.link/20260510020607.1129773-1-shengchao.guo@oss.qualcomm.com Signed-off-by: Georgi Djakov <djakov@kernel.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/interconnect/qcom,nord-rpmh.yaml131
1 files changed, 131 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/interconnect/qcom,nord-rpmh.yaml b/Documentation/devicetree/bindings/interconnect/qcom,nord-rpmh.yaml
new file mode 100644
index 0000000000000..3650d3d5b9185
--- /dev/null
+++ b/Documentation/devicetree/bindings/interconnect/qcom,nord-rpmh.yaml
@@ -0,0 +1,131 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/interconnect/qcom,nord-rpmh.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm RPMh Network-On-Chip Interconnect on Nord
+
+maintainers:
+ - Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
+
+description: |
+ RPMh interconnect providers support system bandwidth requirements through
+ RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
+ able to communicate with the BCM through the Resource State Coordinator (RSC)
+ associated with each execution environment. Provider nodes must point to at
+ least one RPMh device child node pertaining to their RSC and each provider
+ can map to multiple RPMh resources.
+
+ See also: include/dt-bindings/interconnect/qcom,nord-rpmh.h
+
+properties:
+ compatible:
+ enum:
+ - qcom,nord-aggre1-noc
+ - qcom,nord-aggre1-noc-tile
+ - qcom,nord-aggre2-noc
+ - qcom,nord-aggre2-noc-tile
+ - qcom,nord-clk-virt
+ - qcom,nord-cnoc-cfg
+ - qcom,nord-cnoc-main
+ - qcom,nord-hpass-ag-noc
+ - qcom,nord-hscnoc
+ - qcom,nord-mc-virt
+ - qcom,nord-mmss-noc
+ - qcom,nord-nsp-data-noc-0
+ - qcom,nord-nsp-data-noc-1
+ - qcom,nord-nsp-data-noc-2
+ - qcom,nord-nsp-data-noc-3
+ - qcom,nord-pcie-cfg
+ - qcom,nord-pcie-data-inbound
+ - qcom,nord-pcie-data-outbound
+ - qcom,nord-system-noc
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ minItems: 1
+ maxItems: 4
+
+required:
+ - compatible
+
+allOf:
+ - $ref: qcom,rpmh-common.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,nord-clk-virt
+ - qcom,nord-mc-virt
+ then:
+ properties:
+ reg: false
+ else:
+ required:
+ - reg
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,nord-aggre1-noc-tile
+ then:
+ properties:
+ clocks:
+ items:
+ - description: aggre UFS PHY AXI clock
+ - description: aggre USB2 AXI clock
+ - description: aggre USB3 PRIM AXI clock
+ - description: aggre USB3 SEC AXI clock
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,nord-aggre2-noc
+ then:
+ properties:
+ clocks:
+ items:
+ - description: RPMH CC IPA clock
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,nord-aggre1-noc-tile
+ - qcom,nord-aggre2-noc
+ then:
+ required:
+ - clocks
+ else:
+ properties:
+ clocks: false
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ clk_virt: interconnect-clk-virt {
+ compatible = "qcom,nord-clk-virt";
+ #interconnect-cells = <2>;
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ };
+
+ aggre1_noc_tile: interconnect@1720000 {
+ compatible = "qcom,nord-aggre1-noc-tile";
+ reg = <0x01720000 0x23400>;
+ #interconnect-cells = <2>;
+ qcom,bcm-voters = <&apps_bcm_voter>;
+ clocks = <&ne_gcc_aggre_noc_ufs_phy_axi_clk>,
+ <&ne_gcc_aggre_noc_usb2_axi_clk>,
+ <&ne_gcc_aggre_noc_usb3_prim_axi_clk>,
+ <&ne_gcc_aggre_noc_usb3_sec_axi_clk>;
+ };