Commit 4615df5d authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'icc-5.13-rc1' of...

Merge tag 'icc-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc

 into char-misc-next

Georgi writes:

interconnect changes for 5.13

These are the interconnect changes for the 5.13-rc1 merge window
with the highlights being drivers for two new platforms.

Driver changes:
- New driver for SM8350 platforms.
- New driver for SDM660 platforms.

Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>

* tag 'icc-5.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  interconnect: qcom: sm8350: Add missing link between nodes
  interconnect: qcom: sm8350: Use the correct ids
  interconnect: qcom: sdm660: Fix kerneldoc warning
  MAINTAINERS: icc: add interconnect tree
  interconnect: qcom: Add SM8350 interconnect provider driver
  dt-bindings: interconnect: Add Qualcomm SM8350 DT bindings
  interconnect: qcom: icc-rpm: record slave RPM id in error log
  interconnect: qcom: Add SDM660 interconnect provider driver
  dt-bindings: interconnect: Add bindings for Qualcomm SDM660 NoC
parents 0df74278 c1de0788
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -71,6 +71,16 @@ properties:
      - qcom,sm8250-mmss-noc
      - qcom,sm8250-npu-noc
      - qcom,sm8250-system-noc
      - qcom,sm8350-aggre1-noc
      - qcom,sm8350-aggre2-noc
      - qcom,sm8350-config-noc
      - qcom,sm8350-dc-noc
      - qcom,sm8350-gem-noc
      - qcom,sm8350-lpass-ag-noc
      - qcom,sm8350-mc-virt
      - qcom,sm8350-mmss-noc
      - qcom,sm8350-compute-noc
      - qcom,sm8350-system-noc

  '#interconnect-cells':
    enum: [ 1, 2 ]
+147 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,sdm660.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SDM660 Network-On-Chip interconnect

maintainers:
  - AngeloGioacchino Del Regno <kholk11@gmail.com>

description: |
  The Qualcomm SDM660 interconnect providers support adjusting the
  bandwidth requirements between the various NoC fabrics.

properties:
  reg:
    maxItems: 1

  compatible:
    enum:
      - qcom,sdm660-a2noc
      - qcom,sdm660-bimc
      - qcom,sdm660-cnoc
      - qcom,sdm660-gnoc
      - qcom,sdm660-mnoc
      - qcom,sdm660-snoc

  '#interconnect-cells':
    const: 1

  clocks:
    minItems: 1
    maxItems: 3

  clock-names:
    minItems: 1
    maxItems: 3

required:
  - compatible
  - reg
  - '#interconnect-cells'
  - clock-names
  - clocks

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdm660-mnoc
    then:
      properties:
        clocks:
          items:
            - description: Bus Clock.
            - description: Bus A Clock.
            - description: CPU-NoC High-performance Bus Clock.
        clock-names:
          items:
            - const: bus
            - const: bus_a
            - const: iface

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,sdm660-a2noc
              - qcom,sdm660-bimc
              - qcom,sdm660-cnoc
              - qcom,sdm660-gnoc
              - qcom,sdm660-snoc
    then:
      properties:
        clocks:
          items:
            - description: Bus Clock.
            - description: Bus A Clock.
        clock-names:
          items:
            - const: bus
            - const: bus_a

examples:
  - |
      #include <dt-bindings/clock/qcom,rpmcc.h>
      #include <dt-bindings/clock/qcom,mmcc-sdm660.h>

      bimc: interconnect@1008000 {
              compatible = "qcom,sdm660-bimc";
              reg = <0x01008000 0x78000>;
              #interconnect-cells = <1>;
              clock-names = "bus", "bus_a";
              clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
                       <&rpmcc RPM_SMD_BIMC_A_CLK>;
      };

      cnoc: interconnect@1500000 {
              compatible = "qcom,sdm660-cnoc";
              reg = <0x01500000 0x10000>;
              #interconnect-cells = <1>;
              clock-names = "bus", "bus_a";
              clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
                       <&rpmcc RPM_SMD_CNOC_A_CLK>;
      };

      snoc: interconnect@1626000 {
              compatible = "qcom,sdm660-snoc";
              reg = <0x01626000 0x7090>;
              #interconnect-cells = <1>;
              clock-names = "bus", "bus_a";
              clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
                       <&rpmcc RPM_SMD_SNOC_A_CLK>;
      };

      a2noc: interconnect@1704000 {
              compatible = "qcom,sdm660-a2noc";
              reg = <0x01704000 0xc100>;
              #interconnect-cells = <1>;
              clock-names = "bus", "bus_a";
              clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
                       <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>;
      };

      mnoc: interconnect@1745000 {
              compatible = "qcom,sdm660-mnoc";
              reg = <0x01745000 0xa010>;
              #interconnect-cells = <1>;
              clock-names = "bus", "bus_a", "iface";
              clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
                       <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>,
                       <&mmcc AHB_CLK_SRC>;
      };

      gnoc: interconnect@17900000 {
              compatible = "qcom,sdm660-gnoc";
              reg = <0x17900000 0xe000>;
              #interconnect-cells = <1>;
              clock-names = "bus", "bus_a";
              clocks = <&xo_board>, <&xo_board>;
      };
+1 −0
Original line number Diff line number Diff line
@@ -9297,6 +9297,7 @@ INTERCONNECT API
M:	Georgi Djakov <djakov@kernel.org>
L:	linux-pm@vger.kernel.org
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc.git
F:	Documentation/devicetree/bindings/interconnect/
F:	Documentation/driver-api/interconnect.rst
F:	drivers/interconnect/
+18 −0
Original line number Diff line number Diff line
@@ -74,6 +74,15 @@ config INTERCONNECT_QCOM_SC7180
	  This is a driver for the Qualcomm Network-on-Chip on sc7180-based
	  platforms.

config INTERCONNECT_QCOM_SDM660
	tristate "Qualcomm SDM660 interconnect driver"
	depends on INTERCONNECT_QCOM
	depends on QCOM_SMD_RPM
	select INTERCONNECT_QCOM_SMD_RPM
	help
	  This is a driver for the Qualcomm Network-on-Chip on sdm660-based
	  platforms.

config INTERCONNECT_QCOM_SDM845
	tristate "Qualcomm SDM845 interconnect driver"
	depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
@@ -110,5 +119,14 @@ config INTERCONNECT_QCOM_SM8250
	  This is a driver for the Qualcomm Network-on-Chip on sm8250-based
	  platforms.

config INTERCONNECT_QCOM_SM8350
	tristate "Qualcomm SM8350 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 SM8350-based
	  platforms.

config INTERCONNECT_QCOM_SMD_RPM
	tristate
+4 −0
Original line number Diff line number Diff line
@@ -8,10 +8,12 @@ icc-osm-l3-objs := osm-l3.o
qnoc-qcs404-objs			:= qcs404.o
icc-rpmh-obj				:= icc-rpmh.o
qnoc-sc7180-objs			:= sc7180.o
qnoc-sdm660-objs			:= sdm660.o
qnoc-sdm845-objs			:= sdm845.o
qnoc-sdx55-objs				:= sdx55.o
qnoc-sm8150-objs			:= sm8150.o
qnoc-sm8250-objs			:= sm8250.o
qnoc-sm8350-objs			:= sm8350.o
icc-smd-rpm-objs			:= smd-rpm.o icc-rpm.o

obj-$(CONFIG_INTERCONNECT_QCOM_BCM_VOTER) += icc-bcm-voter.o
@@ -22,8 +24,10 @@ obj-$(CONFIG_INTERCONNECT_QCOM_OSM_L3) += icc-osm-l3.o
obj-$(CONFIG_INTERCONNECT_QCOM_QCS404) += qnoc-qcs404.o
obj-$(CONFIG_INTERCONNECT_QCOM_RPMH) += icc-rpmh.o
obj-$(CONFIG_INTERCONNECT_QCOM_SC7180) += qnoc-sc7180.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDM660) += qnoc-sdm660.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDM845) += qnoc-sdm845.o
obj-$(CONFIG_INTERCONNECT_QCOM_SDX55) += qnoc-sdx55.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8150) += qnoc-sm8150.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8250) += qnoc-sm8250.o
obj-$(CONFIG_INTERCONNECT_QCOM_SM8350) += qnoc-sm8350.o
obj-$(CONFIG_INTERCONNECT_QCOM_SMD_RPM) += icc-smd-rpm.o
Loading