[PATCH 1/2] dt-bindings: power: Add RPMI device power service bindings

Joshua Yeong joshua.yeong at starfivetech.com
Wed Sep 2 04:34:57 PDT 2026


On Mon, Aug 31, 2026 at 05:41:36PM +0100, Conor Dooley <conor at kernel.org> wrote:
> On Sun, Aug 30, 2026 at 04:55:18AM +0800, Joshua Yeong wrote:
> > 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 at starfivetech.com>
>
> Carbon copy of the clock bindings, right?
>
> This stuff is past the stage of being frozen I assume? Github is 
> currently being slow as molasses for me and I cannot load the links.
>
> If so
> Acked-by: Conor Dooley <conor.dooley at microchip.com>
> pw-bot: not-applicable
>
> Cheers,
> Conor.

Yes it is already ratified (past the stage of frozen). I will remove the redundant 'bindings' keyword in v3.
https://lore.kernel.org/all/BJXPR01MB08380868E1DE7029DC52AB06F9B72@BJXPR01MB0838.CHNPR01.prod.partner.outlook.cn/
You can acked again in v3. 

Thanks,
Joshua

>
> > ---
> >  .../power/riscv,rpmi-device-power.yaml        | 65 +++++++++++++++++++
> >  .../power/riscv,rpmi-mpxy-device-power.yaml   | 65 +++++++++++++++++++
> >  2 files changed, 130 insertions(+)
> >  create mode 100644 
> > Documentation/devicetree/bindings/power/riscv,rpmi-device-power.yaml
> >  create mode 100644 
> > Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-power
> > .yaml
> > 
> > diff --git 
> > a/Documentation/devicetree/bindings/power/riscv,rpmi-device-power.ya
> > ml 
> > b/Documentation/devicetree/bindings/power/riscv,rpmi-device-power.ya
> > ml
> > new file mode 100644
> > index 000000000000..5afdc40df7e0
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/power/riscv,rpmi-device-powe
> > +++ r.yaml
> > @@ -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 at 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>;
> > +    };
> > +...
> > diff --git 
> > a/Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-pow
> > er.yaml 
> > b/Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device-pow
> > er.yaml
> > new file mode 100644
> > index 000000000000..2b7df66ba172
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/power/riscv,rpmi-mpxy-device
> > +++ -power.yaml
> > @@ -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.ya
> > +ml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: RISC-V RPMI device power service group based message proxy
> > +
> > +maintainers:
> > +  - Joshua Yeong <joshua.yeong at 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>;
> > +    };
> > +...
> > --
> > 2.43.0
> > 



More information about the linux-riscv mailing list