Re: [PATCH v2 5/6] arm64: dts: qcom: x1e80100-vivobook-s15: add charge limit nvmem
From: Maud Spierings
Date: Sun Nov 23 2025 - 06:03:56 EST
On 11/22/25 14:37, Konrad Dybcio wrote:
On 11/22/25 12:07 PM, Maud Spierings wrote:Nope still nothing, there is one err about "failed to send synthetic uevent: -11" during startup, but I don't know how relevant that is.
On 11/20/25 16:36, Konrad Dybcio wrote:It seems like the driver currently only populates the sysfs start/stop
On 11/17/25 4:44 PM, Maud Spierings wrote:It seems not, I seem to remember testing it quite some time ago, but I cannot get it to remember any way, at least it is not popping up in sysfs, always back to 0
On 11/17/25 16:35, Konrad Dybcio wrote:Odd indeed.. Does it work if you reboot from Linux to Linux?
On 11/17/25 3:13 PM, Maud Spierings wrote:the values in /sys/class/power_supply/jada-jada/ are zero when rebooting from Windows into Linux after enabling charge limitting in the Asus application.
Hi Konrad,Hm, I wonder if Windows/UEFI overwrites these values or whether they're
On 11/17/25 13:59, Konrad Dybcio wrote:
On 11/16/25 11:52 AM, Maud Spierings via B4 Relay wrote:Hmm I have tried several things but I can't seem to get the values to stick. I the spmi-sdam driver is compiled in, I am not quite sure if I might be missing something.
From: Maud Spierings <maud_spierings@xxxxxxxxxxx>Have you verified that e.g.
Add nvmem cells for getting charge control thresholds if they have
been set previously.
Signed-off-by: Maud Spierings <maud_spierings@xxxxxxxxxxx>
---
connecting the charger
setting the charge threshold
rebooting to windows
rebooting to windows once more for good measure
rebooting to linux
still has the settings persist?
used by something else..
Can you set a threshold in windows and see if Linux can read back that
data?
I remember my old vivobook (x86) also forgot its settings each boot, but given the nvmem cells that should not be happing here I guess. It is odd that there seems to be no collision between Windows and Linux. Maybe the Windows mechanism is doing the old trick of writing it in there every boot?
values if the "enable" bit is set
Could you check this (hacky and wrong) diff and give it another try?
diff --git a/drivers/power/supply/qcom_battmgr.c b/drivers/power/supply/qcom_battmgr.c
index c8028606bba0..9ebd8adfb8eb 100644
--- a/drivers/power/supply/qcom_battmgr.c
+++ b/drivers/power/supply/qcom_battmgr.c
@@ -733,7 +733,7 @@ static int qcom_battmgr_charge_control_thresholds_init(struct qcom_battmgr *batt
u8 en, end_soc, start_soc, delta_soc;
ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_en", &en);
- if (!ret && en != 0) {
+ if (!ret) {
ret = nvmem_cell_read_u8(battmgr->dev->parent, "charge_limit_end", &end_soc);
if (ret < 0)
return ret;
Kind regards,
Maud