[MTK] 6735/6753/6735M平台normal boot preloader 耗时很长10S左右
文摘 MediaTek 2020-04-1 阅读:5457[DESCRIPTION]
客户6735/6753/6735M 手机正常开机,发现preloader 耗时10S左右。抓取uart log 看到在preloader 处会卡顿8S。
[REPRODUCTIVE]
- 6735/6753/6735M 手机
- 手机USB线连接 AC Adapter 充电器
- 查看uart log
抓取uart log 看到:
force STANDARD_HOST
[PLFM] USB cable in
14:49:50 1
14:49:51 1
pl pmic powerkey Release
14:49:52 1
pl pmic powerkey Release
14:49:53 1
pl pmic powerkey Release
14:49:54 1
pl pmic powerkey Release
14:49:55 1
pl pmic powerkey Release
14:49:56 1
pl pmic powerkey Release
14:49:57 1
pl pmic powerkey Release
[ANALYSIS]
为减小preloader size 默认强制USB 类型赋值为 STANDARD_HOST ,此情况下会去执行USB 枚举。 但是实际上是AC Adapter,因此会不断的枚举直到超时。枚举时间正好是8S。
[SOLUTION]
vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt6735/src/drivers/pmic.c
#ifndef PMIC_TYPE_DETECTION
int hw_charger_type_detection(void)
{
print("force STANDARD_HOST\r\n");
return STANDARD_HOST;
}
在make file 中定义 PMIC_TYPE_DETECTION 宏即可。
如果开启该宏后引起preloader size 过大导致build 失败或者下载失败,则请参考FAQ15079 FAQ11794 处理。