[PATCH RESEND 09/16] sysreset: qcom-pshold: offset support
Sam Day via B4 Relay
devnull+me.samcday.com at kernel.org
Mon Jun 1 10:12:50 CEST 2026
From: Sam Day <me at samcday.com>
On older SoCs (such as MSM8960/MSM8930), PS_HOLD is exposed through
the TLMM aperture. To prepare for that use-case, this driver is updated
to accept arbitrary offsets from regbase.
Signed-off-by: Sam Day <me at samcday.com>
---
drivers/sysreset/sysreset_qcom-pshold.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/sysreset/sysreset_qcom-pshold.c b/drivers/sysreset/sysreset_qcom-pshold.c
index 45290478536..f8be1f2f593 100644
--- a/drivers/sysreset/sysreset_qcom-pshold.c
+++ b/drivers/sysreset/sysreset_qcom-pshold.c
@@ -10,6 +10,7 @@
*/
#include <dm.h>
+#include <errno.h>
#include <sysreset.h>
#include <asm/io.h>
#include <linux/delay.h>
@@ -35,9 +36,15 @@ static struct sysreset_ops qcom_pshold_ops = {
static int qcom_pshold_probe(struct udevice *dev)
{
struct qcom_pshold_priv *priv = dev_get_priv(dev);
+ ulong offset = dev_get_driver_data(dev);
priv->base = dev_read_addr(dev);
- return priv->base == FDT_ADDR_T_NONE ? -EINVAL : 0;
+ if (priv->base == FDT_ADDR_T_NONE)
+ return -EINVAL;
+
+ priv->base += offset;
+
+ return 0;
}
static const struct udevice_id qcom_pshold_ids[] = {
--
2.54.0
More information about the U-Boot
mailing list