MT8735 MTK
`
【mt8735】如何实现插上电池自动开机
需求:有些特殊的行业应用,需要上电自动开机。我司就接到一客户的订单,需要一台不需要按PowerKey键上电自动开机的工业平板。
实现步骤:
实现插上电池自动开机需要从两个方面入手,第一,在硬件上将PowerKey键直接接地;第二,在软件上掉长按关机或者重启的功能;这里主要讲述如何在软件中去掉长按关机或重启的功能。
【1】在文件kernel-3.10/drivers/misc/mediatek/mach/$(platform)/$(project)//keypad/mtk_kpd.h中删除如下定义:
//#define ONEKEY_REBOOT_NORMAL_MODE
【2】在文件kernel-3.10/drivers/misc/mediatek/power/$(platform)/pmic.c的pmic_mt_probe函数中增加如下函数
#if defined(CONFIG_ARCH_MT6753)
PMICLOG("[PMIC_INIT_SETtiNG_V1] delay to MT6311init
");
#else
PMIC_INIT_SETTING_V1();
pmic_config_interface(RG_PWRKEY_RST, val, MASK, SHIFT); // 增加的函数
PMICLOG("[PMIC_INIT_SETTING_V1] Done
");
#endif
PMIC_CUSTOM_SETTING_V1();
pmic_config_interface(RG_PWRKEY_RST, val, MASK, SHIFT); //增加的函数
PMICLOG("[PMIC_CUSTOM_SETTING_V1] Done
");
【3】对于 pmic_config_interface(RG_PWRKEY_RST, val,MASK, SHIFT); // 增加的函数 中RG_PWRKEY_RST, val, MASK, SHIFT的值,可下表常用平台对应的实际参数:
PLATFORM PMIC RG_PWRKEY_RST val MASK SHIFT
6582/72/92/2601 MT6323 0x011A 0x0 0x1 6
6580 MT6350 0x011A 0x2 0x3 5
6753/35/35M/8735 MT6328 0x02A0 0x0 0x1 9
6752 MT6325 0x028A 0x0 0x1 9
6755 MT6351 0x02B6 0x0 0x1 9
示例:
mt8735平台 pmic_config_interface(0x02A0,0x0,0x1,9);
【4】修改之后对系统重新编译,将新系统更新到相应的mt8735设备(如我司的工业平板),更新完之后,拔掉USB,重新插上电池,即可实现自动开机。
【5】不足及解决方法:
不足--> PowerKey键直接接地之后,PowerKey键将失去作用,关机只能拔掉电池,息屏系统休眠将不能唤醒,不能更新下载系统。
解决方法--> 能够解决上述问题的方法之一是,将自弹式按键更换为自锁式按键。关机状态下,自锁式按键按下时PowerKey键直接接地,
接上电池即可开机;自锁式按键弹起时,可使用USB更新系统;开机状态下,关机可将自锁式按键按下,系统将出现关机对话框,即可点击关机按钮关机;
息屏系统休眠可按下自锁式按键,再按弹起即可唤醒
`
更多回帖