GraceH

Sometimes MX28 can't wake up from standby mode. -blog archive

Discussion created by GraceH Employee on Apr 3, 2012

The solution is to remove the code to set DDR mode 1 of HW_PINCTRL_EMI_DS_CTRL before enter standby and also remove the code to set DDR mode 3 after resume in sleep.S

When set mode 1 (DISABLED — low power suspend mode, in which EMI pads are disabled), the CKE line will be float. If there is interfere affect the PIN, system may not wake up.

 

 

 

sleep.S

//mov r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0x000000FF)
//orr r0, r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0x0000FF00)
//orr r0, r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0x00FF0000)
//orr r0, r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0xFF000000)
//ldr r1, [r0]
//and r1, r1, #(~BM_PINCTRL_EMI_DS_CTRL_DDR_MODE)
//orr r1, r1, #(BF_PINCTRL_EMI_DS_CTRL_DDR_MODE(0x1))
//str r1, [r0]

 

...

...

 

 

//mov r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0x000000FF)
//orr r0, r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0x0000FF00)
//orr r0, r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0x00FF0000)
//orr r0, r0, #(HW_PINCTRL_EMI_DS_CTRL_ADDR & 0xFF000000)
//ldr r1, [r0]
//and r1, r1, #(~BM_PINCTRL_EMI_DS_CTRL_DDR_MODE)
//orr r1, r1, #(BF_PINCTRL_EMI_DS_CTRL_DDR_MODE(3))
//str r1, [r0]

Outcomes