Mediatek kernel 3.18中的电源驱动设计

2019-07-14 00:38发布

主要涉及代码目录:   /drivers/power/mediatek/
   /drivers/misc/mediatek/power/
与电池相关的设备节点:
    /sys/class/power_supply/ac/online //AC 电源连接状态 交流电 即电源插座
    /sys/class/power_supply/usb/online //USB电源连接状态
    /sys/class/power_supply/battery/status //充电状态
    /sys/class/power_supply/battery/health //电池状态
    /sys/class/power_supply/battery/present //使用状态
    /sys/class/power_supply/battery/capacity //电池 level
    /sys/class/power_supply/battery/batt_vol //电池电压
    /sys/class/power_supply/battery/batt_temp //电池温度
    /sys/class/power_supply/battery/technology //电池技术4种电源状态
#define PM_SUSPEND_ON ((__force suspend_state_t) 0)
#define PM_SUSPEND_FREEZE ((__force suspend_state_t) 1)
#define PM_SUSPEND_STANDBY ((__force suspend_state_t) 2)
#define PM_SUSPEND_MEM ((__force suspend_state_t) 3)
#define PM_SUSPEND_MIN PM_SUSPEND_FREEZE
#define PM_SUSPEND_MAX ((__force suspend_state_t) 4)
充电过程:kernel与充电相关的函数:    battery_common.c——充电控制主线程
    battery_meter.c ——SW FG算法
    linear_charging.c——PMIC充电控制
    switch_charging.c——SW charger充电控制
代码框架:/drivers/power/mediatek/battery_common.c
晚上回来继续写