MTK8127_FB710项目调试长按power键重启改动

来源:互联网 发布:网络销售工作12小时 编辑:程序博客网 时间:2024/06/06 01:18

客户有需求需要长按power键进行重启

 调试过程:

          1.现在版本机器上实现的长按power键进入强制关机,继续长按无法重启
          2.由于硬件上存在强制关机电路,无法在保证强制关机的基础上加入重启功能,也就是强制关机和强制重启只能保留一个。
             现有驱动软件配置的就是长按power键11s会进入重启,但是由于强制关机电路的存在,所以实现的是长按会强制关机。
         3. 去掉U1402芯片后,使用现有的软件版本长按power键 11S之后可以实现重启功能(保证长按11S,中间不断),长按时间可以调整修改:8s、11s、14s、5s。

  如果需要实现长按power重启,需要在硬件上作出改造,现有的软件版本可以直接实现,附件是改造说明。

有些项目的电池是内置电池,也就是无法拔下电池的话,

当出现系统异常的时候,

可以选择长摁powerkey或者长摁powerkey+homekey来实现reset或者shutdown phone功能

 

[SOLUTION]

1. kernel中长摁powerkey实现reset

   alps\mediatek\custom\$(project)\kernel\kpd\kpd\mtk_kpd.h

    #define ONEKEY_REBOOT_NORMAL_MODE

    //#define TWOKEY_REBOOT_NORMAL_MODE

    #defineKPD_PMIC_LPRST_TD 1 /*timeput period 0: 8sec 1:11sec 2:14sec 3:5sec*/

      这里可以根据需要选择timeout的值

2. kernel中长摁powerkey+homekey实现reset

     alps\mediatek\custom\$(project)\kernel\kpd\kpd\mtk_kpd.h

     //#defineONEKEY_REBOOT_NORMAL_MODE

     #defineTWOKEY_REBOOT_NORMAL_MODE

     #define KPD_PMIC_LPRST_TD 1 /*timeputperiod 0: 7sec 1: 11sec 2:14sec 3:5ec*/

    请注意,homekey一定要事先定义好(FCHR_ENB对应的硬体key)

3. preloader中长摁powerkey实现reset

   alps\mediatek\platform\mt6582\preloader\src\drivers\inc\keypad.h

   #defineKPD_PMIC_LPRST_TD 1 /*timeput period 0: 8sec 1:11sec 2:14sec 3:5sec*/

  #define ONEKYE_REBOOT_NORMAL_MODE_PL

  //#define TWOKYE_REBOOT_NORMAL_MODE_PL

4. preloader中长摁powerkey+homekey实现reset

   alps\mediatek\platform\mt6582\preloader\src\drivers\inc\keypad.h

   #defineKPD_PMIC_LPRST_TD 1 /*timeput period 0: 8sec 1:11sec 2:14sec 3:5sec*/

  //#define ONEKYE_REBOOT_NORMAL_MODE_PL

  #define TWOKYE_REBOOT_NORMAL_MODE_PL

 

长摁powerkey或者powerkey+homekey实现shutdown功能,

 实在以上实现的基础上,修改如下code

 alps\mediatek\platform\mt6582\preloader\src\drivers\keypad.c

 mtk_detect_key()

 if(key== 8)

    #if 0 //修改为#if  1

    pmic_read_interface(0x04A, &just_rst,0x01, 14);

    if(just_rst)

    {

            pmic_config_interface(0x04A, 0x01, 0x01, 4);

            print("Just recover from a reset\n");

            return false;

    }

    #endif


0 0
原创粉丝点击