平台本身开机是通过长按 PowerKey 3S 才能正常开机,但有些平台可以通过配置 PMIC 的寄存器来实现,却有些平台实现不了,因此用如下硬件方案实现是靠谱的。
GPIO120_PWK 开机默认是之前是低电平,Q601 截止,Q602 导通,PWRKEY 接地,类似于按下 PowerKey 按键,实现开机,开机之后,屏背光亮后,在显示驱动出控制 GPIO120_PWK 输出高电平,Q601 导通,Q602 截止,类似于松开 PowerKey,从而实现上电开机。VBUS 网络二极管接到 GPIO120_PWK 是为了在使用 USB 下载的时候,释放 PowerKey 按键。
软件上面处理方式(以MT6765为例):
+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/platform/mt6765/disp_lcm.c
@@ -996,12 +996,24 @@ extern int ddp_dsi_dump(DISP_MODULE_ENUM module, int level);
extern int DSI_BIST_Pattern_Test(DISP_MODULE_ENUM module, void* cmdq, bool enable, unsigned int color);
extern int ddp_dsi_start(DISP_MODULE_ENUM module, cmdqRecHandle cmdq);
+#define NM_PWRKEY_BOOTUP_SUPPORT
+#if defined(NM_PWRKEY_BOOTUP_SUPPORT)
+#define GPIO_POWERKEY