cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

st,stm32-rproc.yaml (5099B)


      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@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 communnication.
     76          Unidirectional channel:
     77            - from local to remote, where ACK from the remote means that communnication
     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...