搜索

430

主题

515

帖子

2136

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2136
QQ
发表于 2020-8-20 18:14:11 7426 浏览 0 回复

MT8788/MT6771 如何长按开机键关机而不是重启?

在preloader內判断前次关机是否为长按关机,若是则必须等到pwrkey release 才会继续boot flow;
In vendor\mediatek\proprietary\bootable\bootloader\preloader\platform\mt6771\src\drivers\keypad.c

  1. bool mtk_detect_key(unsigned short key)  /* key: HW keycode */
  2. {
  3. ...
  4. U32 just_rst;
  5. int itimeout = 200; /* set timeout for 20 sec */
  6. ...
  7. if (key == MTK_PMIC_PWR_KEY) {
  8.   just_rst = is_pmic_long_press_reset();
  9.   if (just_rst) {
  10.   while (itimeout--) {
  11.    mdelay(100);
  12.    pmic_config_interface(PMIC_RG_STRUP_PWRKEY_COUNT_RESET_ADDR, 0x1, 0x1, 0);
  13.    platform_wdt_kick();
  14.    printf("[%s] timeout %d", __func__, itimeout);
  15.    if (!(pmic_detect_powerkey())) {
  16.     return false;
  17.    }
  18.   }
  19. }
  20. ...
  21. }
复制代码




手机微信同号:13682654092
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表