18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: "http://devicetree.org/schemas/remoteproc/st,stm32-rproc.yaml#"
58c2ecf20Sopenharmony_ci$schema: "http://devicetree.org/meta-schemas/core.yaml#"
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: STMicroelectronics STM32 remote processor controller bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cidescription:
108c2ecf20Sopenharmony_ci  This document defines the binding for the remoteproc component that loads and
118c2ecf20Sopenharmony_ci  boots firmwares on the ST32MP family chipset.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cimaintainers:
148c2ecf20Sopenharmony_ci  - Fabien Dessenne <fabien.dessenne@st.com>
158c2ecf20Sopenharmony_ci  - Arnaud Pouliquen <arnaud.pouliquen@st.com>
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  compatible:
198c2ecf20Sopenharmony_ci    const: st,stm32mp1-m4
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  reg:
228c2ecf20Sopenharmony_ci    description:
238c2ecf20Sopenharmony_ci      Address ranges of the RETRAM and MCU SRAM memories used by the remote
248c2ecf20Sopenharmony_ci      processor.
258c2ecf20Sopenharmony_ci    maxItems: 3
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  resets:
288c2ecf20Sopenharmony_ci    maxItems: 1
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  st,syscfg-holdboot:
318c2ecf20Sopenharmony_ci    description: remote processor reset hold boot
328c2ecf20Sopenharmony_ci      - Phandle of syscon block.
338c2ecf20Sopenharmony_ci      - The offset of the hold boot setting register.
348c2ecf20Sopenharmony_ci      - The field mask of the hold boot.
358c2ecf20Sopenharmony_ci    $ref: "/schemas/types.yaml#/definitions/phandle-array"
368c2ecf20Sopenharmony_ci    maxItems: 1
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  st,syscfg-tz:
398c2ecf20Sopenharmony_ci    description:
408c2ecf20Sopenharmony_ci      Reference to the system configuration which holds the RCC trust zone mode
418c2ecf20Sopenharmony_ci      - Phandle of syscon block.
428c2ecf20Sopenharmony_ci      - The offset of the RCC trust zone mode register.
438c2ecf20Sopenharmony_ci      - The field mask of the RCC trust zone mode.
448c2ecf20Sopenharmony_ci    $ref: "/schemas/types.yaml#/definitions/phandle-array"
458c2ecf20Sopenharmony_ci    maxItems: 1
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  interrupts:
488c2ecf20Sopenharmony_ci    description: Should contain the WWDG1 watchdog reset interrupt
498c2ecf20Sopenharmony_ci    maxItems: 1
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  wakeup-source: true
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  mboxes:
548c2ecf20Sopenharmony_ci    description:
558c2ecf20Sopenharmony_ci      This property is required only if the rpmsg/virtio functionality is used.
568c2ecf20Sopenharmony_ci    items:
578c2ecf20Sopenharmony_ci      - description: |
588c2ecf20Sopenharmony_ci          A channel (a) used to communicate through virtqueues with the
598c2ecf20Sopenharmony_ci          remote proc.
608c2ecf20Sopenharmony_ci          Bi-directional channel:
618c2ecf20Sopenharmony_ci            - from local to remote = send message
628c2ecf20Sopenharmony_ci            - from remote to local = send message ack
638c2ecf20Sopenharmony_ci      - description: |
648c2ecf20Sopenharmony_ci          A channel (b) working the opposite direction of channel (a)
658c2ecf20Sopenharmony_ci      - description: |
668c2ecf20Sopenharmony_ci          A channel (c) used by the local proc to notify the remote proc that it
678c2ecf20Sopenharmony_ci          is about to be shut down.
688c2ecf20Sopenharmony_ci          Unidirectional channel:
698c2ecf20Sopenharmony_ci            - from local to remote, where ACK from the remote means that it is
708c2ecf20Sopenharmony_ci              ready for shutdown
718c2ecf20Sopenharmony_ci    minItems: 1
728c2ecf20Sopenharmony_ci    maxItems: 3
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci  mbox-names:
758c2ecf20Sopenharmony_ci    items:
768c2ecf20Sopenharmony_ci      - const: vq0
778c2ecf20Sopenharmony_ci      - const: vq1
788c2ecf20Sopenharmony_ci      - const: shutdown
798c2ecf20Sopenharmony_ci    minItems: 1
808c2ecf20Sopenharmony_ci    maxItems: 3
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci  memory-region:
838c2ecf20Sopenharmony_ci    description:
848c2ecf20Sopenharmony_ci      List of phandles to the reserved memory regions associated with the
858c2ecf20Sopenharmony_ci      remoteproc device. This is variable and describes the memories shared with
868c2ecf20Sopenharmony_ci      the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
878c2ecf20Sopenharmony_ci      vrings, ...).
888c2ecf20Sopenharmony_ci      (see ../reserved-memory/reserved-memory.txt)
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci  st,syscfg-pdds:
918c2ecf20Sopenharmony_ci    $ref: "/schemas/types.yaml#/definitions/phandle-array"
928c2ecf20Sopenharmony_ci    description: |
938c2ecf20Sopenharmony_ci      Reference to the system configuration which holds the remote
948c2ecf20Sopenharmony_ci        1st cell: phandle to syscon block
958c2ecf20Sopenharmony_ci        2nd cell: register offset containing the deep sleep setting
968c2ecf20Sopenharmony_ci        3rd cell: register bitmask for the deep sleep bit
978c2ecf20Sopenharmony_ci    maxItems: 1
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci  st,auto-boot:
1008c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/flag
1018c2ecf20Sopenharmony_ci    description:
1028c2ecf20Sopenharmony_ci      If defined, when remoteproc is probed, it loads the default firmware and
1038c2ecf20Sopenharmony_ci      starts the remote processor.
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_cirequired:
1068c2ecf20Sopenharmony_ci  - compatible
1078c2ecf20Sopenharmony_ci  - reg
1088c2ecf20Sopenharmony_ci  - resets
1098c2ecf20Sopenharmony_ci  - st,syscfg-holdboot
1108c2ecf20Sopenharmony_ci  - st,syscfg-tz
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciadditionalProperties: false
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ciexamples:
1158c2ecf20Sopenharmony_ci  - |
1168c2ecf20Sopenharmony_ci    #include <dt-bindings/reset/stm32mp1-resets.h>
1178c2ecf20Sopenharmony_ci    m4_rproc: m4@10000000 {
1188c2ecf20Sopenharmony_ci      compatible = "st,stm32mp1-m4";
1198c2ecf20Sopenharmony_ci      reg = <0x10000000 0x40000>,
1208c2ecf20Sopenharmony_ci            <0x30000000 0x40000>,
1218c2ecf20Sopenharmony_ci            <0x38000000 0x10000>;
1228c2ecf20Sopenharmony_ci      resets = <&rcc MCU_R>;
1238c2ecf20Sopenharmony_ci      st,syscfg-holdboot = <&rcc 0x10C 0x1>;
1248c2ecf20Sopenharmony_ci      st,syscfg-tz = <&rcc 0x000 0x1>;
1258c2ecf20Sopenharmony_ci    };
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci...
128