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 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" 36 maxItems: 1 37 38 st,syscfg-tz: 39 description: 40 Reference to the system configuration which holds the RCC trust zone mode 41 $ref: "/schemas/types.yaml#/definitions/phandle-array" 42 maxItems: 1 43 44 interrupts: 45 description: Should contain the WWDG1 watchdog reset interrupt 46 maxItems: 1 47 48 wakeup-source: true 49 50 mboxes: 51 description: 52 This property is required only if the rpmsg/virtio functionality is used. 53 items: 54 - description: | 55 A channel (a) used to communicate through virtqueues with the 56 remote proc. 57 Bi-directional channel: 58 - from local to remote = send message 59 - from remote to local = send message ack 60 - description: | 61 A channel (b) working the opposite direction of channel (a) 62 - description: | 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 67 ready for shutdown 68 minItems: 1 69 maxItems: 3 70 71 mbox-names: 72 items: 73 - const: vq0 74 - const: vq1 75 - const: shutdown 76 minItems: 1 77 maxItems: 3 78 79 memory-region: 80 description: 81 List of phandles to the reserved memory regions associated with the 82 remoteproc device. This is variable and describes the memories shared with 83 the remote processor (e.g. remoteproc firmware and carveouts, rpmsg 84 vrings, ...). 85 (see ../reserved-memory/reserved-memory.txt) 86 87 st,syscfg-pdds: 88 $ref: "/schemas/types.yaml#/definitions/phandle-array" 89 description: | 90 Reference to the system configuration which holds the remote 91 maxItems: 1 92 93 st,syscfg-m4-state: 94 $ref: "/schemas/types.yaml#/definitions/phandle-array" 95 description: | 96 Reference to the tamp register which exposes the Cortex-M4 state. 97 maxItems: 1 98 99 st,syscfg-rsc-tbl: 100 $ref: "/schemas/types.yaml#/definitions/phandle-array" 101 description: | 102 Reference to the tamp register which references the Cortex-M4 103 resource table address. 104 maxItems: 1 105 106 st,auto-boot: 107 $ref: /schemas/types.yaml#/definitions/flag 108 description: 109 If defined, when remoteproc is probed, it loads the default firmware and 110 starts the remote processor. 111 112required: 113 - compatible 114 - reg 115 - resets 116 - st,syscfg-holdboot 117 - st,syscfg-tz 118 119additionalProperties: false 120 121examples: 122 - | 123 #include <dt-bindings/reset/stm32mp1-resets.h> 124 m4_rproc: m4@10000000 { 125 compatible = "st,stm32mp1-m4"; 126 reg = <0x10000000 0x40000>, 127 <0x30000000 0x40000>, 128 <0x38000000 0x10000>; 129 resets = <&rcc MCU_R>; 130 st,syscfg-holdboot = <&rcc 0x10C 0x1>; 131 st,syscfg-tz = <&rcc 0x000 0x1>; 132 st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>; 133 st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>; 134 }; 135 136... 137