How to Put IMX6 solo in WFI mode in uboot.
I am trying to put the IMX6 solo processor in WFI interrupt mode, when there is not operation.
But when a button is pressed it should exit for WFI mode.
I have created a command wfi which executes wfi asm instruction.
int do_wfi (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
printf("Entering WFI mode\n");
__asm__ volatile("wfi");
printf("Exiting WFI mode\n");
return 0;
}
From command mode I am setting the registers to configure the interrupt.
For configuring GPIO as interrupt
mw.l 0x20AC010 0x100000 1
mw.l 0x20AC014 0x100000 1
mw.l 0x20AC018 0xFFFFFFFF 1
Set the mask on GIC
mw.l 0x20DC010 0x800 1
Then run the command wfi on uboot command line, the processor appears to enter wfi mode , but not waking up from wif mode when the button is pressed.
Am I missing any steps or is there any mistake. Please help