1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: "http://devicetree.org/schemas/remoteproc/st,stm32-rproc.yaml#" 5$schema: "http://devicetree.org/meta-schemas/core.yaml#" 6 7title: STMicroelectronics STM32 remote processor controller bindings 8 9description: 10 This document defines the binding for the remoteproc component that loads and 11 boots firmwares on the ST32MP family chipset. 12 13maintainers: 14 - Fabien Dessenne <fabien.dessenne@st.com> 15 - Arnaud Pouliquen <arnaud.pouliquen@st.com> 16 17properties: 18 compatible: 19 const: st,stm32mp1-m4 20 21 reg: 22 description: 23 Address ranges of the RETRAM and MCU SRAM memories used by the remote 24 processor. 25 maxItems: 3 26 27 resets: 28 maxItems: 1 29 30 st,syscfg-holdboot: 31 allOf: 32 - $ref: "/schemas/types.yaml#/definitions/phandle-array" 33 description: remote processor reset hold boot 34 - Phandle of syscon block. 35 - The offset of the hold boot setting register. 36 - The field mask of the hold boot. 37 maxItems: 1 38 39 st,syscfg-tz: 40 allOf: 41 - $ref: "/schemas/types.yaml#/definitions/phandle-array" 42 description: 43 Reference to the system configuration which holds the RCC trust zone mode 44 - Phandle of syscon block. 45 - The offset of the RCC trust zone mode register. 46 - The field mask of the RCC trust zone mode. 47 maxItems: 1 48 49 interrupts: 50 description: Should contain the WWDG1 watchdog reset interrupt 51 maxItems: 1 52 53 wakeup-source: true 54 55 mboxes: 56 description: 57 This property is required only if the rpmsg/virtio functionality is used. 58 items: 59 - description: | 60 A channel (a) used to communicate through virtqueues with the 61 remote proc. 62 Bi-directional channel: 63 - from local to remote = send message 64 - from remote to local = send message ack 65 - description: | 66 A channel (b) working the opposite direction of channel (a) 67 - description: | 68 A channel (c) used by the local proc to notify the remote proc that it 69 is about to be shut down. 70 Unidirectional channel: 71 - from local to remote, where ACK from the remote means that it is 72 ready for shutdown 73 minItems: 1 74 maxItems: 3 75 76 mbox-names: 77 items: 78 - const: vq0 79 - const: vq1 80 - const: shutdown 81 minItems: 1 82 maxItems: 3 83 84 memory-region: 85 description: 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 89 vrings, ...). 90 (see ../reserved-memory/reserved-memory.txt) 91 92 st,syscfg-pdds: 93 allOf: 94 - $ref: "/schemas/types.yaml#/definitions/phandle-array" 95 description: | 96 Reference to the system configuration which holds the remote 97 1st cell: phandle to syscon block 98 2nd cell: register offset containing the deep sleep setting 99 3rd cell: register bitmask for the deep sleep bit 100 maxItems: 1 101 102 st,auto-boot: 103 $ref: /schemas/types.yaml#/definitions/flag 104 description: 105 If defined, when remoteproc is probed, it loads the default firmware and 106 starts the remote processor. 107 108required: 109 - compatible 110 - reg 111 - resets 112 - st,syscfg-holdboot 113 - st,syscfg-tz 114 115additionalProperties: false 116 117examples: 118 - | 119 #include <dt-bindings/reset/stm32mp1-resets.h> 120 m4_rproc: m4@10000000 { 121 compatible = "st,stm32mp1-m4"; 122 reg = <0x10000000 0x40000>, 123 <0x30000000 0x40000>, 124 <0x38000000 0x10000>; 125 resets = <&rcc MCU_R>; 126 st,syscfg-holdboot = <&rcc 0x10C 0x1>; 127 st,syscfg-tz = <&rcc 0x000 0x1>; 128 }; 129 130... 131