Skip to content

Commit

Permalink
Merge tag 'icc-6.14-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/k…
Browse files Browse the repository at this point in the history
…ernel/git/djakov/icc into char-misc-next

Pull interconnect changes from Georgi:

interconnect changes for 6.14

This pull request contains the interconnect changes for the 6.14-rc1 merge
window. It contains one new driver and DT documentation updates for L3
and bandwidth monitors.

Driver changes:
- New driver for the SM8750 platform
- Add DT compatibles for QCS615 BWMON and SM8650 OSM

Signed-off-by: Georgi Djakov <[email protected]>

* tag 'icc-6.14-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  dt-bindings: interconnect: qcom,msm8998-bwmon: Add SM8750 CPU BWMONs
  dt-bindings: interconnect: OSM L3: Document sm8650 OSM L3 compatible
  dt-bindings: interconnect: qcom-bwmon: Document QCS615 bwmon compatibles
  interconnect: sm8750: Add missing const to static qcom_icc_desc
  interconnect: qcom: Add interconnect provider driver for SM8750
  dt-bindings: interconnect: add interconnect bindings for SM8750
  • Loading branch information
gregkh committed Jan 16, 2025
2 parents 3fb0698 + 4cc0047 commit 797212a
Show file tree
Hide file tree
Showing 7 changed files with 1,999 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ properties:
- items:
- enum:
- qcom,qcm2290-cpu-bwmon
- qcom,qcs615-cpu-bwmon
- qcom,qcs8300-cpu-bwmon
- qcom,sa8775p-cpu-bwmon
- qcom,sc7180-cpu-bwmon
Expand All @@ -37,10 +38,12 @@ properties:
- qcom,sm8250-cpu-bwmon
- qcom,sm8550-cpu-bwmon
- qcom,sm8650-cpu-bwmon
- qcom,sm8750-cpu-bwmon
- qcom,x1e80100-cpu-bwmon
- const: qcom,sdm845-bwmon # BWMON v4, unified register space
- items:
- enum:
- qcom,qcs615-llcc-bwmon
- qcom,qcs8300-llcc-bwmon
- qcom,sa8775p-llcc-bwmon
- qcom,sc7180-llcc-bwmon
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ properties:
- qcom,sm6375-cpucp-l3
- qcom,sm8250-epss-l3
- qcom,sm8350-epss-l3
- qcom,sm8650-epss-l3
- const: qcom,epss-l3

reg:
Expand Down
136 changes: 136 additions & 0 deletions Documentation/devicetree/bindings/interconnect/qcom,sm8750-rpmh.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sm8750-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm RPMh Network-On-Chip Interconnect on SM8750

maintainers:
- Abel Vesa <[email protected]>
- Neil Armstrong <[email protected]>

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,sm8750-rpmh.h
properties:
compatible:
enum:
- qcom,sm8750-aggre1-noc
- qcom,sm8750-aggre2-noc
- qcom,sm8750-clk-virt
- qcom,sm8750-cnoc-main
- qcom,sm8750-config-noc
- qcom,sm8750-gem-noc
- qcom,sm8750-lpass-ag-noc
- qcom,sm8750-lpass-lpiaon-noc
- qcom,sm8750-lpass-lpicx-noc
- qcom,sm8750-mc-virt
- qcom,sm8750-mmss-noc
- qcom,sm8750-nsp-noc
- qcom,sm8750-pcie-anoc
- qcom,sm8750-system-noc

reg:
maxItems: 1

clocks:
minItems: 1
maxItems: 2

required:
- compatible

allOf:
- $ref: qcom,rpmh-common.yaml#
- if:
properties:
compatible:
contains:
enum:
- qcom,sm8750-clk-virt
- qcom,sm8750-mc-virt
then:
properties:
reg: false
else:
required:
- reg

- if:
properties:
compatible:
contains:
enum:
- qcom,sm8750-pcie-anoc
then:
properties:
clocks:
items:
- description: aggre-NOC PCIe AXI clock
- description: cfg-NOC PCIe a-NOC AHB clock

- if:
properties:
compatible:
contains:
enum:
- qcom,sm8750-aggre1-noc
then:
properties:
clocks:
items:
- description: aggre UFS PHY AXI clock
- description: aggre USB3 PRIM AXI clock

- if:
properties:
compatible:
contains:
enum:
- qcom,sm8750-aggre2-noc
then:
properties:
clocks:
items:
- description: RPMH CC IPA clock

- if:
properties:
compatible:
contains:
enum:
- qcom,sm8750-aggre1-noc
- qcom,sm8750-aggre2-noc
- qcom,sm8750-pcie-anoc
then:
required:
- clocks
else:
properties:
clocks: false

unevaluatedProperties: false

examples:
- |
clk_virt: interconnect-0 {
compatible = "qcom,sm8750-clk-virt";
#interconnect-cells = <2>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
aggre1_noc: interconnect@16e0000 {
compatible = "qcom,sm8750-aggre1-noc";
reg = <0x016e0000 0x16400>;
#interconnect-cells = <2>;
clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
qcom,bcm-voters = <&apps_bcm_voter>;
};
9 changes: 9 additions & 0 deletions drivers/interconnect/qcom/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,15 @@ config INTERCONNECT_QCOM_SM8650
This is a driver for the Qualcomm Network-on-Chip on SM8650-based
platforms.

config INTERCONNECT_QCOM_SM8750
tristate "Qualcomm SM8750 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
select INTERCONNECT_QCOM_RPMH
select INTERCONNECT_QCOM_BCM_VOTER
help
This is a driver for the Qualcomm Network-on-Chip on SM8750-based
platforms.

config INTERCONNECT_QCOM_X1E80100
tristate "Qualcomm X1E80100 interconnect driver"
depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
Expand Down
2 changes: 2 additions & 0 deletions drivers/interconnect/qcom/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ qnoc-sm8350-objs := sm8350.o
qnoc-sm8450-objs := sm8450.o
qnoc-sm8550-objs := sm8550.o
qnoc-sm8650-objs := sm8650.o
qnoc-sm8750-objs := sm8750.o
qnoc-x1e80100-objs := x1e80100.o
icc-smd-rpm-objs := smd-rpm.o icc-rpm.o icc-rpm-clocks.o

Expand Down Expand Up @@ -80,5 +81,6 @@ obj-$(CONFIG_INTERCONNECT_QCOM_SM8350) += qnoc-sm8350.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8450) += qnoc-sm8450.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8550) += qnoc-sm8550.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8650) += qnoc-sm8650.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8750) += qnoc-sm8750.o
obj-$(CONFIG_INTERCONNECT_QCOM_X1E80100) += qnoc-x1e80100.o
obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o
Loading

0 comments on commit 797212a

Please sign in to comment.