Commit 562ed38d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull mailbox updates from Jassi Brar:

 - qcom: misc changes to bindings for sa8775p, QDU1000/QRU1000, IPQ5332,
   SDX55, msm8976, glink-rpm-edge

 - sti: convert to DT schema

 - zynq: switch to flexible array to simplify code

* tag 'mailbox-v6.3' of git://git.linaro.org/landing-teams/working/fujitsu/integration:
  dt-bindings: mailbox: qcom-ipcc: Add compatible for QDU1000/QRU1000
  mailbox: qcom-apcs-ipc: add IPQ5332 APSS clock support
  dt-bindings: mailbox: qcom: add compatible for the IPQ5332 SoC
  dt-bindings: remoteproc: qcom,glink-rpm-edge: convert to DT schema
  mailbox: qcom-apcs-ipc: enable APCS clock device for MSM8996
  dt-bindings: mailbox: qcom: add #clock-cells to msm8996 example
  dt-bindings: mailbox: qcom: add missing platforms to conditional clauses
  dt-bindings: mailbox: qcom: correct the list of platforms using clocks
  dt-bindings: mailbox: qcom: enable syscon compatible for msm8976
  dt-bindings: mailbox: qcom: add SDX55 compatible
  dt-bindings: mailbox: qcom-ipcc: document the sa8775p platform
  dt-bindings: mailbox: sti-mailbox: convert to DT schema
  mailbox: zynq: Switch to flexible array to simplify code
parents 2e3036a2 6ccbe33a
Loading
Loading
Loading
Loading
+39 −14
Original line number Diff line number Diff line
@@ -16,11 +16,14 @@ maintainers:
properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,ipq5332-apcs-apps-global
          - const: qcom,ipq6018-apcs-apps-global
      - items:
          - enum:
              - qcom,ipq6018-apcs-apps-global
              - qcom,ipq8074-apcs-apps-global
              - qcom,msm8976-apcs-kpss-global
              - qcom,msm8996-apcs-hmss-global
              - qcom,msm8998-apcs-hmss-global
              - qcom,qcm2290-apcs-hmss-global
@@ -37,8 +40,10 @@ properties:
              - qcom,msm8916-apcs-kpss-global
              - qcom,msm8939-apcs-kpss-global
              - qcom,msm8953-apcs-kpss-global
              - qcom,msm8976-apcs-kpss-global
              - qcom,msm8994-apcs-kpss-global
              - qcom,qcs404-apcs-apps-global
              - qcom,sdx55-apcs-gcc
          - const: syscon
  reg:
    maxItems: 1
@@ -71,15 +76,8 @@ allOf:
        compatible:
          enum:
            - qcom,msm8916-apcs-kpss-global
            - qcom,msm8994-apcs-kpss-global
            - qcom,msm8996-apcs-hmss-global
            - qcom,msm8998-apcs-hmss-global
            - qcom,msm8939-apcs-kpss-global
            - qcom,qcs404-apcs-apps-global
            - qcom,sc7180-apss-shared
            - qcom,sdm660-apcs-hmss-global
            - qcom,sdm845-apss-shared
            - qcom,sm6125-apcs-hmss-global
            - qcom,sm8150-apss-shared
    then:
      properties:
        clocks:
@@ -110,6 +108,7 @@ allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq6018-apcs-apps-global
              - qcom,ipq8074-apcs-apps-global
@@ -123,9 +122,34 @@ allOf:
          items:
            - const: pll
            - const: xo

  - if:
      properties:
        compatible:
          enum:
            - qcom,msm8953-apcs-kpss-global
            - qcom,msm8976-apcs-kpss-global
            - qcom,msm8994-apcs-kpss-global
            - qcom,msm8996-apcs-hmss-global
            - qcom,msm8998-apcs-hmss-global
            - qcom,qcm2290-apcs-hmss-global
            - qcom,sc7180-apss-shared
            - qcom,sc8180x-apss-shared
            - qcom,sdm660-apcs-hmss-global
            - qcom,sdm845-apss-shared
            - qcom,sm4250-apcs-hmss-global
            - qcom,sm6115-apcs-hmss-global
            - qcom,sm6125-apcs-hmss-global
            - qcom,sm8150-apss-shared
    then:
      properties:
        clocks: false
        clock-names: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq6018-apcs-apps-global
              - qcom,ipq8074-apcs-apps-global
@@ -148,6 +172,7 @@ examples:
        reg = <0x9820000 0x1000>;

        #mbox-cells = <1>;
        #clock-cells = <0>;
    };

    rpm-glink {
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ properties:
  compatible:
    items:
      - enum:
          - qcom,qdu1000-ipcc
          - qcom,sa8775p-ipcc
          - qcom,sc7280-ipcc
          - qcom,sc8280xp-ipcc
          - qcom,sm6350-ipcc
+53 −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/mailbox/st,sti-mailbox.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics Mailbox Driver for STi platform

description:
  Each ST Mailbox IP currently consists of 4 instances of 32 channels.
  Messages are passed between Application and Remote processors using
  shared memory.

maintainers:
  - Patrice Chotard <patrice.chotard@foss.st.com>

properties:
  compatible:
    const: st,stih407-mailbox

  reg:
    maxItems: 1

  mbox-name:
    $ref: /schemas/types.yaml#/definitions/string
    description: name of the mailbox IP

  interrupts:
    description: the irq line for the RX mailbox
    maxItems: 1

  "#mbox-cells":
    const: 2

required:
  - compatible
  - reg
  - "#mbox-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    mailbox0: mailbox@8f00000  {
        compatible = "st,stih407-mailbox";
        reg = <0x8f00000 0x1000>;
        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
        #mbox-cells = <2>;
        mbox-name = "a9";
    };

...
+0 −51
Original line number Diff line number Diff line
ST Microelectronics Mailbox Driver

Each ST Mailbox IP currently consists of 4 instances of 32 channels.  Messages
are passed between Application and Remote processors using shared memory.

Controller
----------

Required properties:
- compatible		: Should be "st,stih407-mailbox"
- reg			: Offset and length of the device's register set
- mbox-name		: Name of the mailbox
- #mbox-cells:		: Must be 2
			  <&phandle instance channel direction>
			    phandle   : Label name of controller
			    instance  : Instance number
			    channel   : Channel number

Optional properties
- interrupts		: Contains the IRQ line for a Rx mailbox

Example:

mailbox0: mailbox@0  {
	compatible	= "st,stih407-mailbox";
	reg		= <0x08f00000 0x1000>;
	interrupts	= <GIC_SPI 1 IRQ_TYPE_NONE>;
	#mbox-cells	= <2>;
	mbox-name	= "a9";
};

Client
------

Required properties:
- compatible		: Many (See the client docs)
- reg			: Shared (between Application and Remote) memory address
- mboxes		: Standard property to specify a Mailbox (See ./mailbox.txt)
			  Cells must match 'mbox-cells' (See Controller docs above)

Optional properties
- mbox-names		: Name given to channels seen in the 'mboxes' property.

Example:

mailbox_test {
	compatible	= "mailbox-test";
	reg		= <0x[shared_memory_address], [shared_memory_size]>;
	mboxes		= <&mailbox2 0 1>, <&mailbox0 2 1>;
	mbox-names	= "tx",	"rx";
};
+99 −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/remoteproc/qcom,glink-rpm-edge.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm G-Link RPM edge

description: |
  Qualcomm G-Link edge, a FIFO based mechanism for communication with Resource
  Power Manager (RPM) on various Qualcomm platforms.

maintainers:
  - Bjorn Andersson <andersson@kernel.org>

properties:
  compatible:
    const: qcom,glink-rpm

  label:
    $ref: /schemas/types.yaml#/definitions/string
    description:
      Name of the edge, used for debugging and identification purposes. The
      node name will be used if this is not present.

  interrupts:
    maxItems: 1

  mboxes:
    items:
      - description: rpm_hlos mailbox in APCS

  qcom,remote-pid:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The identifier for the remote processor as known by the rest of the
      system.

  qcom,rpm-msg-ram:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: |
      RPM message memory resource (compatible: qcom,rpm-msg-ram).

  rpm-requests:
    type: object
    $ref: /schemas/soc/qcom/qcom,smd-rpm.yaml#
    unevaluatedProperties: false
    description:
      Qualcomm Resource Power Manager (RPM) over G-Link

    properties:
      qcom,intents:
        $ref: /schemas/types.yaml#/definitions/uint32-matrix
        minItems: 1
        maxItems: 32
        items:
          items:
            - description: size of each intent to preallocate
            - description: amount of intents to preallocate
              minimum: 1
        description:
          List of (size, amount) pairs describing what intents should be
          preallocated for this virtual channel. This can be used to tweak the
          default intents available for the channel to meet expectations of the
          remote.

    required:
      - qcom,glink-channels

required:
  - compatible
  - interrupts
  - mboxes

anyOf:
  - required:
      - qcom,remote-pid
  - required:
      - qcom,rpm-msg-ram

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    rpm-glink {
        compatible = "qcom,glink-rpm";
        interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
        mboxes = <&apcs_glb 0>;
        qcom,rpm-msg-ram = <&rpm_msg_ram>;

        rpm-requests {
            compatible = "qcom,rpm-msm8996";
            qcom,glink-channels = "rpm_requests";

            /* ... */
        };
    };
Loading