[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260127190211.14312-3-bjsaikiran@gmail.com>
Date: Wed, 28 Jan 2026 00:32:11 +0530
From: Saikiran <bjsaikiran@...il.com>
To: broonie@...nel.org,
lgirdwood@...il.com
Cc: andersson@...nel.org,
konrad.dybcio@...nel.org,
linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org,
robh@...nel.org,
krzk+dt@...nel.org,
devicetree@...r.kernel.org,
Saikiran <bjsaikiran@...il.com>
Subject: [PATCH v3 2/2] regulator: qcom-rpmh: Add support for regulator-off-on-delay-us
The core regulator framework supports enforcing a physical off-time via
standard properties, but the `qcom-rpmh-regulator` driver currently ignores
them.
The issue is platform-specific: The Lenovo Yoga Slim 7x (Snapdragon X Elite)
has large bulk capacitors on the camera rails (LDO1, LDO3, LDO7). When these
regulators are disabled, the voltage decays very slowly (passive discharge).
If the rail is re-enabled before this discharge completes, the sensor
experiences a brownout and fails to initialize.
Add support for parsing the 'regulator-off-on-delay-us' property from
the device tree to enforce this physical constraint.
Signed-off-by: Saikiran <bjsaikiran@...il.com>
---
drivers/regulator/qcom-rpmh-regulator.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/regulator/qcom-rpmh-regulator.c b/drivers/regulator/qcom-rpmh-regulator.c
index 6e4cb2871fca..aafba61551b3 100644
--- a/drivers/regulator/qcom-rpmh-regulator.c
+++ b/drivers/regulator/qcom-rpmh-regulator.c
@@ -503,6 +503,9 @@ static int rpmh_regulator_init_vreg(struct rpmh_vreg *vreg, struct device *dev,
vreg->always_wait_for_ack = of_property_read_bool(node,
"qcom,always-wait-for-ack");
+ of_property_read_u32(node, "regulator-off-on-delay-us",
+ &vreg->rdesc.off_on_delay);
+
vreg->rdesc.owner = THIS_MODULE;
vreg->rdesc.type = REGULATOR_VOLTAGE;
vreg->rdesc.ops = vreg->hw_data->ops;
--
2.51.0
Powered by blists - more mailing lists