xref: /linux/Documentation/devicetree/bindings/clock/riscv,rpmi-mpxy-clock.yaml (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/riscv,rpmi-mpxy-clock.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: RISC-V RPMI clock 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 clock service group for accessing
19  system clocks managed by a platform microcontroller. The SBI implementation
20  (machine mode firmware or hypervisor) can implement an SBI MPXY channel
21  to allow RPMI clock service group access to the supervisor software.
22
23  ===========================================
24  References
25  ===========================================
26
27  [1] RISC-V Platform Management Interface (RPMI) v1.0 (or higher)
28      https://github.com/riscv-non-isa/riscv-rpmi/releases
29
30  [2] RISC-V Supervisor Binary Interface (SBI) v3.0 (or higher)
31      https://github.com/riscv-non-isa/riscv-sbi-doc/releases
32
33properties:
34  compatible:
35    description:
36      Intended for use by the SBI implementation.
37    const: riscv,rpmi-mpxy-clock
38
39  mboxes:
40    maxItems: 1
41    description:
42      Mailbox channel of the underlying RPMI transport.
43
44  riscv,sbi-mpxy-channel-id:
45    $ref: /schemas/types.yaml#/definitions/uint32
46    description:
47      The SBI MPXY channel id to be used for providing RPMI access to
48      the supervisor software.
49
50required:
51  - compatible
52  - mboxes
53  - riscv,sbi-mpxy-channel-id
54
55additionalProperties: false
56
57examples:
58  - |
59    clock-service {
60        compatible = "riscv,rpmi-mpxy-clock";
61        mboxes = <&rpmi_shmem_mbox 0x8>;
62        riscv,sbi-mpxy-channel-id = <0x1000>;
63    };
64...
65