当前位置: 首页 > 工具软件 > kernel-msm > 使用案例 >

充电系列-1-msm8909充电驱动常见修改

丘华翰
2023-12-01

//读取充电温度

adb shell "cat sys/devices/soc.0/qpnp-linear-charger-ee327200/power_supply/battery/temp"
542

adb shell "cat sys/devices/soc.0/qpnp-vm-bms-ee327600/power_supply/bms/temp"
542

//修改NTC温度查询表

kernel/drivers/hwmon/qpnp-adc-common.c

#if defined(CONFIG_ARCH_MSM8909_XK89A)
// 10K NTC+1K, 12K pull to 1.8V
static const struct qpnp_vadc_map_pt adcmap_qrd_skue_btm_threshold[] = {

//使用高压电池

//4.35V电池
&pm8909_chg {
    qcom,vddmax-mv = <4350>;
    qcom,vddsafe-mv = <4380>;
    qcom,vinmin-mv = <4470>;

//电量50不能充电

电池ID脚没有接

//停用硬件温度保护功能

添加下面这个prop
qcom,btc-disabled;

//关闭充电功能

diff --git a/arch/arm/boot/dts/qcom/sim8909_evb103.dtsi b/arch/arm/boot/dts/qcom/sim8909_evb103.dtsi
index b1b6d84..3e3d84f 100755
--- a/arch/arm/boot/dts/qcom/sim8909_evb103.dtsi
+++ b/arch/arm/boot/dts/qcom/sim8909_evb103.dtsi
@@ -393,6 +393,7 @@
        qcom,batt-cold-percentage = <80>;
        qcom,tchg-mins = <360>;
        qcom,disable-vbatdet-based-recharge;
+       qcom,charging-disabled;
        status = "okay";
 };


&pm8909_chg {
    qcom,vddmax-mv = <4350>;
    qcom,vddsafe-mv = <4380>;
    qcom,vinmin-mv = <4470>;
    qcom,batt-hot-percentage = <25>;
    qcom,batt-cold-percentage = <80>;
    qcom,tchg-mins = <360>;
    qcom,disable-vbatdet-based-recharge;
    qcom,charging-disabled;
    status = "okay";
};


中吉usb不稳定奇葩问题:
昨天下载关闭充电之后 USB 作为从机验证没有问题了

//外接电源充电

kernel/drivers/usb/phy/phy-msm-usb.c 中修改
static bool floated_charger_enable = 1;

//换电池后电量还是前一个的

qcom,shutdown-soc-valid-limit = <100>;    //==>改成20

//最大充电电流

kernel/drivers/power/qpnp-linear-charger.c

#define QPNP_LBC_IBATSAFE_MAX_MA    1440

//电池过放保护

Problem Description 问题描述

客户反馈我司 9.05.186501-2PGW-25 产品有许多无法充电,特寄回设备一台与电池一
组,要求我们进行分析并进行回复。

分析总结
综合上述分析,客户端所描述的电池无法充电现象,应为 POS 机在电池完全放电后无法检测电池在
3.0V-3.530V 的电量状态,导致该电压充电阶段 POS 机充电指示红灯不良,充电图标持续显示为 0%,实际
电池充电状态正常,电压上升正常,POS 设备识别因素导致客户端误判;

//返充时间好像太短

测试发现电池充满电后(电流为250毫安左右),会出现冲几分钟停几分钟的情况,这个返充时间好像太短了,是否有地方可以修改

qcom,resume-soc = <99>; //mod to 95

//修改电池曲线

修改:
kernel/arch/arm/boot/dts/qcom/项目名.dtsi


/ {
        qrd_batterydata: qcom,battery-data {
        qcom,rpull-up-kohm = <0>;
        qcom,vref-batt-therm = <1800000>;

        // #include "batterydata-qrd-skue-4v35-2500mah.dtsi"
        // #include "batterydata-qrd-skue-4v35-2000mah.dtsi"
        // #include "batterydata-qrd-skue-jlxv-4v35-2000mah.dtsi" // 注释掉原来的,换成下面新添加的
    #include "batterydata-wst-4v2-3700mah.dtsi"
        };
};

//关机充电模式和开机启动控制

android 7.1

file:
bootable/bootloader/lk/app/aboot/aboot.c


diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index d8ef5a4..3121fd3 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -343,7 +343,9 @@ unsigned char *update_cmdline(const char * cmdline)
 
        if (boot_into_recovery && gpt_exists)
                cmdline_len += strlen(secondary_gpt_enable);
-
+//chuanzheng.xue start
+       device.charger_screen_enabled = 0;  //add this line
+//chuanzheng.xue end
        if (boot_into_ffbm) {
                cmdline_len += strlen(androidboot_mode);
                cmdline_len += strlen(ffbm_mode_string);

//修改开机电压

默认3.4V开机,需要修改SBL部分

 类似资料: