[PATCH 0/3] Qualcomm: rpmh and regulator fixes

Sumit Garg sumit.garg at kernel.org
Fri May 1 07:59:16 CEST 2026


Hi Casey,

On Mon, Apr 13, 2026 at 01:06:13PM +0200, Casey Connolly wrote:
> The RPMh API is frustratingly complicated and lacks public
> documentation. With the Linux drivers being the only available sources
> but are highly asynchronous and thus hard to translate to U-Boot.

There is new source of synchronous RPMh upstream driver which is being
pushed to upstream OP-TEE project here [1]. I agree U-Boot single
threaded execution model requires drivers to be simplified coming from
highly asynchronous Linux context.

[1] https://github.com/OP-TEE/optee_os/pull/7796

> 
> The main issue seems to relate to sending multiple commands in a single
> TCS request, currently this is only done by the interconnect driver and
> while this may not be the underlying cause it seems to be safer to avoid
> this for now.

Can you share which particular peripheral is being tested here to
reproduce the issues you are facing?

> 
> Adjust the bcm-voter driver to avoid sending multiple commands per
> write, and additionally adjust how we send RPMh requests as well as
> improve the cleanup we do prior to booting the OS.
> 

Aswin,

Is there something you can help Casey with this multiple RPMh requests
issue?

> Lastly, add a missing piece to the rpmh regulator driver to ensure
> that when a supply gets enabled we also propagate a vote to its parent
> supply. This seems to have been missed from the original port (perhaps
> because the Linux regulator core handles this automatically?) but it is
> necessary for some peripherals on some boards to work (e.g. to ensure
> that the spms supplier for an LDO gets enabled).
> 

Again it will be better if you list down the specific peripherals here.

-Sumit

> ---
> Casey Connolly (3):
>       soc/qcom: rpmh: properly fix synchronous requests
>       soc/qcom: rpmh: only allow rpmh writes of a single command
>       power: regulator: qcom-rpmh: propagate votes to parent supplies
> 
>  drivers/interconnect/qcom/bcm-voter.c         | 16 +++---
>  drivers/power/regulator/qcom-rpmh-regulator.c | 35 +++++++++++++-
>  drivers/soc/qcom/rpmh-rsc.c                   | 70 ++++++++++++++++++++-------
>  drivers/soc/qcom/rpmh.c                       |  6 +++
>  4 files changed, 102 insertions(+), 25 deletions(-)
> ---
> base-commit: c704af3c8b0f37929bce8c2a4bba27d6e89919c7
> 
> // Casey (she/they)
> 


More information about the U-Boot mailing list