Pinephone battery support
/sys/class/power_supply/axp20x-battery/capacity
is charge percentage.
/sys/class/power_supply/axp20x-battery/status
is charge status (Discharging
or Charging
)
We have a kernel that limits charge to ~90 percent (configurable, but I don't remember where), so full is... complicated.
When ~90% is reached, the battery switches to Discharging
while USB reports charging (axp20x-usb/online = 1
), discharges to ~87% and then settles.
/sys/class/power_supply/axp20x-battery/voltage_{min,max}_design
can be changed, seem to affect charging but don't affect reported capacity.
Discharging:
# for i in /sys/class/power_supply/*/*(.); do print $i:; <$i done
/sys/class/power_supply/axp20x-battery/capacity:
82
/sys/class/power_supply/axp20x-battery/constant_charge_current:
1200000
/sys/class/power_supply/axp20x-battery/constant_charge_current_max:
1200000
/sys/class/power_supply/axp20x-battery/current_now:
636000
/sys/class/power_supply/axp20x-battery/health:
Good
/sys/class/power_supply/axp20x-battery/online:
1
/sys/class/power_supply/axp20x-battery/present:
1
/sys/class/power_supply/axp20x-battery/status:
Discharging
/sys/class/power_supply/axp20x-battery/type:
Battery
/sys/class/power_supply/axp20x-battery/uevent:
POWER_SUPPLY_NAME=axp20x-battery
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_VOLTAGE_NOW=4028000
POWER_SUPPLY_CURRENT_NOW=655000
POWER_SUPPLY_CONSTANT_CHARGE_CURRENT=1200000
POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=1200000
POWER_SUPPLY_HEALTH=Good
POWER_SUPPLY_VOLTAGE_OCV=4125000
POWER_SUPPLY_VOLTAGE_MAX_DESIGN=4200000
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=3000000
POWER_SUPPLY_CAPACITY=81
/sys/class/power_supply/axp20x-battery/voltage_max_design:
4200000
/sys/class/power_supply/axp20x-battery/voltage_min_design:
3000000
/sys/class/power_supply/axp20x-battery/voltage_now:
4028000
/sys/class/power_supply/axp20x-battery/voltage_ocv:
4125000
/sys/class/power_supply/axp20x-usb/health:
Unknown
/sys/class/power_supply/axp20x-usb/input_current_limit:
500000
/sys/class/power_supply/axp20x-usb/online:
0
/sys/class/power_supply/axp20x-usb/present:
0
/sys/class/power_supply/axp20x-usb/type:
USB
/sys/class/power_supply/axp20x-usb/uevent:
POWER_SUPPLY_NAME=axp20x-usb
POWER_SUPPLY_TYPE=USB
POWER_SUPPLY_HEALTH=Unknown
POWER_SUPPLY_PRESENT=0
POWER_SUPPLY_ONLINE=0
POWER_SUPPLY_VOLTAGE_MIN=4500000
POWER_SUPPLY_INPUT_CURRENT_LIMIT=500000
POWER_SUPPLY_USB_BC_ENABLED=1
POWER_SUPPLY_USB_DCP_INPUT_CURRENT_LIMIT=1500000
POWER_SUPPLY_USB_TYPE=PD SDP DCP CDP [Unknown]
/sys/class/power_supply/axp20x-usb/usb_bc_enabled:
1
/sys/class/power_supply/axp20x-usb/usb_dcp_input_current_limit:
1500000
/sys/class/power_supply/axp20x-usb/usb_type:
PD SDP DCP CDP [Unknown]
/sys/class/power_supply/axp20x-usb/voltage_min:
4500000
Charging:
# for i in /sys/class/power_supply/*/*(.); do print $i:; <$i done
/sys/class/power_supply/axp20x-battery/capacity:
77
/sys/class/power_supply/axp20x-battery/constant_charge_current:
1200000
/sys/class/power_supply/axp20x-battery/constant_charge_current_max:
1200000
/sys/class/power_supply/axp20x-battery/current_now:
729000
/sys/class/power_supply/axp20x-battery/health:
Good
/sys/class/power_supply/axp20x-battery/online:
1
/sys/class/power_supply/axp20x-battery/present:
1
/sys/class/power_supply/axp20x-battery/status:
Charging
/sys/class/power_supply/axp20x-battery/type:
Battery
/sys/class/power_supply/axp20x-battery/uevent:
POWER_SUPPLY_NAME=axp20x-battery
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_STATUS=Charging
POWER_SUPPLY_VOLTAGE_NOW=4191000
POWER_SUPPLY_CURRENT_NOW=729000
POWER_SUPPLY_CONSTANT_CHARGE_CURRENT=1200000
POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=1200000
POWER_SUPPLY_HEALTH=Good
POWER_SUPPLY_VOLTAGE_OCV=4083200
POWER_SUPPLY_VOLTAGE_MAX_DESIGN=4200000
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=3000000
POWER_SUPPLY_CAPACITY=77
/sys/class/power_supply/axp20x-battery/voltage_max_design:
4200000
/sys/class/power_supply/axp20x-battery/voltage_min_design:
3000000
/sys/class/power_supply/axp20x-battery/voltage_now:
4191000
/sys/class/power_supply/axp20x-battery/voltage_ocv:
4083200
/sys/class/power_supply/axp20x-usb/health:
Good
/sys/class/power_supply/axp20x-usb/input_current_limit:
1500000
/sys/class/power_supply/axp20x-usb/online:
1
/sys/class/power_supply/axp20x-usb/present:
1
/sys/class/power_supply/axp20x-usb/type:
USB
/sys/class/power_supply/axp20x-usb/uevent:
POWER_SUPPLY_NAME=axp20x-usb
POWER_SUPPLY_TYPE=USB
POWER_SUPPLY_HEALTH=Good
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_VOLTAGE_MIN=4500000
POWER_SUPPLY_INPUT_CURRENT_LIMIT=1500000
POWER_SUPPLY_USB_BC_ENABLED=1
POWER_SUPPLY_USB_DCP_INPUT_CURRENT_LIMIT=1500000
POWER_SUPPLY_USB_TYPE=PD SDP [DCP] CDP Unknown
/sys/class/power_supply/axp20x-usb/usb_bc_enabled:
1
/sys/class/power_supply/axp20x-usb/usb_dcp_input_current_limit:
1500000
/sys/class/power_supply/axp20x-usb/usb_type:
PD SDP [DCP] CDP Unknown
/sys/class/power_supply/axp20x-usb/voltage_min:
4500000
"Full":
/sys/class/power_supply/axp20x-battery/capacity:
89
/sys/class/power_supply/axp20x-battery/constant_charge_current:
1200000
/sys/class/power_supply/axp20x-battery/constant_charge_current_max:
1200000
/sys/class/power_supply/axp20x-battery/current_now:
82000
/sys/class/power_supply/axp20x-battery/health:
Good
/sys/class/power_supply/axp20x-battery/online:
1
/sys/class/power_supply/axp20x-battery/present:
1
/sys/class/power_supply/axp20x-battery/status:
Discharging
/sys/class/power_supply/axp20x-battery/type:
Battery
/sys/class/power_supply/axp20x-battery/uevent:
POWER_SUPPLY_NAME=axp20x-battery
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_VOLTAGE_NOW=4194000
POWER_SUPPLY_CURRENT_NOW=82000
POWER_SUPPLY_CONSTANT_CHARGE_CURRENT=1200000
POWER_SUPPLY_CONSTANT_CHARGE_CURRENT_MAX=1200000
POWER_SUPPLY_HEALTH=Good
POWER_SUPPLY_VOLTAGE_OCV=4206400
POWER_SUPPLY_VOLTAGE_MAX_DESIGN=4200000
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=3000000
POWER_SUPPLY_CAPACITY=89
/sys/class/power_supply/axp20x-battery/voltage_max_design:
4200000
/sys/class/power_supply/axp20x-battery/voltage_min_design:
3000000
/sys/class/power_supply/axp20x-battery/voltage_now:
4194000
/sys/class/power_supply/axp20x-battery/voltage_ocv:
4206400
/sys/class/power_supply/axp20x-usb/health:
Good
/sys/class/power_supply/axp20x-usb/input_current_limit:
1500000
/sys/class/power_supply/axp20x-usb/online:
1
/sys/class/power_supply/axp20x-usb/present:
1
/sys/class/power_supply/axp20x-usb/type:
USB
/sys/class/power_supply/axp20x-usb/uevent:
POWER_SUPPLY_NAME=axp20x-usb
POWER_SUPPLY_TYPE=USB
POWER_SUPPLY_HEALTH=Good
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_ONLINE=1
POWER_SUPPLY_VOLTAGE_MIN=4500000
POWER_SUPPLY_INPUT_CURRENT_LIMIT=1500000
POWER_SUPPLY_USB_BC_ENABLED=1
POWER_SUPPLY_USB_DCP_INPUT_CURRENT_LIMIT=1500000
POWER_SUPPLY_USB_TYPE=PD SDP [DCP] CDP Unknown
/sys/class/power_supply/axp20x-usb/usb_bc_enabled:
1
/sys/class/power_supply/axp20x-usb/usb_dcp_input_current_limit:
1500000
/sys/class/power_supply/axp20x-usb/usb_type:
PD SDP [DCP] CDP Unknown
/sys/class/power_supply/axp20x-usb/voltage_min:
4500000