# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/remoteproc/st,stm32-rproc.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: STMicroelectronics STM32 remote processor controller bindings

description:
  This document defines the binding for the remoteproc component that loads and
  boots firmwares on the ST32MP family chipset.

maintainers:
  - Fabien Dessenne <fabien.dessenne@st.com>
  - Arnaud Pouliquen <arnaud.pouliquen@st.com>

properties:
  compatible:
    const: st,stm32mp1-m4

  reg:
    description:
      Address ranges of the RETRAM and MCU SRAM memories used by the remote
      processor.
    maxItems: 3

  resets:
    maxItems: 1

  st,syscfg-holdboot:
    description: remote processor reset hold boot
      - Phandle of syscon block.
      - The offset of the hold boot setting register.
      - The field mask of the hold boot.
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    maxItems: 1

  st,syscfg-tz:
    description:
      Reference to the system configuration which holds the RCC trust zone mode
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    maxItems: 1

  interrupts:
    description: Should contain the WWDG1 watchdog reset interrupt
    maxItems: 1

  wakeup-source: true

  mboxes:
    description:
      This property is required only if the rpmsg/virtio functionality is used.
    items:
      - description: |
          A channel (a) used to communicate through virtqueues with the
          remote proc.
          Bi-directional channel:
            - from local to remote = send message
            - from remote to local = send message ack
      - description: |
          A channel (b) working the opposite direction of channel (a)
      - description: |
          A channel (c) used by the local proc to notify the remote proc that it
          is about to be shut down.
          Unidirectional channel:
            - from local to remote, where ACK from the remote means that it is
              ready for shutdown
      - description: |
          A channel (d) used by the local proc to notify the remote proc that it
          has to stop interprocessor communnication.
          Unidirectional channel:
            - from local to remote, where ACK from the remote means that communnication
              as been stopped on the remote side.
    minItems: 1
    maxItems: 4

  mbox-names:
    items:
      - const: vq0
      - const: vq1
      - const: shutdown
      - const: detach
    minItems: 1
    maxItems: 4

  memory-region:
    description:
      List of phandles to the reserved memory regions associated with the
      remoteproc device. This is variable and describes the memories shared with
      the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
      vrings, ...).
      (see ../reserved-memory/reserved-memory.txt)

  st,syscfg-pdds:
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    description: |
      Reference to the system configuration which holds the remote
    maxItems: 1

  st,syscfg-m4-state:
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    description: |
      Reference to the tamp register which exposes the Cortex-M4 state.
    maxItems: 1

  st,syscfg-rsc-tbl:
    $ref: "/schemas/types.yaml#/definitions/phandle-array"
    description: |
      Reference to the tamp register which references the Cortex-M4
      resource table address.
    maxItems: 1

  st,auto-boot:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      If defined, when remoteproc is probed, it loads the default firmware and
      starts the remote processor.

required:
  - compatible
  - reg
  - resets
  - st,syscfg-holdboot
  - st,syscfg-tz

additionalProperties: false

examples:
  - |
    #include <dt-bindings/reset/stm32mp1-resets.h>
    m4_rproc: m4@10000000 {
      compatible = "st,stm32mp1-m4";
      reg = <0x10000000 0x40000>,
            <0x30000000 0x40000>,
            <0x38000000 0x10000>;
      resets = <&rcc MCU_R>;
      st,syscfg-holdboot = <&rcc 0x10C 0x1>;
      st,syscfg-tz = <&rcc 0x000 0x1>;
      st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
      st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
    };

...
