ARM技术论坛
直播中

龙极梁

6年用户 39经验值
私信 关注
[资料]

mt8735如何实现插上电池自动开机

`
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.cpmic_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更新系统;开机状态下,关机可将自锁式按键按下,系统将出现关机对话框,即可点击关机按钮关机;
息屏系统休眠可按下自锁式按键,再按弹起即可唤醒


` MT8735开发板

更多回帖

发帖
×
20
完善资料,
赚取积分