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 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@foss.st.com> 15 - Arnaud Pouliquen <arnaud.pouliquen@foss.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 description: remote processor reset hold boot 32 $ref: /schemas/types.yaml#/definitions/phandle-array 33 items: 34 - items: 35 - description: Phandle of syscon block 36 - description: The offset of the hold boot setting register 37 - description: The field mask of the hold boot 38 39 st,syscfg-tz: 40 description: 41 Reference to the system configuration which holds the RCC trust zone mode 42 $ref: /schemas/types.yaml#/definitions/phandle-array 43 items: 44 - items: 45 - description: Phandle of syscon block 46 - description: The offset of the trust zone setting register 47 - description: The field mask of the trust zone state 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 - description: | 74 A channel (d) used by the local proc to notify the remote proc that it 75 has to stop interprocessor communication. 76 Unidirectional channel: 77 - from local to remote, where ACK from the remote means that communication 78 as been stopped on the remote side. 79 minItems: 1 80 81 mbox-names: 82 items: 83 - const: vq0 84 - const: vq1 85 - const: shutdown 86 - const: detach 87 minItems: 1 88 89 memory-region: 90 description: 91 List of phandles to the reserved memory regions associated with the 92 remoteproc device. This is variable and describes the memories shared with 93 the remote processor (e.g. remoteproc firmware and carveouts, rpmsg 94 vrings, ...). 95 (see ../reserved-memory/reserved-memory.txt) 96 97 st,syscfg-pdds: 98 $ref: /schemas/types.yaml#/definitions/phandle-array 99 description: | 100 Reference to the system configuration which holds the remote 101 items: 102 - items: 103 - description: Phandle of syscon block 104 - description: The offset of the power setting register 105 - description: The field mask of the PDDS selection 106 107 st,syscfg-m4-state: 108 $ref: /schemas/types.yaml#/definitions/phandle-array 109 description: | 110 Reference to the tamp register which exposes the Cortex-M4 state. 111 items: 112 - items: 113 - description: Phandle of syscon block with the tamp register 114 - description: The offset of the tamp register 115 - description: The field mask of the Cortex-M4 state 116 117 st,syscfg-rsc-tbl: 118 $ref: /schemas/types.yaml#/definitions/phandle-array 119 description: | 120 Reference to the tamp register which references the Cortex-M4 121 resource table address. 122 items: 123 - items: 124 - description: Phandle of syscon block with the tamp register 125 - description: The offset of the tamp register 126 - description: The field mask of the Cortex-M4 resource table address 127 128 st,auto-boot: 129 $ref: /schemas/types.yaml#/definitions/flag 130 description: 131 If defined, when remoteproc is probed, it loads the default firmware and 132 starts the remote processor. 133 134required: 135 - compatible 136 - reg 137 - resets 138 - st,syscfg-holdboot 139 - st,syscfg-tz 140 141additionalProperties: false 142 143examples: 144 - | 145 #include <dt-bindings/reset/stm32mp1-resets.h> 146 m4_rproc: m4@10000000 { 147 compatible = "st,stm32mp1-m4"; 148 reg = <0x10000000 0x40000>, 149 <0x30000000 0x40000>, 150 <0x38000000 0x10000>; 151 resets = <&rcc MCU_R>; 152 st,syscfg-holdboot = <&rcc 0x10C 0x1>; 153 st,syscfg-tz = <&rcc 0x000 0x1>; 154 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>; 155 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>; 156 }; 157 158... 159