Commit b6adc224 authored by Georgi Djakov's avatar Georgi Djakov
Browse files

Merge branch 'icc-eliza' into icc-next



Add interconnect support for the Qualcomm Eliza SoC.

* icc-eliza
  dt-bindings: interconnect: document the RPMh Network-On-Chip interconnect in Eliza SoC
  interconnect: qcom: Add Eliza interconnect provider driver
  dt-bindings: interconnect: OSM L3: Add Eliza EPSS L3 compatible

Signed-off-by: default avatarGeorgi Djakov <djakov@kernel.org>
parents 26078bbd a39efc80
Loading
Loading
Loading
Loading
+142 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/interconnect/qcom,eliza-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm RPMh Network-On-Chip Interconnect on Eliza SoC

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,eliza-rpmh.h

properties:
  compatible:
    enum:
      - qcom,eliza-aggre1-noc
      - qcom,eliza-aggre2-noc
      - qcom,eliza-clk-virt
      - qcom,eliza-cnoc-cfg
      - qcom,eliza-cnoc-main
      - qcom,eliza-gem-noc
      - qcom,eliza-lpass-ag-noc
      - qcom,eliza-lpass-lpiaon-noc
      - qcom,eliza-lpass-lpicx-noc
      - qcom,eliza-mc-virt
      - qcom,eliza-mmss-noc
      - qcom,eliza-nsp-noc
      - qcom,eliza-pcie-anoc
      - qcom,eliza-system-noc

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    maxItems: 2

required:
  - compatible

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

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

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

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,eliza-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,eliza-aggre1-noc
              - qcom,eliza-aggre2-noc
              - qcom,eliza-pcie-anoc
    then:
      required:
        - clocks
    else:
      properties:
        clocks: false

unevaluatedProperties: false

examples:
  - |
    gem_noc: interconnect@24100000 {
        compatible = "qcom,eliza-gem-noc";
        reg = <0x24100000 0x163080>;
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;
    };

    mc_virt: interconnect-2 {
        compatible = "qcom,eliza-mc-virt";
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;
    };

    aggre1_noc: interconnect@16e0000 {
        compatible = "qcom,eliza-aggre1-noc";
        reg = <0x16e0000 0x16400>;
        #interconnect-cells = <2>;
        clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
        qcom,bcm-voters = <&apps_bcm_voter>;
    };
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ properties:
          - const: qcom,osm-l3
      - items:
          - enum:
              - qcom,eliza-epss-l3
              - qcom,sa8775p-epss-l3
              - qcom,sc7280-epss-l3
              - qcom,sc8280xp-epss-l3
+9 −0
Original line number Diff line number Diff line
@@ -8,6 +8,15 @@ config INTERCONNECT_QCOM
config INTERCONNECT_QCOM_BCM_VOTER
	tristate

config INTERCONNECT_QCOM_ELIZA
       tristate "Qualcomm Eliza 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 Eliza-based
         platforms.

config INTERCONNECT_QCOM_GLYMUR
       tristate "Qualcomm Glymur interconnect driver"
       depends on INTERCONNECT_QCOM_RPMH_POSSIBLE
+2 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ obj-$(CONFIG_INTERCONNECT_QCOM) += interconnect_qcom.o

interconnect_qcom-y			:= icc-common.o
icc-bcm-voter-objs			:= bcm-voter.o
qnoc-eliza-objs				:= eliza.o
qnoc-glymur-objs			:= glymur.o
qnoc-kaanapali-objs			:= kaanapali.o
qnoc-milos-objs				:= milos.o
@@ -48,6 +49,7 @@ qnoc-x1e80100-objs := x1e80100.o
icc-smd-rpm-objs			:= smd-rpm.o icc-rpm.o icc-rpm-clocks.o

obj-$(CONFIG_INTERCONNECT_QCOM_BCM_VOTER) += icc-bcm-voter.o
obj-$(CONFIG_INTERCONNECT_QCOM_ELIZA) += qnoc-eliza.o
obj-$(CONFIG_INTERCONNECT_QCOM_GLYMUR) += qnoc-glymur.o
obj-$(CONFIG_INTERCONNECT_QCOM_KAANAPALI) += qnoc-kaanapali.o
obj-$(CONFIG_INTERCONNECT_QCOM_MILOS) += qnoc-milos.o
+1585 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading