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
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@foss.st.com>
15 - Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
23 Address ranges of the RETRAM and MCU SRAM memories used by the remote
38 description: remote processor reset hold boot
39 $ref: /schemas/types.yaml#/definitions/phandle-array
42 - description: Phandle of syscon block
43 - description: The offset of the hold boot setting register
44 - description: The field mask of the hold boot
49 Reference to the system configuration which holds the RCC trust zone mode
50 $ref: /schemas/types.yaml#/definitions/phandle-array
53 - description: Phandle of syscon block
54 - description: The offset of the trust zone setting register
55 - description: The field mask of the trust zone state
58 description: Should contain the WWDG1 watchdog reset interrupt
65 This property is required only if the rpmsg/virtio functionality is used.
68 A channel (a) used to communicate through virtqueues with the
70 Bi-directional channel:
71 - from local to remote = send message
72 - from remote to local = send message ack
74 A channel (b) working the opposite direction of channel (a)
76 A channel (c) used by the local proc to notify the remote proc that it
77 is about to be shut down.
78 Unidirectional channel:
79 - from local to remote, where ACK from the remote means that it is
82 A channel (d) used by the local proc to notify the remote proc that it
83 has to stop interprocessor communication.
84 Unidirectional channel:
85 - from local to remote, where ACK from the remote means that communication
86 as been stopped on the remote side.
99 List of phandles to the reserved memory regions associated with the
100 remoteproc device. This is variable and describes the memories shared with
101 the remote processor (e.g. remoteproc firmware and carveouts, rpmsg
103 (see ../reserved-memory/reserved-memory.txt)
106 $ref: /schemas/types.yaml#/definitions/phandle-array
108 Reference to the system configuration which holds the remote
111 - description: Phandle of syscon block
112 - description: The offset of the power setting register
113 - description: The field mask of the PDDS selection
116 $ref: /schemas/types.yaml#/definitions/phandle-array
118 Reference to the tamp register which exposes the Cortex-M4 state.
121 - description: Phandle of syscon block with the tamp register
122 - description: The offset of the tamp register
123 - description: The field mask of the Cortex-M4 state
126 $ref: /schemas/types.yaml#/definitions/phandle-array
128 Reference to the tamp register which references the Cortex-M4
129 resource table address.
132 - description: Phandle of syscon block with the tamp register
133 - description: The offset of the tamp register
134 - description: The field mask of the Cortex-M4 resource table address
137 $ref: /schemas/types.yaml#/definitions/flag
139 If defined, when remoteproc is probed, it loads the default firmware and
140 starts the remote processor.
159 st,syscfg-holdboot: false
161 additionalProperties: false
165 #include <dt-bindings/reset/stm32mp1-resets.h>
167 compatible = "st,stm32mp1-m4";
168 reg = <0x10000000 0x40000>,
169 <0x30000000 0x40000>,
170 <0x38000000 0x10000>;
171 resets = <&rcc MCU_R>;
172 reset-names = "mcu_rst";
173 /* Hold boot managed using system config*/
174 st,syscfg-holdboot = <&rcc 0x10C 0x1>;
175 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
176 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;
179 #include <dt-bindings/reset/stm32mp1-resets.h>
181 compatible = "st,stm32mp1-m4";
182 reg = <0x10000000 0x40000>,
183 <0x30000000 0x40000>,
184 <0x38000000 0x10000>;
185 /* Hold boot managed using SCMI reset controller */
186 resets = <&scmi MCU_R>, <&scmi MCU_HOLD_BOOT_R>;
187 reset-names = "mcu_rst", "hold_boot";
188 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>;
189 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>;