brintos

brintos / linux-shallow public Read only

0
0
Text · 5.8 KiB · 370af61 Raw
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