# 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 - Arnaud Pouliquen 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 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>; }; ...