如何在Android M版本dts配置双电池
时间:10-02
整理:3721RD
点击:
如何在android M版本dts配置双电池
在AndroidM上面的电池客制化的参数都是存放在dts文件中,但是base code只支持一个电池,
由于客户的需求可能会用到双电池的充电,因此有必要在dts中加入双电池的配置
那Denali 平台举个例子如何来配置dts双电池
1,首先在/kernel-3.18/arch/ARM64/boot/dts/mt6735.dtsi中找到以下的关键词:
bat_meter: bat_meter{
Battery_profile_t0_num = <100>;
battery_profile_t0 = 2 4069
3 4053
5 4040
7 4023
8 3997
10 3961
12 3946
....
>
可以参考这个来定义新的电池,如下
bat_meter: bat_meter{
battery_profile_t0_1_num = <100>;
battery_profile_t0_1 = 2 4069
3 4053
5 4040
7 4023
8 3997
10 3961
12 3946
....
>
这里把新的电池命名为battery_profile_t0_1 ,注意因为table对应4中不同的温度,所以有4张表加上电池的内阻的4张表,这里一共有8张表
2,完成了第一步之后,就在/kernel-3.18/drivers/power/mediatek/battery_meter.c中修改
int __batt_meter_init_cust_data_fROM_dt(void)
{
获取电池的id
if 电池1
__batt_meter_parse_node(np, "battery_profile_t0_num", &num);
__batt_meter_parse_table(np, "battery_profile_t0",
fgauge_get_profile(batt_meter_cust_data.temperature_t0));
else
__batt_meter_parse_node(np, "battery_profile_t0_1_num", &num);
__batt_meter_parse_table(np, "battery_profile_t0_1",
fgauge_get_profile(batt_meter_cust_data.temperature_t0));
}