drivers/regulator/qcom-rpmh-regulator.c | 184 +++++++++++++++++++++++++++++++- drivers/soc/qcom/rpmh-rsc.c | 13 ++- drivers/soc/qcom/rpmh.c | 47 +++++++- include/soc/qcom/rpmh.h | 5 + include/soc/qcom/tcs.h | 2 + 5 files changed, 241 insertions(+), 10 deletions(-)
This patch series adds a new `rpmh_read()` API to allow reading RPMH
addresses. Also, using this new API, enhances the RPMH regulator driver
get_regulator* APIs like `get_regulator_sel()`, `get_mode()` and
`get_status()` to allow reading voltage/mode/enable setting from H/W.
This is needed because current design has a limitation - regulator
framework can only get the cached values from the last voltage set
operation. Because of this right after bootup a `get_voltage_sel()`
from regulator framework will return -ENOTRECOVERABLE error, causing
regulator framework to trigger an unnecessary `set_voltage_sel()` call
with the `min_uV` value specified in the regulator's device tree
settings, which can cause issues for consumers like the display and
UFS that require a consistent voltage setting from the bootloader
state until their drivers are probed.
With this change regulator framework will get the regulator voltage
and other settings, as configured during bootloader stage, avoiding
unnecessary voltage adjustments and maintaining consistent power
settings across the transition from bootloader to kernel.
Besides this feature this series also fixes:-
- An existing issue with the BOB5 pass code value. This is needed
by `get_status()`.
- Code format/style related errors reported by checkpatch.pl.
Signed-off-by: Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com>
---
Changes in v2:
- Fixed the BOB bypass mode handling (existing issue in current driver).
This was needed for `get_status()` implementation.
- Implemented `get_status()` callback.
- Callbacks for `is_enabled()` & `get_mode()` will now be used as-is
ie. v1 changes reverted.
- Bootstapped the read values for `mode` and `status` in probe, based on
comments recieved from reviewer.
- Callback for `get_voltage_sel()` has been modified to handle cases
where read voltage is out-of-range defined in the regulator DT settings,
this is needed to ensure backward compatibilty. Regulator probes may
fail otherwise for some older targets.
- This patch is rebased & tested on:
https://lore.kernel.org/all/176070318151.57631.15443673679580823321.b4-ty@kernel.org/
to avoid any merge issues.
- Fixed code style issues reported by checkpatch.pl script.
- Link to v1: https://lore.kernel.org/r/20250623-add-rpmh-read-support-v1-0-ae583d260195@oss.qualcomm.com
---
Kamal Wadhwa (3):
regulator: rpmh-regulator: Fix PMIC5 BOB bypass mode handling
regulator: qcom-rpmh: Add support to read regulator settings
regulators: qcom-rpmh-regulator: Fix coding style issues
Maulik Shah (1):
soc: qcom: rpmh: Add support to read back resource settings
drivers/regulator/qcom-rpmh-regulator.c | 184 +++++++++++++++++++++++++++++++-
drivers/soc/qcom/rpmh-rsc.c | 13 ++-
drivers/soc/qcom/rpmh.c | 47 +++++++-
include/soc/qcom/rpmh.h | 5 +
include/soc/qcom/tcs.h | 2 +
5 files changed, 241 insertions(+), 10 deletions(-)
---
base-commit: fe45352cd106ae41b5ad3f0066c2e54dbb2dfd70
change-id: 20250623-add-rpmh-read-support-3288f83cc20a
Best regards,
--
Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com>
On Wed, Oct 22, 2025 at 02:38:52AM +0530, Kamal Wadhwa wrote: > This patch series adds a new `rpmh_read()` API to allow reading RPMH > addresses. Also, using this new API, enhances the RPMH regulator driver > get_regulator* APIs like `get_regulator_sel()`, `get_mode()` and > `get_status()` to allow reading voltage/mode/enable setting from H/W. > > This is needed because current design has a limitation - regulator > framework can only get the cached values from the last voltage set > operation. Because of this right after bootup a `get_voltage_sel()` > from regulator framework will return -ENOTRECOVERABLE error, causing > regulator framework to trigger an unnecessary `set_voltage_sel()` call > with the `min_uV` value specified in the regulator's device tree > settings, which can cause issues for consumers like the display and > UFS that require a consistent voltage setting from the bootloader > state until their drivers are probed. > > With this change regulator framework will get the regulator voltage > and other settings, as configured during bootloader stage, avoiding > unnecessary voltage adjustments and maintaining consistent power > settings across the transition from bootloader to kernel. > > Besides this feature this series also fixes:- > - An existing issue with the BOB5 pass code value. This is needed > by `get_status()`. > - Code format/style related errors reported by checkpatch.pl. > > Signed-off-by: Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com> > --- > Changes in v2: > - Fixed the BOB bypass mode handling (existing issue in current driver). > This was needed for `get_status()` implementation. > - Implemented `get_status()` callback. > - Callbacks for `is_enabled()` & `get_mode()` will now be used as-is > ie. v1 changes reverted. > - Bootstapped the read values for `mode` and `status` in probe, based on > comments recieved from reviewer. > - Callback for `get_voltage_sel()` has been modified to handle cases > where read voltage is out-of-range defined in the regulator DT settings, > this is needed to ensure backward compatibilty. Regulator probes may > fail otherwise for some older targets. > - This patch is rebased & tested on: > https://lore.kernel.org/all/176070318151.57631.15443673679580823321.b4-ty@kernel.org/ > to avoid any merge issues. > - Fixed code style issues reported by checkpatch.pl script. > - Link to v1: https://lore.kernel.org/r/20250623-add-rpmh-read-support-v1-0-ae583d260195@oss.qualcomm.com > > --- > Kamal Wadhwa (3): > regulator: rpmh-regulator: Fix PMIC5 BOB bypass mode handling > regulator: qcom-rpmh: Add support to read regulator settings > regulators: qcom-rpmh-regulator: Fix coding style issues These three changes all changes the same one file, but you have 3 different subject prefixes. This is just sloppy, please follow other changes to this one file. > > Maulik Shah (1): > soc: qcom: rpmh: Add support to read back resource settings I'd like to merge this through the soc tree, please put it first in the series to simplify this. Regards, Bjorn > > drivers/regulator/qcom-rpmh-regulator.c | 184 +++++++++++++++++++++++++++++++- > drivers/soc/qcom/rpmh-rsc.c | 13 ++- > drivers/soc/qcom/rpmh.c | 47 +++++++- > include/soc/qcom/rpmh.h | 5 + > include/soc/qcom/tcs.h | 2 + > 5 files changed, 241 insertions(+), 10 deletions(-) > --- > base-commit: fe45352cd106ae41b5ad3f0066c2e54dbb2dfd70 > change-id: 20250623-add-rpmh-read-support-3288f83cc20a > > Best regards, > -- > Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com> >
On Wed, Oct 22, 2025 at 04:02:00PM -0500, Bjorn Andersson wrote: > On Wed, Oct 22, 2025 at 02:38:52AM +0530, Kamal Wadhwa wrote: > > This patch series adds a new `rpmh_read()` API to allow reading RPMH > > addresses. Also, using this new API, enhances the RPMH regulator driver > > get_regulator* APIs like `get_regulator_sel()`, `get_mode()` and > > `get_status()` to allow reading voltage/mode/enable setting from H/W. > > > > This is needed because current design has a limitation - regulator > > framework can only get the cached values from the last voltage set > > operation. Because of this right after bootup a `get_voltage_sel()` > > from regulator framework will return -ENOTRECOVERABLE error, causing > > regulator framework to trigger an unnecessary `set_voltage_sel()` call > > with the `min_uV` value specified in the regulator's device tree > > settings, which can cause issues for consumers like the display and > > UFS that require a consistent voltage setting from the bootloader > > state until their drivers are probed. > > > > With this change regulator framework will get the regulator voltage > > and other settings, as configured during bootloader stage, avoiding > > unnecessary voltage adjustments and maintaining consistent power > > settings across the transition from bootloader to kernel. > > > > Besides this feature this series also fixes:- > > - An existing issue with the BOB5 pass code value. This is needed > > by `get_status()`. > > - Code format/style related errors reported by checkpatch.pl. > > > > Signed-off-by: Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com> > > --- > > Changes in v2: > > - Fixed the BOB bypass mode handling (existing issue in current driver). > > This was needed for `get_status()` implementation. > > - Implemented `get_status()` callback. > > - Callbacks for `is_enabled()` & `get_mode()` will now be used as-is > > ie. v1 changes reverted. > > - Bootstapped the read values for `mode` and `status` in probe, based on > > comments recieved from reviewer. > > - Callback for `get_voltage_sel()` has been modified to handle cases > > where read voltage is out-of-range defined in the regulator DT settings, > > this is needed to ensure backward compatibilty. Regulator probes may > > fail otherwise for some older targets. > > - This patch is rebased & tested on: > > https://lore.kernel.org/all/176070318151.57631.15443673679580823321.b4-ty@kernel.org/ > > to avoid any merge issues. > > - Fixed code style issues reported by checkpatch.pl script. > > - Link to v1: https://lore.kernel.org/r/20250623-add-rpmh-read-support-v1-0-ae583d260195@oss.qualcomm.com > > > > --- > > Kamal Wadhwa (3): > > regulator: rpmh-regulator: Fix PMIC5 BOB bypass mode handling > > regulator: qcom-rpmh: Add support to read regulator settings > > regulators: qcom-rpmh-regulator: Fix coding style issues > > These three changes all changes the same one file, but you have 3 > different subject prefixes. This is just sloppy, please follow other > changes to this one file. sorry will take care of this in the next version. > > > > > Maulik Shah (1): > > soc: qcom: rpmh: Add support to read back resource settings > > I'd like to merge this through the soc tree, please put it first in the > series to simplify this. Ok will do that in next series. > > Regards, > Bjorn > > > > > drivers/regulator/qcom-rpmh-regulator.c | 184 +++++++++++++++++++++++++++++++- > > drivers/soc/qcom/rpmh-rsc.c | 13 ++- > > drivers/soc/qcom/rpmh.c | 47 +++++++- > > include/soc/qcom/rpmh.h | 5 + > > include/soc/qcom/tcs.h | 2 + > > 5 files changed, 241 insertions(+), 10 deletions(-) > > --- > > base-commit: fe45352cd106ae41b5ad3f0066c2e54dbb2dfd70 > > change-id: 20250623-add-rpmh-read-support-3288f83cc20a > > > > Best regards, > > -- > > Kamal Wadhwa <kamal.wadhwa@oss.qualcomm.com> > >
© 2016 - 2026 Red Hat, Inc.