diff options
Diffstat (limited to 'examples/imx7_colibri_m4/low_power_demo/hardware_init.c')
-rw-r--r-- | examples/imx7_colibri_m4/low_power_demo/hardware_init.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/imx7_colibri_m4/low_power_demo/hardware_init.c b/examples/imx7_colibri_m4/low_power_demo/hardware_init.c index 3658b64..aa077b5 100644 --- a/examples/imx7_colibri_m4/low_power_demo/hardware_init.c +++ b/examples/imx7_colibri_m4/low_power_demo/hardware_init.c @@ -33,6 +33,8 @@ void hardware_init(void) { + int i; + /* Board specific RDC settings */ BOARD_RdcInit(); /* Board specific clock settings */ @@ -40,6 +42,23 @@ void hardware_init(void) /* initialize debug uart */ dbg_uart_init(); + /* + * In order to wakeup M4 from LPM, some PLLCTRLs need to be set to "NeededRun" + */ + CCM_BASE_PTR->PLL_CTRL[0].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[6].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[7].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[8].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[9].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[10].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[11].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[12].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[13].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[14].PLL_CTRL = ccmClockNeededRun; + CCM_BASE_PTR->PLL_CTRL[15].PLL_CTRL = ccmClockNeededRun; + + /* Enable clock gate for wakeup mix*/ + CCM_ControlGate(CCM, BOARD_SIM_WAKEUP_CCGR, ccmClockNeededAll); /* In this demo, we need to share board GPIO without RDC SEMAPHORE */ RDC_SetPdapAccess(RDC, rdcPdapGpio1, 0xFF, false, false); RDC_SetPdapAccess(RDC, rdcPdapGpio4, 0xFF, false, false); @@ -58,6 +77,9 @@ void hardware_init(void) CCM_ControlGate(CCM, BOARD_ECSPI_CCM_CCGR, ccmClockNeededAll); /* Configure ecspi pin IOMUX */ configure_ecspi_pins(BOARD_ECSPI_BASEADDR); + + /* Enable MU clock*/ + CCM_ControlGate(CCM, BOARD_MU_CCM_CCGR, ccmClockNeededAll); } /******************************************************************************* |