# 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:
    allOf:
      - $ref: "/schemas/types.yaml#/definitions/phandle-array"
    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.
    maxItems: 1

  st,syscfg-tz:
    allOf:
      - $ref: "/schemas/types.yaml#/definitions/phandle-array"
    description:
      Reference to the system configuration which holds the RCC trust zone mode
      - Phandle of syscon block.
      - The offset of the RCC trust zone mode register.
      - The field mask of the RCC trust zone mode.
    maxItems: 1

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

  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
    minItems: 1
    maxItems: 3

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

  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:
    allOf:
      - $ref: "/schemas/types.yaml#/definitions/phandle-array"
    description: |
      Reference to the system configuration which holds the remote
        1st cell: phandle to syscon block
        2nd cell: register offset containing the deep sleep setting
        3rd cell: register bitmask for the deep sleep bit
    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>;
    };

...
