This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: Linux
Hello team,
I'm facing some stability issues during wakeup from deepsleep and hence I want to add some debug points in the resume code. I'm trying to set some GPIOs high during wakeup by directly writing to registers from ti_emif_exit_sr method in ti-emif-sram-pm.S . I chose gpio0_2 as I assume gpio0 to be alive during sleep-wakeup scenario since it can be configured as a wakeup source.
I'm adding the below changes in drivers/memory/ti-emif-sram-pm.S
ENTRY(ti_emif_exit_sr)
// Code to exit self refresh mode
+ /* Enable GPIO0 clock */
+ ldr r2, =0x44E00408 /* CM_WKUP_GPIO0_CLKCTRL */
+ ldr r4, =0x2
+ str r4, [r2]
+ /* Enable GPIO0 module */
+ ldr r2, =0x44E07130 /* GPIO_CTRL */
+ ldr r4, =0x2
+ str r4, [r2]
+ /* Set GPIO0_2 pad configuration */
+ ldr r2, =0x44E10950 /* conf_spi0_sclk */
+ ldr r4, =0x7
+ str r4, [r2]
+ /* Modify GPIO0 sysconfig to no-idle mode */
+ ldr r2, =0x44E07010 /* GPIO_SYSCONFIG */
+ ldr r4, =0xC
+ str r4, [r2]
+ /* Set direction */
+ ldr r2, =0x44E07134
+ ldr r4, =0xFFFFFFDB
+ str r4, [r2]
+ /* Set GPIO high */
+ ldr r2, =0x44E0713C
+ ldr r4, =0x0
+ str r4, [r2]
+ ldr r4, =0x4
+ str r4, [r2]
However the device hangs during wakeup. Can someone tell me what I'm doing wrong here ? I tried the same change from am33xx_resume_from_deep_sleep method in arch/arm/mach-omap2/sleep33xx.S and there also it hanged.
If anyone could suggest me the best way to do this, that would be really helpful.
Regards,
Jayadev
Hi Pavel,
I've tried updating the dts node entries with the options you specified, but that did not help in this case.
Regards,
Jayadev