xref: /linux/Documentation/devicetree/bindings/interrupt-controller/riscv,rpmi-mpxy-system-msi.yaml (revision 69e4b75a5b90ef74300c283c0aafe8d41daf13a8)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interrupt-controller/riscv,rpmi-mpxy-system-msi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RISC-V RPMI system MSI service group based message proxy
8
9maintainers:
10  - Anup Patel <anup@brainfault.org>
11
12description: |
13  The RISC-V Platform Management Interface (RPMI) [1] defines a
14  messaging protocol which is modular and extensible. The supervisor
15  software can send/receive RPMI messages via SBI MPXY extension [2]
16  or some dedicated supervisor-mode RPMI transport.
17
18  The RPMI specification [1] defines system MSI service group which
19  allow application processors to receive MSIs upon system events
20  such as P2A doorbell, graceful shutdown/reboot request, CPU hotplug
21  event, memory hotplug event, etc from the platform microcontroller.
22  The SBI implementation (machine mode firmware or hypervisor) can
23  implement an SBI MPXY channel to allow RPMI system MSI service
24  group access to the supervisor software.
25
26  ===========================================
27  References
28  ===========================================
29
30  [1] RISC-V Platform Management Interface (RPMI) v1.0 (or higher)
31      https://github.com/riscv-non-isa/riscv-rpmi/releases
32
33  [2] RISC-V Supervisor Binary Interface (SBI) v3.0 (or higher)
34      https://github.com/riscv-non-isa/riscv-sbi-doc/releases
35
36properties:
37  compatible:
38    description:
39      Intended for use by the SBI implementation.
40    const: riscv,rpmi-mpxy-system-msi
41
42  mboxes:
43    maxItems: 1
44    description:
45      Mailbox channel of the underlying RPMI transport.
46
47  riscv,sbi-mpxy-channel-id:
48    $ref: /schemas/types.yaml#/definitions/uint32
49    description:
50      The SBI MPXY channel id to be used for providing RPMI access to
51      the supervisor software.
52
53required:
54  - compatible
55  - mboxes
56  - riscv,sbi-mpxy-channel-id
57
58additionalProperties: false
59
60examples:
61  - |
62    interrupt-controller {
63        compatible = "riscv,rpmi-mpxy-system-msi";
64        mboxes = <&rpmi_shmem_mbox 0x2>;
65        riscv,sbi-mpxy-channel-id = <0x2000>;
66    };
67...
68