134376eb1SArnaud Pouliquen# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 234376eb1SArnaud Pouliquen%YAML 1.2 334376eb1SArnaud Pouliquen--- 434376eb1SArnaud Pouliquen$id: "http://devicetree.org/schemas/remoteproc/st,stm32-rproc.yaml#" 534376eb1SArnaud Pouliquen$schema: "http://devicetree.org/meta-schemas/core.yaml#" 634376eb1SArnaud Pouliquen 784e85359SKrzysztof Kozlowskititle: STMicroelectronics STM32 remote processor controller 834376eb1SArnaud Pouliquen 934376eb1SArnaud Pouliquendescription: 1034376eb1SArnaud Pouliquen This document defines the binding for the remoteproc component that loads and 1134376eb1SArnaud Pouliquen boots firmwares on the ST32MP family chipset. 1234376eb1SArnaud Pouliquen 1334376eb1SArnaud Pouliquenmaintainers: 14f4eedebdSPatrice Chotard - Fabien Dessenne <fabien.dessenne@foss.st.com> 15f4eedebdSPatrice Chotard - Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> 1634376eb1SArnaud Pouliquen 1734376eb1SArnaud Pouliquenproperties: 1834376eb1SArnaud Pouliquen compatible: 1934376eb1SArnaud Pouliquen const: st,stm32mp1-m4 2034376eb1SArnaud Pouliquen 2134376eb1SArnaud Pouliquen reg: 2234376eb1SArnaud Pouliquen description: 2334376eb1SArnaud Pouliquen Address ranges of the RETRAM and MCU SRAM memories used by the remote 2434376eb1SArnaud Pouliquen processor. 2534376eb1SArnaud Pouliquen maxItems: 3 2634376eb1SArnaud Pouliquen 2734376eb1SArnaud Pouliquen resets: 2834376eb1SArnaud Pouliquen maxItems: 1 2934376eb1SArnaud Pouliquen 3034376eb1SArnaud Pouliquen st,syscfg-holdboot: 3134376eb1SArnaud Pouliquen description: remote processor reset hold boot 323d21a460SRob Herring $ref: "/schemas/types.yaml#/definitions/phandle-array" 3339bd2b6aSRob Herring items: 3439bd2b6aSRob Herring - items: 3539bd2b6aSRob Herring - description: Phandle of syscon block 3639bd2b6aSRob Herring - description: The offset of the hold boot setting register 3739bd2b6aSRob Herring - description: The field mask of the hold boot 3834376eb1SArnaud Pouliquen 3934376eb1SArnaud Pouliquen st,syscfg-tz: 4034376eb1SArnaud Pouliquen description: 4134376eb1SArnaud Pouliquen Reference to the system configuration which holds the RCC trust zone mode 423d21a460SRob Herring $ref: "/schemas/types.yaml#/definitions/phandle-array" 4339bd2b6aSRob Herring items: 4439bd2b6aSRob Herring - items: 4539bd2b6aSRob Herring - description: Phandle of syscon block 46be1de12cSArnaud Pouliquen - description: The offset of the trust zone setting register 47be1de12cSArnaud Pouliquen - description: The field mask of the trust zone state 4834376eb1SArnaud Pouliquen 4934376eb1SArnaud Pouliquen interrupts: 5034376eb1SArnaud Pouliquen description: Should contain the WWDG1 watchdog reset interrupt 5134376eb1SArnaud Pouliquen maxItems: 1 5234376eb1SArnaud Pouliquen 5371bbcd2eSArnaud Pouliquen wakeup-source: true 5471bbcd2eSArnaud Pouliquen 5534376eb1SArnaud Pouliquen mboxes: 5634376eb1SArnaud Pouliquen description: 5734376eb1SArnaud Pouliquen This property is required only if the rpmsg/virtio functionality is used. 5834376eb1SArnaud Pouliquen items: 5934376eb1SArnaud Pouliquen - description: | 6034376eb1SArnaud Pouliquen A channel (a) used to communicate through virtqueues with the 6134376eb1SArnaud Pouliquen remote proc. 6234376eb1SArnaud Pouliquen Bi-directional channel: 6334376eb1SArnaud Pouliquen - from local to remote = send message 6434376eb1SArnaud Pouliquen - from remote to local = send message ack 6534376eb1SArnaud Pouliquen - description: | 6634376eb1SArnaud Pouliquen A channel (b) working the opposite direction of channel (a) 6734376eb1SArnaud Pouliquen - description: | 6834376eb1SArnaud Pouliquen A channel (c) used by the local proc to notify the remote proc that it 6934376eb1SArnaud Pouliquen is about to be shut down. 7034376eb1SArnaud Pouliquen Unidirectional channel: 7134376eb1SArnaud Pouliquen - from local to remote, where ACK from the remote means that it is 7234376eb1SArnaud Pouliquen ready for shutdown 73aca8f94eSArnaud Pouliquen - description: | 74aca8f94eSArnaud Pouliquen A channel (d) used by the local proc to notify the remote proc that it 75*96af01cdSArnaud Pouliquen has to stop interprocessor communication. 76aca8f94eSArnaud Pouliquen Unidirectional channel: 77*96af01cdSArnaud Pouliquen - from local to remote, where ACK from the remote means that communication 78aca8f94eSArnaud Pouliquen as been stopped on the remote side. 7934376eb1SArnaud Pouliquen minItems: 1 8034376eb1SArnaud Pouliquen 8134376eb1SArnaud Pouliquen mbox-names: 8234376eb1SArnaud Pouliquen items: 8334376eb1SArnaud Pouliquen - const: vq0 8434376eb1SArnaud Pouliquen - const: vq1 8534376eb1SArnaud Pouliquen - const: shutdown 86aca8f94eSArnaud Pouliquen - const: detach 8734376eb1SArnaud Pouliquen minItems: 1 8834376eb1SArnaud Pouliquen 8934376eb1SArnaud Pouliquen memory-region: 9034376eb1SArnaud Pouliquen description: 9134376eb1SArnaud Pouliquen List of phandles to the reserved memory regions associated with the 9234376eb1SArnaud Pouliquen remoteproc device. This is variable and describes the memories shared with 9334376eb1SArnaud Pouliquen the remote processor (e.g. remoteproc firmware and carveouts, rpmsg 9434376eb1SArnaud Pouliquen vrings, ...). 9534376eb1SArnaud Pouliquen (see ../reserved-memory/reserved-memory.txt) 9634376eb1SArnaud Pouliquen 9734376eb1SArnaud Pouliquen st,syscfg-pdds: 983d21a460SRob Herring $ref: "/schemas/types.yaml#/definitions/phandle-array" 9934376eb1SArnaud Pouliquen description: | 10034376eb1SArnaud Pouliquen Reference to the system configuration which holds the remote 10139bd2b6aSRob Herring items: 10239bd2b6aSRob Herring - items: 10339bd2b6aSRob Herring - description: Phandle of syscon block 104be1de12cSArnaud Pouliquen - description: The offset of the power setting register 105be1de12cSArnaud Pouliquen - description: The field mask of the PDDS selection 10634376eb1SArnaud Pouliquen 107e67bae44SArnaud Pouliquen st,syscfg-m4-state: 108e67bae44SArnaud Pouliquen $ref: "/schemas/types.yaml#/definitions/phandle-array" 109e67bae44SArnaud Pouliquen description: | 110e67bae44SArnaud Pouliquen Reference to the tamp register which exposes the Cortex-M4 state. 11139bd2b6aSRob Herring items: 11239bd2b6aSRob Herring - items: 11339bd2b6aSRob Herring - description: Phandle of syscon block with the tamp register 114be1de12cSArnaud Pouliquen - description: The offset of the tamp register 115be1de12cSArnaud Pouliquen - description: The field mask of the Cortex-M4 state 116e67bae44SArnaud Pouliquen 117e67bae44SArnaud Pouliquen st,syscfg-rsc-tbl: 118e67bae44SArnaud Pouliquen $ref: "/schemas/types.yaml#/definitions/phandle-array" 119e67bae44SArnaud Pouliquen description: | 120e67bae44SArnaud Pouliquen Reference to the tamp register which references the Cortex-M4 121e67bae44SArnaud Pouliquen resource table address. 12239bd2b6aSRob Herring items: 12339bd2b6aSRob Herring - items: 12439bd2b6aSRob Herring - description: Phandle of syscon block with the tamp register 125be1de12cSArnaud Pouliquen - description: The offset of the tamp register 126be1de12cSArnaud Pouliquen - description: The field mask of the Cortex-M4 resource table address 127e67bae44SArnaud Pouliquen 12834376eb1SArnaud Pouliquen st,auto-boot: 12934376eb1SArnaud Pouliquen $ref: /schemas/types.yaml#/definitions/flag 13034376eb1SArnaud Pouliquen description: 13134376eb1SArnaud Pouliquen If defined, when remoteproc is probed, it loads the default firmware and 13234376eb1SArnaud Pouliquen starts the remote processor. 13334376eb1SArnaud Pouliquen 13434376eb1SArnaud Pouliquenrequired: 13534376eb1SArnaud Pouliquen - compatible 13634376eb1SArnaud Pouliquen - reg 13734376eb1SArnaud Pouliquen - resets 13834376eb1SArnaud Pouliquen - st,syscfg-holdboot 13934376eb1SArnaud Pouliquen - st,syscfg-tz 14034376eb1SArnaud Pouliquen 14134376eb1SArnaud PouliquenadditionalProperties: false 14234376eb1SArnaud Pouliquen 14334376eb1SArnaud Pouliquenexamples: 14434376eb1SArnaud Pouliquen - | 14534376eb1SArnaud Pouliquen #include <dt-bindings/reset/stm32mp1-resets.h> 14634376eb1SArnaud Pouliquen m4_rproc: m4@10000000 { 14734376eb1SArnaud Pouliquen compatible = "st,stm32mp1-m4"; 14834376eb1SArnaud Pouliquen reg = <0x10000000 0x40000>, 14934376eb1SArnaud Pouliquen <0x30000000 0x40000>, 15034376eb1SArnaud Pouliquen <0x38000000 0x10000>; 15134376eb1SArnaud Pouliquen resets = <&rcc MCU_R>; 15234376eb1SArnaud Pouliquen st,syscfg-holdboot = <&rcc 0x10C 0x1>; 15334376eb1SArnaud Pouliquen st,syscfg-tz = <&rcc 0x000 0x1>; 154e67bae44SArnaud Pouliquen st,syscfg-rsc-tbl = <&tamp 0x144 0xFFFFFFFF>; 155e67bae44SArnaud Pouliquen st,syscfg-m4-state = <&tamp 0x148 0xFFFFFFFF>; 15634376eb1SArnaud Pouliquen }; 15734376eb1SArnaud Pouliquen 15834376eb1SArnaud Pouliquen... 159