充电状态读取辨析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

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

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

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罢了。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YouthTravel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值