fix: verify both PM807 longkey channels

This commit is contained in:
chenjintao
2026-09-21 19:59:28 +08:00
parent 9694b7586f
commit 430a3e3381
+11 -3
View File
@@ -3786,20 +3786,28 @@ void PMIC_Phase2Init(void)
GuilinLite3ClkInit(); GuilinLite3ClkInit();
longkey_e3 = PMIC_READ_REG_BASE(GUILIN_LITE3_RTC_MISC_3_REG); longkey_e3 = PMIC_READ_REG_BASE(GUILIN_LITE3_RTC_MISC_3_REG);
longkey_e4 = PMIC_READ_REG_BASE(GUILIN_LITE3_CLK_32K_SEL_REG); longkey_e4 = PMIC_READ_REG_BASE(GUILIN_LITE3_CLK_32K_SEL_REG);
uart_printf("PM807 LONGKEY before: E3=0x%x time=%ds E4=0x%x en1=%d en2=%d\r\n", RTI_LOG("PM807 LONGKEY before: E3=0x%x time=%ds E4=0x%x en1=%d en2=%d",
longkey_e3, (((longkey_e3 >> 4) & 0x0f) + 1), longkey_e4, longkey_e3, (((longkey_e3 >> 4) & 0x0f) + 1), longkey_e4,
!!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN1), !!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN1),
!!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN2)); !!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN2));
PM812_SET_LONKEY_PRESS_TIME(10); PM812_SET_LONKEY_PRESS_TIME(10);
PM812_LONKEY_ENABLE_SET(GUILIN_LITE3_LONGKEY_1, TRUE); PM812_LONKEY_ENABLE_SET(GUILIN_LITE3_LONGKEY_1, TRUE);
PM812_LONKEY_ENABLE_SET(GUILIN_LITE3_LONGKEY_2, TRUE);
longkey_e3 = PMIC_READ_REG_BASE(GUILIN_LITE3_RTC_MISC_3_REG); longkey_e3 = PMIC_READ_REG_BASE(GUILIN_LITE3_RTC_MISC_3_REG);
longkey_e4 = PMIC_READ_REG_BASE(GUILIN_LITE3_CLK_32K_SEL_REG); longkey_e4 = PMIC_READ_REG_BASE(GUILIN_LITE3_CLK_32K_SEL_REG);
uart_printf("PM807 LONGKEY after: E3=0x%x time=%ds E4=0x%x en1=%d en2=%d\r\n", RTI_LOG("PM807 LONGKEY after: E3=0x%x time=%ds E4=0x%x en1=%d en2=%d",
longkey_e3, (((longkey_e3 >> 4) & 0x0f) + 1), longkey_e4, longkey_e3, (((longkey_e3 >> 4) & 0x0f) + 1), longkey_e4,
!!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN1), !!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN1),
!!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN2)); !!(longkey_e4 & GUILIN_LITE3_LONGKEY_EN2));
if ((((longkey_e3 >> 4) & 0x0f) != 9) ||
((longkey_e4 & (GUILIN_LITE3_LONGKEY_EN1 | GUILIN_LITE3_LONGKEY_EN2)) !=
(GUILIN_LITE3_LONGKEY_EN1 | GUILIN_LITE3_LONGKEY_EN2)))
{
RTI_LOG("PM807 LONGKEY configure failed: E3=0x%x E4=0x%x",
longkey_e3, longkey_e4);
}
// GuilinLite3_VBUCK1_Set_FPWM(); // GuilinLite3_VBUCK1_Set_FPWM();
break; break;
#endif #endif
@@ -4304,7 +4312,7 @@ void PM812_SET_LONKEY_PRESS_TIME(UINT8 sec)
{ {
if ((sec < 1) || (sec > 16)) if ((sec < 1) || (sec > 16))
{ {
uart_printf("PM807 invalid LONGKEY time: %d\r\n", sec); RTI_LOG("PM807 invalid LONGKEY time: %d", sec);
return; return;
} }