1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: "http://devicetree.org/schemas/remoteproc/st,stm32-rproc.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
7 title: STMicroelectronics STM32 remote processor controller bindings
10 This document defines the binding for the remoteproc component that loads and
11 boots firmwares on the ST32MP family chipset.
14 - Fabien Dessenne <fabien.dessenne@st.com>
15 - Arnaud Pouliquen <arnaud.pouliquen@st.com>
23 Address ranges of the RETRAM and MCU SRAM memories used by the remote
31 description: remote processor reset hold boot
32 - Phandle of syscon block.
33 - The offset of the hold boot setting register.
34 - The field mask of the hold boot.
35 $ref: "/schemas/types.yaml#/definitions/phandle-array"
40 Reference to the system configuration which holds the RCC trust zone mode
41 $ref: "/schemas/types.yaml#/definitions/phandle-array"
45 description: Should contain the WWDG1 watchdog reset interrupt
52 This property is required only if the rpmsg/virtio functionality is used.
55 A channel (a) used to communicate through virtqueues with the
57 Bi-directional channel:
58 - from local to remote = send message
59 - from remote to local = send message ack
61 A channel (b) working the opposite direction of channel (a)
63 A channel (c) used by the local proc to notify the remote proc that it
64 is about to be shut down.
65 Unidirectional channel:
66 - from local to remote, where ACK from the remote means that it is
69 A channel (d) used by the local proc to notify the remote proc that it
70 has to stop interprocessor communnication.
71 Unidirectional channel:
72 - from local to remote, where ACK from the remote means that communnication
73 as been stopped on the remote side.
86 List of phandles to the reserved memory regions associated with the
87 remoteproc device. This is variable and describes the memories shared with
88 the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
90 (see ../reserved-memory/reserved-memory.txt)
93 $ref: "/schemas/types.yaml#/definitions/phandle-array"
95 Reference to the system configuration which holds the remote
99 $ref: "/schemas/types.yaml#/definitions/phandle-array"
101 Reference to the tamp register which exposes the Cortex-M4 state.
105 $ref: "/schemas/types.yaml#/definitions/phandle-array"
107 Reference to the tamp register which references the Cortex-M4
108 resource table address.
112 $ref: /schemas/types.yaml#/definitions/flag
114 If defined, when remoteproc is probed, it loads the default firmware and
115 starts the remote processor.
124 additionalProperties: false
128 #include <dt-bindings/reset/stm32mp1-resets.h>
129 m4_rproc: m4@10000000 {
130 compatible = "st,stm32mp1-m4";
131 reg = <0x10000000 0x40000>,
132 <0x30000000 0x40000>,
133 <0x38000000 0x10000>;
134 resets = <&rcc MCU_R>;
135 st,syscfg-holdboot = <&rcc 0x10C 0x1>;
136 st,syscfg-tz = <&rcc 0x000 0x1>;
137 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
138 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;