Commit 6598a382 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge tag 'icc-5.20-rc1-v2' of...

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

 into char-misc-next

Georgi writes:

interconnect changes for 5.20

Here are the interconnect changes for the 5.20-rc1 merge window consisting
of two new drivers, misc driver improvements and new device managed API.

 Core change:
- Add device managed bulk API

 Driver changes:
- New driver for NXP i.MX8MP platforms
- New driver for Qualcomm SM6350 platforms
- Multiple bucket support for Qualcomm RPM-based drivers.

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

* tag 'icc-5.20-rc1-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  PM / devfreq: imx: Register i.MX8MP interconnect device
  interconnect: imx: Add platform driver for imx8mp
  interconnect: imx: configure NoC mode/prioriry/ext_control
  interconnect: imx: introduce imx_icc_provider
  interconnect: imx: set src node
  interconnect: imx: fix max_node_id
  interconnect: qcom: icc-rpm: Set bandwidth and clock for bucket values
  interconnect: qcom: icc-rpm: Support multiple buckets
  interconnect: qcom: icc-rpm: Change to use qcom_icc_xlate_extended()
  interconnect: qcom: Move qcom_icc_xlate_extended() to a common file
  dt-bindings: interconnect: Update property for icc-rpm path tag
  interconnect: icc-rpm: Set destination bandwidth as well as source bandwidth
  interconnect: qcom: msm8939: Use icc_sync_state
  interconnect: add device managed bulk API
  dt-bindings: interconnect: add fsl,imx8mp.h
  dt-bindings: interconnect: imx8m: Add bindings for imx8mp noc
  interconnect: qcom: Add SM6350 driver support
  dt-bindings: interconnect: Add Qualcomm SM6350 NoC support
  dt-bindings: interconnect: qcom: Split out rpmh-common bindings
  interconnect: qcom: icc-rpmh: Support child NoC device probe
parents a8755e9b 009c963e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -26,14 +26,16 @@ properties:
    oneOf:
      - items:
          - enum:
              - fsl,imx8mn-nic
              - fsl,imx8mm-nic
              - fsl,imx8mn-nic
              - fsl,imx8mp-nic
              - fsl,imx8mq-nic
          - const: fsl,imx8m-nic
      - items:
          - enum:
              - fsl,imx8mn-noc
              - fsl,imx8mm-noc
              - fsl,imx8mn-noc
              - fsl,imx8mp-noc
              - fsl,imx8mq-noc
          - const: fsl,imx8m-noc
      - const: fsl,imx8m-nic
+5 −1
Original line number Diff line number Diff line
@@ -45,7 +45,11 @@ properties:
      - qcom,sdm660-snoc

  '#interconnect-cells':
    const: 1
    description: |
      Value: <1> is one cell in an interconnect specifier for the
      interconnect node id, <2> requires the interconnect node id and an
      extra path tag.
    enum: [ 1, 2 ]

  clocks:
    minItems: 2
+43 −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,rpmh-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm RPMh Network-On-Chip Interconnect

maintainers:
  - Georgi Djakov <djakov@kernel.org>
  - Bjorn Andersson <bjorn.andersson@linaro.org>

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.

properties:
  '#interconnect-cells':
    enum: [ 1, 2 ]

  qcom,bcm-voters:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      maxItems: 1
    maxItems: 2
    description:
      List of phandles to qcom,bcm-voter nodes that are required by
      this interconnect to send RPMh commands.

  qcom,bcm-voter-names:
    maxItems: 2
    description:
      Names for each of the qcom,bcm-voters specified.

required:
  - '#interconnect-cells'
  - qcom,bcm-voters

additionalProperties: true
+5 −17
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ description: |
   least one RPMh device child node pertaining to their RSC and each provider
   can map to multiple RPMh resources.

allOf:
  - $ref: qcom,rpmh-common.yaml#

properties:
  reg:
    maxItems: 1
@@ -130,28 +133,13 @@ properties:
      - qcom,sm8450-pcie-anoc
      - qcom,sm8450-system-noc

  '#interconnect-cells':
    enum: [ 1, 2 ]

  qcom,bcm-voters:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    items:
      maxItems: 1
    description: |
      List of phandles to qcom,bcm-voter nodes that are required by
      this interconnect to send RPMh commands.

  qcom,bcm-voter-names:
    description: |
      Names for each of the qcom,bcm-voters specified.
  '#interconnect-cells': true

required:
  - compatible
  - reg
  - '#interconnect-cells'
  - qcom,bcm-voters

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
+82 −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,sm6350-rpmh.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SM6350 RPMh Network-On-Chip Interconnect

maintainers:
  - Luca Weiss <luca.weiss@fairphone.com>

description:
  Qualcomm RPMh-based interconnect provider on SM6350.

allOf:
  - $ref: qcom,rpmh-common.yaml#

properties:
  compatible:
    enum:
      - qcom,sm6350-aggre1-noc
      - qcom,sm6350-aggre2-noc
      - qcom,sm6350-config-noc
      - qcom,sm6350-dc-noc
      - qcom,sm6350-gem-noc
      - qcom,sm6350-mmss-noc
      - qcom,sm6350-npu-noc
      - qcom,sm6350-system-noc

  reg:
    maxItems: 1

  '#interconnect-cells': true

patternProperties:
  '^interconnect-[a-z0-9\-]+$':
    type: object
    description:
      The interconnect providers do not have a separate QoS register space,
      but share parent's space.
    $ref: qcom,rpmh-common.yaml#

    properties:
      compatible:
        enum:
          - qcom,sm6350-clk-virt
          - qcom,sm6350-compute-noc

      '#interconnect-cells': true

    required:
      - compatible

    unevaluatedProperties: false

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    config_noc: interconnect@1500000 {
        compatible = "qcom,sm6350-config-noc";
        reg = <0x01500000 0x28000>;
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;
    };

    system_noc: interconnect@1620000 {
        compatible = "qcom,sm6350-system-noc";
        reg = <0x01620000 0x17080>;
        #interconnect-cells = <2>;
        qcom,bcm-voters = <&apps_bcm_voter>;

        clk_virt: interconnect-clk-virt {
            compatible = "qcom,sm6350-clk-virt";
            #interconnect-cells = <2>;
            qcom,bcm-voters = <&apps_bcm_voter>;
        };
    };
Loading