充电状态读取辨析charging_enabled与battery_charging_enabled

是否在充电

老化程序查询手机是否在充电是查询哪个节点呢?在老化过程中,如果电量过高会导致过充,因此要限制电量,能过enable/disable 充电过程。

有以下两个节点,分别对应不同的寄存器

/sys/class/power_supply/battery/charging_enabled                      0x1340:4        -- USB

/sys/class/power_supply/battery/battery_charging_enabled        0x1242:1        -- BATTERY

前者表示充电器存在,即充电器是插入状态,系统有闪电图标也表示充电器在,但是不表示在充电!!

后者表示电池在充电,插着充电器,不一定给电池供电的。

如果设置charging_enabled=0, 则USB挂起,线上电流归0;battery_charging_enabled依然为1,此时,电池放电;

如果设置battery_charging_enabled,则线上电流不归0,给系统供电; charging_enabled依然为1;但不进电池;此时电池既不放电也不充电。

因此要读取是否在充电,是否有电流进电池,读取battery_charging_enabled

因为,如果只是给系统供电而不充电,则显然是不充电的。此时,进电池的状态并不能说明充电器是否供电;

因为如果不进电池,但是进系统,说明充电器还是供电的,只是没有进电池。

充电状态读取辨析charging_enabled与battery_charging_enabled_第1张图片充电状态读取辨析charging_enabled与battery_charging_enabled_第2张图片

Charger IC

Charge type

USB suspend

Battery charging

Power_path

Full status

PM8909

Linear-charger

0x1347

0x1049

0x1308

线上0

PMI8952

SMB

0x1340

0x1242

0X1308

线上供电

PMI632

SMB5

Slave charger

0X1042

110B

线上供电

PM7250B

SMB5

0x1340

0x1042

110B

线上供电

并行充电IC上的新发展

随着高通平台的发展,我们发现这两个属性慢慢的均移入到parallel中,用来对slave charger进行操作,而对main charger的状态和使能则放弃了。也就是不说,不能再对main charger进行充电行为的控制。当然,芯片上肯定是可以控制的,只是接口没有开放给OEM罢了。 

你可能感兴趣的:(android)