[PATCH v2 0/3] Add Qualcomm CAMNOC ICC provider
Atanas Filipov <[email protected]>
| Newsgroups | org.kernel.vger.linux-pm,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This series adds a device tree binding and driver for the Qualcomm Camera Network-on-Chip (CAMNOC) interconnect provider for SM8250. CAMNOC is the internal AXI interconnect within the camera subsystem. Multiple camera sub-devices (IFE, JPEG, BPS, IPE, etc.) share CAM_CC_CAMNOC_AXI_CLK. Direct clk_set_rate() calls from each consumer cause a last-writer-wins race. This series introduces a lightweight ICC provider that aggregates bandwidth votes from all consumers and applies a single clk_set_rate() call. Changes since v1: - dt-bindings: add all SM8250 CAMNOC master port IDs to qcom,camnoc.h (IFE 0/1, IFE Lite 0-4, BPS, IPE 0/1, JPEG, JPEG DMA, CDM, FD, SBI, ICP) with a short comment per group (Dmitry Baryshkov) - dt-bindings: add IFE simple consumer example alongside the JPEG OPP-based example; clarify opp-hz and opp-peak-kBps semantics in comments; fix maintainer email; align provider node name with DTS - driver: register all SM8250 CAMNOC master nodes Atanas Filipov (3): dt-bindings: interconnect: Add Qualcomm CAMNOC ICC binding interconnect: qcom: Add CAMNOC interconnect provider driver arm64: dts: qcom: sm8250: Add CAMNOC ICC provider node .../bindings/interconnect/qcom,camnoc.yaml | 124 ++++++++ arch/arm64/boot/dts/qcom/sm8250.dtsi | 8 + drivers/interconnect/qcom/Kconfig | 10 + drivers/interconnect/qcom/Makefile | 2 + drivers/interconnect/qcom/qcom-camnoc.c | 279 ++++++++++++++++++ .../dt-bindings/interconnect/qcom,camnoc.h | 52 ++++ 6 files changed, 475 insertions(+) create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,camnoc.yaml create mode 100644 drivers/interconnect/qcom/qcom-camnoc.c create mode 100644 include/dt-bindings/interconnect/qcom,camnoc.h base-commit: 9e970952a9503d6ab471a2fea4c10b6a2785406f -- 2.34.1