Commit 54e184f0 authored by Anup Patel's avatar Anup Patel Committed by Paul Walmsley
Browse files

dt-bindings: clock: Add RPMI clock service message proxy bindings



Add device tree bindings for the RPMI clock service group based
message proxy implemented by the SBI implementation (machine mode
firmware or hypervisor).

The RPMI clock service group is defined by the RISC-V platform
management interface (RPMI) specification.

Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Signed-off-by: default avatarAnup Patel <apatel@ventanamicro.com>
Acked-by: default avatarStephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20250818040920.272664-9-apatel@ventanamicro.com


Signed-off-by: default avatarPaul Walmsley <pjw@kernel.org>
parent bf3022a4
Loading
Loading
Loading
Loading
+64 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/riscv,rpmi-mpxy-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: RISC-V RPMI clock service group based message proxy

maintainers:
  - Anup Patel <anup@brainfault.org>

description: |
  The RISC-V Platform Management Interface (RPMI) [1] defines a
  messaging protocol which is modular and extensible. The supervisor
  software can send/receive RPMI messages via SBI MPXY extension [2]
  or some dedicated supervisor-mode RPMI transport.

  The RPMI specification [1] defines clock service group for accessing
  system clocks managed by a platform microcontroller. The SBI implementation
  (machine mode firmware or hypervisor) can implement an SBI MPXY channel
  to allow RPMI clock service group access to the supervisor software.

  ===========================================
  References
  ===========================================

  [1] RISC-V Platform Management Interface (RPMI) v1.0 (or higher)
      https://github.com/riscv-non-isa/riscv-rpmi/releases

  [2] RISC-V Supervisor Binary Interface (SBI) v3.0 (or higher)
      https://github.com/riscv-non-isa/riscv-sbi-doc/releases

properties:
  compatible:
    description:
      Intended for use by the SBI implementation.
    const: riscv,rpmi-mpxy-clock

  mboxes:
    maxItems: 1
    description:
      Mailbox channel of the underlying RPMI transport.

  riscv,sbi-mpxy-channel-id:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      The SBI MPXY channel id to be used for providing RPMI access to
      the supervisor software.

required:
  - compatible
  - mboxes
  - riscv,sbi-mpxy-channel-id

additionalProperties: false

examples:
  - |
    clock-service {
        compatible = "riscv,rpmi-mpxy-clock";
        mboxes = <&rpmi_shmem_mbox 0x8>;
        riscv,sbi-mpxy-channel-id = <0x1000>;
    };
...