File Index
Files and directories
Sign in
FILE

riscv,rpmi-shmem-mbox.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mailbox/riscv,rpmi-shmem-mbox.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/mailbox/riscv,rpmi-shmem-mbox.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: RISC-V Platform Management Interface (RPMI) shared memory mailbox
  8
  9maintainers:
 10  - Anup Patel <anup@brainfault.org>
 11
 12description: |
 13  The RISC-V Platform Management Interface (RPMI) [1] defines a common shared
 14  memory based RPMI transport. This RPMI shared memory transport integrates as
 15  mailbox controller in the SBI implementation or supervisor software whereas
 16  each RPMI service group is mailbox client in the SBI implementation and
 17  supervisor software.
 18
 19  ===========================================
 20  References
 21  ===========================================
 22
 23  [1] RISC-V Platform Management Interface (RPMI) v1.0 (or higher)
 24      https://github.com/riscv-non-isa/riscv-rpmi/releases
 25
 26properties:
 27  compatible:
 28    const: riscv,rpmi-shmem-mbox
 29
 30  reg:
 31    minItems: 2
 32    items:
 33      - description: A2P request queue base address
 34      - description: P2A acknowledgment queue base address
 35      - description: P2A request queue base address
 36      - description: A2P acknowledgment queue base address
 37      - description: A2P doorbell address
 38
 39  reg-names:
 40    minItems: 2
 41    items:
 42      - const: a2p-req
 43      - const: p2a-ack
 44      - enum: [ p2a-req, a2p-doorbell ]
 45      - const: a2p-ack
 46      - const: a2p-doorbell
 47
 48  interrupts:
 49    maxItems: 1
 50    description:
 51      The RPMI shared memory transport supports P2A doorbell as a wired
 52      interrupt and this property specifies the interrupt source.
 53
 54  msi-parent:
 55    description:
 56      The RPMI shared memory transport supports P2A doorbell as a system MSI
 57      and this property specifies the target MSI controller.
 58
 59  riscv,slot-size:
 60    $ref: /schemas/types.yaml#/definitions/uint32
 61    minimum: 64
 62    description:
 63      Power-of-2 RPMI slot size of the RPMI shared memory transport.
 64
 65  riscv,a2p-doorbell-value:
 66    $ref: /schemas/types.yaml#/definitions/uint32
 67    default: 0x1
 68    description:
 69      Value written to the 32-bit A2P doorbell register.
 70
 71  riscv,p2a-doorbell-sysmsi-index:
 72    $ref: /schemas/types.yaml#/definitions/uint32
 73    description:
 74      The RPMI shared memory transport supports P2A doorbell as a system MSI
 75      and this property specifies system MSI index to be used for configuring
 76      the P2A doorbell MSI.
 77
 78  "#mbox-cells":
 79    const: 1
 80    description:
 81      The first cell specifies RPMI service group ID.
 82
 83required:
 84  - compatible
 85  - reg
 86  - reg-names
 87  - riscv,slot-size
 88  - "#mbox-cells"
 89
 90anyOf:
 91  - required:
 92      - interrupts
 93  - required:
 94      - msi-parent
 95
 96additionalProperties: false
 97
 98examples:
 99  - |
100    // Example 1 (RPMI shared memory with only 2 queues):
101    mailbox@10080000 {
102        compatible = "riscv,rpmi-shmem-mbox";
103        reg = <0x10080000 0x10000>,
104              <0x10090000 0x10000>;
105        reg-names = "a2p-req", "p2a-ack";
106        msi-parent = <&imsic_mlevel>;
107        riscv,slot-size = <64>;
108        #mbox-cells = <1>;
109    };
110  - |
111    // Example 2 (RPMI shared memory with only 4 queues):
112    mailbox@10001000 {
113        compatible = "riscv,rpmi-shmem-mbox";
114        reg = <0x10001000 0x800>,
115              <0x10001800 0x800>,
116              <0x10002000 0x800>,
117              <0x10002800 0x800>,
118              <0x10003000 0x4>;
119        reg-names = "a2p-req", "p2a-ack", "p2a-req", "a2p-ack", "a2p-doorbell";
120        msi-parent = <&imsic_mlevel>;
121        riscv,slot-size = <64>;
122        riscv,a2p-doorbell-value = <0x00008000>;
123        #mbox-cells = <1>;
124    };
~/ Read-only file preview.