| STMicroelectronics STM32 Remoteproc |
| ----------------------------------- |
| This document defines the binding for the remoteproc component that loads and |
| boots firmwares on the ST32MP family chipset. |
| |
| Required properties: |
| - compatible: Must be "st,stm32mp1-m4" |
| - reg: Address ranges of the RETRAM and MCU SRAM memories used by the |
| remote processor. |
| - resets: Reference to a reset controller asserting the remote processor. |
| - st,syscfg-holdboot: Reference to the system configuration which holds the |
| remote processor reset hold boot |
| 1st cell: phandle of syscon block |
| 2nd cell: register offset containing the hold boot setting |
| 3rd cell: register bitmask for the hold boot field |
| - st,syscfg-tz: Reference to the system configuration which holds the RCC trust |
| zone mode |
| 1st cell: phandle to syscon block |
| 2nd cell: register offset containing the RCC trust zone mode setting |
| 3rd cell: register bitmask for the RCC trust zone mode bit |
| |
| Optional properties: |
| - interrupts: Should contain the watchdog interrupt |
| - mboxes: This property is required only if the rpmsg/virtio functionality |
| is used. List of phandle and mailbox channel specifiers: |
| - 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 |
| - a channel (b) working the opposite direction of channel (a) |
| - 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 |
| - mbox-names: This property is required if the mboxes property is used. |
| - must be "vq0" for channel (a) |
| - must be "vq1" for channel (b) |
| - must be "shutdown" for channel (c) |
| - memory-region: 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 (eg: remoteproc |
| firmware and carveouts, rpmsg vrings, ...). |
| (see ../reserved-memory/reserved-memory.txt) |
| - st,syscfg-pdds: Reference to the system configuration which holds the remote |
| processor deep sleep setting |
| 1st cell: phandle to syscon block |
| 2nd cell: register offset containing the deep sleep setting |
| 3rd cell: register bitmask for the deep sleep bit |
| - st,auto-boot: If defined, when remoteproc is probed, it loads the default |
| firmware and starts the remote processor. |
| |
| Example: |
| 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>; |
| }; |