xref: /linux/Documentation/devicetree/bindings/remoteproc/st,stm32-rproc.yaml (revision 96af01cdc34a39f04118b2c0f3a4c0c52bd7f973)
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