Commit 0990a71f authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

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

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

 into char-misc-next

Georgi writes:

This pull request contains the interconnect changes for the 7.1-rc1
merge window. They are listed below:

- New driver for Mahua SoC
- New driver for Eliza SoC
- Enable QoS support for QCS8300 and QCS615 SoCs
- Add L3 cache scaling compatibles for SM8550 and Eliza SoCs
- Fix multiple issues in the msm8974 driver
- Fix kfree mismatch
- Misc cleanups
- Add maintainer entry for the interconnect KUnit tests

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

* tag 'icc-7.1-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/djakov/icc: (22 commits)
  MAINTAINERS: Add interconnect kunit test entry
  interconnect: debugfs: fix devm_kstrdup and kfree mismatch
  interconnect: qcom: msm8974: expand DEFINE_QNODE macros
  interconnect: qcom: msm8974: switch to the main icc-rpm driver
  interconnect: qcom: let platforms declare their bugginess
  interconnect: qcom: define OCMEM bus resource
  interconnect: qcom: icc-rpm: allow overwriting get_bw callback
  interconnect: qcom: drop unused is_on flag
  dt-bindings: interconnect: qcom,msm8974: use qcom,rpm-common
  dt-bindings: interconnect: qcom,msm8974: drop bus clocks
  interconnect: qcom: qcs615: enable QoS configuration
  dt-bindings: interconnect: qcom,qcs615-rpmh: add clocks property to enable QoS
  interconnect: qcom: Add Eliza interconnect provider driver
  dt-bindings: interconnect: document the RPMh Network-On-Chip interconnect in Eliza SoC
  dt-bindings: interconnect: OSM L3: Add Eliza EPSS L3 compatible
  interconnect: qcom: De-acronymize SoC names
  dt-bindings: interconnect: qcom,glymur-rpmh: De-acronymize SoC name
  dt-bindings: interconnect: OSM L3: Document sm8550 OSM L3 compatible
  interconnect: qcom: qcs8300: enable QoS configuration
  dt-bindings: interconnect: qcom,qcs8300-rpmh: add clocks property to enable QoS
  ...
parents 8aeea231 0436cd30
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>;
    };
+111 −25
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/interconnect/qcom,glymur-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm RPMh Network-On-Chip Interconnect on GLYMUR
title: Qualcomm RPMh Network-On-Chip Interconnect on Glymur and Mahua SoCs

maintainers:
  - Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
@@ -21,7 +21,72 @@ description: |

properties:
  compatible:
    enum:
    oneOf:
      - items:
          - enum:
              - qcom,mahua-aggre1-noc
          - const: qcom,glymur-aggre1-noc
      - items:
          - enum:
              - qcom,mahua-aggre2-noc
          - const: qcom,glymur-aggre2-noc
      - items:
          - enum:
              - qcom,mahua-aggre3-noc
          - const: qcom,glymur-aggre3-noc
      - items:
          - enum:
              - qcom,mahua-aggre4-noc
          - const: qcom,glymur-aggre4-noc
      - items:
          - enum:
              - qcom,mahua-clk-virt
          - const: qcom,glymur-clk-virt
      - items:
          - enum:
              - qcom,mahua-cnoc-main
          - const: qcom,glymur-cnoc-main
      - items:
          - enum:
              - qcom,mahua-lpass-ag-noc
          - const: qcom,glymur-lpass-ag-noc
      - items:
          - enum:
              - qcom,mahua-lpass-lpiaon-noc
          - const: qcom,glymur-lpass-lpiaon-noc
      - items:
          - enum:
              - qcom,mahua-lpass-lpicx-noc
          - const: qcom,glymur-lpass-lpicx-noc
      - items:
          - enum:
              - qcom,mahua-mmss-noc
          - const: qcom,glymur-mmss-noc
      - items:
          - enum:
              - qcom,mahua-nsinoc
          - const: qcom,glymur-nsinoc
      - items:
          - enum:
              - qcom,mahua-nsp-noc
          - const: qcom,glymur-nsp-noc
      - items:
          - enum:
              - qcom,mahua-oobm-ss-noc
          - const: qcom,glymur-oobm-ss-noc
      - items:
          - enum:
              - qcom,mahua-pcie-east-anoc
          - const: qcom,glymur-pcie-east-anoc
      - items:
          - enum:
              - qcom,mahua-pcie-east-slv-noc
          - const: qcom,glymur-pcie-east-slv-noc
      - items:
          - enum:
              - qcom,mahua-system-noc
          - const: qcom,glymur-system-noc
      - enum:
          - qcom,glymur-aggre1-noc
          - qcom,glymur-aggre2-noc
          - qcom,glymur-aggre3-noc
@@ -43,6 +108,11 @@ properties:
          - qcom,glymur-pcie-west-anoc
          - qcom,glymur-pcie-west-slv-noc
          - qcom,glymur-system-noc
          - qcom,mahua-cnoc-cfg
          - qcom,mahua-hscnoc
          - qcom,mahua-mc-virt
          - qcom,mahua-pcie-west-anoc
          - qcom,mahua-pcie-west-slv-noc

  reg:
    maxItems: 1
@@ -63,6 +133,7 @@ allOf:
            enum:
              - qcom,glymur-clk-virt
              - qcom,glymur-mc-virt
              - qcom,mahua-mc-virt
    then:
      properties:
        reg: false
@@ -85,6 +156,20 @@ allOf:
            - description: aggre PCIE_4 WEST AXI clock
            - description: aggre PCIE_6 WEST AXI clock

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,mahua-pcie-west-anoc
    then:
      properties:
        clocks:
          items:
            - description: aggre PCIE_3B WEST AXI clock
            - description: aggre PCIE_4 WEST AXI clock
            - description: aggre PCIE_6 WEST AXI clock

  - if:
      properties:
        compatible:
@@ -131,10 +216,11 @@ allOf:
        compatible:
          contains:
            enum:
              - qcom,glymur-pcie-west-anoc
              - qcom,glymur-pcie-east-anoc
              - qcom,glymur-aggre2-noc
              - qcom,glymur-aggre4-noc
              - qcom,glymur-pcie-east-anoc
              - qcom,glymur-pcie-west-anoc
              - qcom,mahua-pcie-west-anoc
    then:
      required:
        - clocks
+16 −12
Original line number Diff line number Diff line
@@ -26,27 +26,34 @@ properties:
      - qcom,msm8974-pnoc
      - qcom,msm8974-snoc

  '#interconnect-cells':
    const: 1

  clock-names:
    items:
      - const: bus
      - const: bus_a

  clocks:
    items:
      - description: Bus Clock
      - description: Bus A Clock

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

additionalProperties: false
unevaluatedProperties: false

allOf:
  - $ref: qcom,rpm-common.yaml#
  - if:
      properties:
        compatible:
          const: qcom,msm8974-mmssnoc
    then:
      required:
        - clocks
        - clock-names
    else:
      properties:
        clocks: false
        clock-names: false

examples:
  - |
@@ -56,7 +63,4 @@ examples:
        reg = <0xfc380000 0x6a000>;
        compatible = "qcom,msm8974-bimc";
        #interconnect-cells = <1>;
        clock-names = "bus", "bus_a";
        clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
                 <&rpmcc RPM_SMD_BIMC_A_CLK>;
    };
+2 −0
Original line number Diff line number Diff line
@@ -28,12 +28,14 @@ properties:
          - const: qcom,osm-l3
      - items:
          - enum:
              - qcom,eliza-epss-l3
              - qcom,sa8775p-epss-l3
              - qcom,sc7280-epss-l3
              - qcom,sc8280xp-epss-l3
              - qcom,sm6375-cpucp-l3
              - qcom,sm8250-epss-l3
              - qcom,sm8350-epss-l3
              - qcom,sm8550-epss-l3
              - qcom,sm8650-epss-l3
          - const: qcom,epss-l3
      - items:
+23 −0
Original line number Diff line number Diff line
@@ -34,6 +34,13 @@ properties:
  reg:
    maxItems: 1

  clocks:
    items:
      - description: aggre UFS PHY AXI clock
      - description: aggre USB2 SEC AXI clock
      - description: aggre USB3 PRIM AXI clock
      - description: RPMH CC IPA clock

required:
  - compatible

@@ -53,6 +60,22 @@ allOf:
      required:
        - reg

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qcs615-camnoc-virt
              - qcom,qcs615-config-noc
              - qcom,qcs615-dc-noc
              - qcom,qcs615-gem-noc
              - qcom,qcs615-mc-virt
              - qcom,qcs615-mmss-noc
              - qcom,qcs615-system-noc
    then:
      properties:
        clocks: false

unevaluatedProperties: false

examples:
Loading