forked from msm8916-mainline/linux
-
Notifications
You must be signed in to change notification settings - Fork 81
Open
Description
I've pushed an early version of a driver for the fuel gauge on the fairphone3 (earlier hardware version) to the branch msm8953_v6.4_gpu_wlan_modem_ipa_cpufreq_qg of https://github.com/spasswolf/msm8953-linux.git.
commit a46ef5194c8f424bc6a337d203fc10978021896c (HEAD -> msm8953_v6.4_gpu_wlan_modem_ipa_cpufreq_qg, msm8953-linux/msm8953_v6.4_gpu_wlan_modem_ipa_cpufreq_qg)
Author: Bert Karwatzki <[email protected]>
Date: Sun Jul 16 14:38:55 2023 +0200
power: suppyly: qcom_qg: Initial qpnp-qg fuel gauge support.
This commit adds initial support for the qpnp-qg fuel gauge based
partly on the downstream driver[1]. So far voltage and current measurement
work and the capacity is estimated using lookup tables adapted from
the downstream kernel[1]. Interrupt support has not yet been added.
[1]: https://code.fairphone.com/projects/fairphone-3/gpl.html
Signed-off-by: Bert Karwatzki <[email protected]>
commit 8396191d3bf2267549e5fb3965366e1ef5e31dae
Author: Bert Karwatzki <[email protected]>
Date: Sun Jul 16 15:18:06 2023 +0200
drivers: iio: adc: qcom-spmi-adc5: Add bat_therm channel.
The qpnp-qg fuel gauge driver in the downstream kernel [1] for the
fairphone-fp3 uses this channel to read the battery temperature.
[1] https://code.fairphone.com/projects/fairphone-3/gpl.html
Signed-off-by: Bert Karwatzki <[email protected]>
What works is current and voltage measuring and capacity estimation:
$ cat /sys/class/power_supply/qcom-battery/uevent
POWER_SUPPLY_NAME=qcom-battery
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CAPACITY=94
POWER_SUPPLY_CURRENT_NOW=-344848
POWER_SUPPLY_VOLTAGE_NOW=4300504
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=3400000
POWER_SUPPLY_VOLTAGE_MAX_DESIGN=4390000
POWER_SUPPLY_CHARGE_FULL_DESIGN=3056000
POWER_SUPPLY_TEMP=33186
Voltage is in µV and current in µA, negative current seems to show that we're charging (which seems to work even without charger support in kernel).
Edit: Capacity estimation seems to be off by about 3 percentage points when charging, perhaps because the measured voltage is used directly without correcting for internal resistance and because the lookup table used are those for the non-charging case.
Metadata
Metadata
Assignees
Labels
No labels