193 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 controller8 9description:10 This document defines the binding for the remoteproc component that loads and11 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-m420 21 reg:22 description:23 Address ranges of the RETRAM and MCU SRAM memories used by the remote24 processor.25 maxItems: 326 27 resets:28 minItems: 129 maxItems: 230 31 reset-names:32 items:33 - const: mcu_rst34 - const: hold_boot35 minItems: 136 37 st,syscfg-holdboot:38 description: remote processor reset hold boot39 $ref: /schemas/types.yaml#/definitions/phandle-array40 items:41 - items:42 - description: Phandle of syscon block43 - description: The offset of the hold boot setting register44 - description: The field mask of the hold boot45 46 st,syscfg-tz:47 deprecated: true48 description:49 Reference to the system configuration which holds the RCC trust zone mode50 $ref: /schemas/types.yaml#/definitions/phandle-array51 items:52 - items:53 - description: Phandle of syscon block54 - description: The offset of the trust zone setting register55 - description: The field mask of the trust zone state56 57 interrupts:58 description: Should contain the WWDG1 watchdog reset interrupt59 maxItems: 160 61 wakeup-source: true62 63 mboxes:64 description:65 This property is required only if the rpmsg/virtio functionality is used.66 items:67 - description: |68 A channel (a) used to communicate through virtqueues with the69 remote proc.70 Bi-directional channel:71 - from local to remote = send message72 - from remote to local = send message ack73 - description: |74 A channel (b) working the opposite direction of channel (a)75 - description: |76 A channel (c) used by the local proc to notify the remote proc that it77 is about to be shut down.78 Unidirectional channel:79 - from local to remote, where ACK from the remote means that it is80 ready for shutdown81 - description: |82 A channel (d) used by the local proc to notify the remote proc that it83 has to stop interprocessor communication.84 Unidirectional channel:85 - from local to remote, where ACK from the remote means that communication86 as been stopped on the remote side.87 minItems: 188 89 mbox-names:90 items:91 - const: vq092 - const: vq193 - const: shutdown94 - const: detach95 minItems: 196 97 memory-region:98 description:99 List of phandles to the reserved memory regions associated with the100 remoteproc device. This is variable and describes the memories shared with101 the remote processor (e.g. remoteproc firmware and carveouts, rpmsg102 vrings, ...).103 (see ../reserved-memory/reserved-memory.txt)104 105 st,syscfg-pdds:106 $ref: /schemas/types.yaml#/definitions/phandle-array107 description: |108 Reference to the system configuration which holds the remote109 items:110 - items:111 - description: Phandle of syscon block112 - description: The offset of the power setting register113 - description: The field mask of the PDDS selection114 115 st,syscfg-m4-state:116 $ref: /schemas/types.yaml#/definitions/phandle-array117 description: |118 Reference to the tamp register which exposes the Cortex-M4 state.119 items:120 - items:121 - description: Phandle of syscon block with the tamp register122 - description: The offset of the tamp register123 - description: The field mask of the Cortex-M4 state124 125 st,syscfg-rsc-tbl:126 $ref: /schemas/types.yaml#/definitions/phandle-array127 description: |128 Reference to the tamp register which references the Cortex-M4129 resource table address.130 items:131 - items:132 - description: Phandle of syscon block with the tamp register133 - description: The offset of the tamp register134 - description: The field mask of the Cortex-M4 resource table address135 136 st,auto-boot:137 $ref: /schemas/types.yaml#/definitions/flag138 description:139 If defined, when remoteproc is probed, it loads the default firmware and140 starts the remote processor.141 142required:143 - compatible144 - reg145 - resets146 147allOf:148 - if:149 properties:150 reset-names:151 not:152 contains:153 const: hold_boot154 then:155 required:156 - st,syscfg-holdboot157 else:158 properties:159 st,syscfg-holdboot: false160 161additionalProperties: false162 163examples:164 - |165 #include <dt-bindings/reset/stm32mp1-resets.h>166 m4@10000000 {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>;177 };178 - |179 #include <dt-bindings/reset/stm32mp1-resets.h>180 m4@10000000 {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>;190 };191 192...193