|
发表于 2022-6-24 14:15:34
2153 浏览 0 回复
[FAQ05422] [BMT]怎样解决,AC/USB错误检测成非标充charger?
[DESCRIPTION]
由于插拔USB,可能造成错误识别的情况,这主要是跟USB头, Dm Dp比较短,而V+与GND相对比较长有关系。
当插入USB时,由于插入速度原因,
检测Dm Dp的时候,没有检测到,所以识别成非标充charger.
只需要在检测非标充的时候,多加一次检测就可以了.
[PLATFORM]
MT6575 MT6515 MT6577 MT6517 MT6589
[solution]
请尝试在alps\mediatek\platform\mt6575(mt6577/mt6589)\kernel\driver\power路径下面
mt6575_battery.c
mt6575_battery_fan5405.c(请根据具体情况选择文件)
- Void BAT_thread(void)函数做下面的修改.
- if( upmu_is_chr_det() == KAL_TRUE )
- {
- wake_lock(&battery_suspend_lock);
- xlog_printk(ANDROID_LOG_WARN, "Power/Battery", "[BAT_thread] check CHR_Type_num=%d\r\n", BMT_status.charger_type);
- if(BMT_status.charger_type == CHARGER_UNKNOWN)
- //if((BMT_status.charger_type == CHARGER_UNKNOWN) && mt_usb_is_device())
- {
- CHR_Type_num = mt_charger_type_detection();
- //CHR_Type_num = STANDARD_HOST;
- xlog_printk(ANDROID_LOG_WARN, "Power/Battery", "[BAT_thread] CHR_Type_num=%d\r\n", CHR_Type_num);
- if((NONSTANDARD_CHARGER == CHR_Type_num) && (second_check ==0))
- {
- ++second_check;
- g_first_check=0;//在该文件的开头加入extern g_first_check;
- CHR_Type_num = mt_charger_type_detection(); //hw_charger_type_detection();
- xlog_printk(ANDROID_LOG_WARN, "Power/Battery", "[BAT_thread] 2nd CHR_Type_num=%d\r\n", CHR_Type_num);
- }
- BMT_status.charger_type = CHR_Type_num;
- if( (CHR_Type_num==STANDARD_HOST) || (CHR_Type_num==CHARGING_HOST) )
- {
- mt_usb_connect();
- }
- }
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|
|
|
|
|
|
登录或注册
|