[PATCH v4 0/2] interconnect: qcom: Add SM7250 interconnect provider

From: Ishu Brar

Date: Tue Oct 27 2026 - 08:47:35 EST


Add the binding and the driver for the Network-On-Chip interconnect
providers of the Qualcomm SM7250 SoC (Snapdragon 765/765G/768G). They are
controlled through RPMh Bus Clock Managers, like the other RPMh based
providers. The driver follows the layout of sm7150 and sm8250, and the
nodes and BCMs come from the downstream interconnect description of the
platform.

Tested on a OnePlus Nord (a 7.3 based tree): all providers probe,
and UFS, USB, display, I2C, serial and camera ISP devices get their
paths without errors. The Adreno 620 GPU also takes its memory bandwidth
levels from these providers (the Adreno 620 series sent earlier relies on
them). The SoC devicetree nodes are not part of this series.

---
Changes in v4:
- Binding: restore compute-noc, mc-virt and qup-virt as child nodes of
their parent NoC (pattern '^interconnect-[0-9]+$', no extra comment),
since they share the parent's register space (Krzysztof Kozlowski)
- Binding: add the QoS clocks of aggre1-noc (aggre UFS PHY AXI and aggre
USB3 PRIM AXI), required there and rejected on the other NoCs
(Krzysztof Kozlowski)
- Binding: drop the redundant example node (Krzysztof Kozlowski)
- Driver: order the node definitions so that every node comes after the
nodes it links to, which drops all the forward declarations
(Konrad Dybcio)
- No other change to the driver
- Link to v3: https://patch.msgid.link/20261026-icc-sm7250-v3-0-aa303226298c@xxxxxxx

Sorry Krzysztof, I misread your v2 comment about the child nodes.

Changes in v3:
- Subject: drop the redundant trailing "bindings" (Krzysztof Kozlowski)
- Drop the "Child node's properties" comment (Krzysztof Kozlowski)
- Binding: no child nodes any more; compute-noc, mc-virt and qup-virt are
separate compatibles on top-level nodes without reg (reg: false), as in
the milos and kuno bindings, so patternProperties goes away
(Krzysztof Kozlowski)
- No change to the driver
- Link to v2: https://patch.msgid.link/20261024-icc-sm7250-v2-0-0e755894b188@xxxxxxx

Changes in v2:
- Set .enable_mask = BIT(3) on the ACV BCM, like sm8150, sm8250 and sc7180, so
that the voter sends the one-hot APPS RSC bit instead of the scaled bandwidth
(reported by sashiko-bot)
- Drop the IPA virtual provider (qcom,sm7250-ipa-virt, its BCM and its node IDs):
clk-rpmh already owns the IP0 BCM through RPMH_IPA_CLK, and the sibling SoCs
have no such provider either; otherwise icc_sync_state() would zero its vote
(reported by sashiko-bot)
- Link to v1: https://patch.msgid.link/20261023-icc-sm7250-v1-0-1e47c1226857@xxxxxxx

To: Georgi Djakov <djakov@xxxxxxxxxx>
To: Rob Herring <robh@xxxxxxxxxx>
To: Krzysztof Kozlowski <krzk+dt@xxxxxxxxxx>
To: Conor Dooley <conor+dt@xxxxxxxxxx>
To: Ishu Brar <patches@xxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx
Cc: linux-pm@xxxxxxxxxxxxxxx
Cc: Konrad Dybcio <konradybcio@xxxxxxxxxx>
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

---
Ishu Brar (2):
dt-bindings: interconnect: qcom: Add SM7250 RPMh NoC
interconnect: qcom: Add SM7250 interconnect provider driver

.../bindings/interconnect/qcom,sm7250-rpmh.yaml | 105 ++
drivers/interconnect/qcom/Kconfig | 14 +
drivers/interconnect/qcom/Makefile | 2 +
drivers/interconnect/qcom/sm7250.c | 1489 ++++++++++++++++++++
.../dt-bindings/interconnect/qcom,sm7250-rpmh.h | 148 ++
5 files changed, 1758 insertions(+)
---
base-commit: 3fd56a2833c22f62eb84297d0dbd47739632f1a0
change-id: 20261023-icc-sm7250-1684e6e41a02

Best regards,
--
Ishu Brar <patches@xxxxxxx>