RT685 DPD wake via PMIC_IRQ_N not working HW: RT685 + PCA9420, PMIC_IRQ_N connected to RT685 dedicated pin. Problem: POWER_EnterDeepPowerDown(exclude_from_pd={0,0,0,0}) → MCU loses power (VDDCORE off). Pull PMIC_IRQ_N low → no wake. Manually shorting PMIC_IRQ_N to GND for ~1s also does not wake. Code before entry : BOARD_InitPmic(); BOARD_ConfigPMICModes(); BOARD_SetPmicVoltageBeforeDeepPowerDown(); POWER_EnableInterrupts(kPMC_INT_INTRPAD); EnableDeepSleepIRQ(PMC_PMIC_IRQn); BOARD_EnterDeepPowerDown(exclude_from_pd); ``` PMC->FLAGS after failed wake: 0x60170000, DEEPPDF (bit31) = 0. WAKE_UP_WITH_PMIC_IRQ_N = 1. Questions : Is additional RT685-side config needed to make PMIC_IRQ_N a valid DPD wake source? Does PCA9420 stop driving PMIC_IRQ_N when VDDCORE is cut via DPD Anyone successfully used PMIC_IRQ_N to wake RT685 from DPD? Working config? i.MX-RT600 SERVER-POWER-CONTROL Power Re: RT685 DPD wake via PMIC_IRQ_N not working Hi @wx1 ,
Regarding PMC->FLAGS after failed wake: 0x60170000, DEEPPDF (bit31) = 0. WAKE_UP_WITH_PMIC_IRQ_N = 1. The reason to have this result is due to that DEEPPDF (bit 31 of PMC->FLAGS ) is only set when the MCU successfully completes a full DPD cycle and wakes from it. A value of 0 means the MCU never cleanly entered DPD. The co-existing WAKE_UP_WITH_PMIC_IRQ_N = 1 tells you that the PMC detected a low pulse on PMIC_IRQ_N, but the DPD state was never committed. This pattern almost always means PMIC_IRQ_N was already asserted (logic-low) at the moment DPD entry was attempted, causing an immediate phantom wake before DPD could latch.
When PMIC_MODE[1:0] transitions to 0b10 (DPD mode, VDDCORE off), the PCA9420 internally detects that SW1_OUT is dropping. This can trigger a brief INTB pulse due to the PCA9420's voltage supervisor logic firing on the SW1 output. If that pulse reaches the PMC before DPD is fully committed, you get exactly what you are seeing.
Is additional RT685-side config needed to make PMIC_IRQ_N a valid DPD wake source?
Before arming DPD, drain any pending PCA9420 interrupts so that INTB is deasserted (high) when DPD latches.
Does PCA9420 stop driving PMIC_IRQ_N when VDDCORE is cut via DPD
PMIC_IRQ_N is on the VDD_AO1V8 always-on domain, which stays powered throughout DPD. The PCA9420 INTB output is open-drain and powered from VIN, so as long as VIN (your system supply) is present the PCA9420 can still drive INTB low.
Hope that makes sense,
Have a great day, Kan
------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
View full article