dt-bindings: power: Add RPMI device power service

Add device tree bindings for the RISC-V Platform Management Interface
(RPMI) device power service group, both for the supervisor-facing power
domain controller and for the SBI MPXY channel which the SBI
implementation uses to expose the service group.

Signed-off-by: Joshua Yeong <joshua.yeong@starfivetech.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Ulf Hansson <ulfh@kernel.org>
This commit is contained in:
Joshua Yeong 2026-09-03 17:23:45 +08:00 committed by Ulf Hansson
parent e1d70a075a
commit 53d17430e0
2 changed files with 130 additions and 0 deletions

View File

@ -0,0 +1,65 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/riscv,rpmi-device-power.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RISC-V RPMI device power service group based power domain controller
maintainers:
- Joshua Yeong <joshua.yeong@starfivetech.com>
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 device power service group for
accessing and controlling the power state of platform devices managed
by a platform microcontroller. The supervisor software can access RPMI
device power service group via SBI MPXY channel or some dedicated
supervisor-mode RPMI transport.
===========================================
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 supervisor software.
const: riscv,rpmi-device-power
mboxes:
maxItems: 1
description:
Mailbox channel of the underlying RPMI transport or SBI message proxy channel.
"#power-domain-cells":
const: 1
description:
Platform specific DOMAIN_ID as defined by the RISC-V Platform Management
Interface (RPMI) specification.
required:
- compatible
- mboxes
- "#power-domain-cells"
additionalProperties: false
examples:
- |
power-controller {
compatible = "riscv,rpmi-device-power";
mboxes = <&mpxy_mbox 0x1002 0x0>;
#power-domain-cells = <1>;
};
...

View File

@ -0,0 +1,65 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/riscv,rpmi-mpxy-device-power.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RISC-V RPMI device power service group based message proxy
maintainers:
- Joshua Yeong <joshua.yeong@starfivetech.com>
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 device power service group for
accessing and controlling the power state of platform devices managed
by a platform microcontroller. The SBI implementation (machine mode
firmware or hypervisor) can implement an SBI MPXY channel to allow RPMI
device power 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-device-power
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:
- |
device-power-service {
compatible = "riscv,rpmi-mpxy-device-power";
mboxes = <&rpmi_shmem_mbox 0x9>;
riscv,sbi-mpxy-channel-id = <0x1002>;
};
...