Power Management

cancel
Showing results for 
Search instead for 
Did you mean: 

Power Management

Jump to solution
159 Views
Senior Contributor III
Hi All,
We are implementing the Power Management for Android Automotive on NXP  IMX8QM-MEK board.
 
As a part of the implementation, we want to know: 
Does schematic of IMX8QM-MEK board is matching with the way Android is described?
 
Please have a look at the following Hardware block diagram. 
 
 
Does IMX8QM-MEK board have any specific way of handling Power management? If there is any reference for implementation please share.
Hardware blocks
Thanks & Regards,
VinothS,
Vinoth S
Labels (1)
0 Kudos
1 Solution
11 Views
Senior Contributor III
0 Kudos
6 Replies
12 Views
Senior Contributor III
0 Kudos
11 Views
Senior Contributor III

Hi,

I configured System Control Register for Deep sleep but system is not going to deep sleep.

status = ASMC_SetPowerModeStop(BBS_SIM, kASMC_PartialStop1);

/*!
 * brief Configure the system to Stop power mode.
 *
 * param base ASMC peripheral base address.
 * param  option Partial Stop mode option.
 * return ASMC configuration error code.
 */
status_t ASMC_SetPowerModeStop(ASMC_Type *base, asmc_partial_stop_option_t option)
{
    uint32_t reg;
    PRINTF("%s ++++++++++++++++++++++++++\r\n", __func__);
    /* configure the Partial Stop mode in Normal Stop mode */
    reg = base->STOPCTRL;
    reg &= ~ASMC_STOPCTRL_PSTOPO_MASK;
    reg |= ((uint32_t)option << ASMC_STOPCTRL_PSTOPO_SHIFT);
    base->STOPCTRL = reg;

    /* configure Normal Stop mode */
    reg = base->PMCTRL;
    reg &= ~ASMC_PMCTRL_STOPM_MASK;
    reg |= (kASMC_StopNormal << ASMC_PMCTRL_STOPM_SHIFT);
    base->PMCTRL = reg;

    /* Set the SLEEPDEEP bit to enable deep sleep mode (stop mode) */
    SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
    PRINTF("%s ++++++++++++++++++++++++++ SCB->SCR: 0x%x\r\n", __func__, SCB->SCR);

    /* read back to make sure the configuration valid before entering stop mode */
    (void)base->PMCTRL;
    __DSB();
    __WFI();
    __ISB();

    PRINTF("%s ------------------------\r\n", __func__);
    return kStatus_Success;
}

Ref: https://static.docs.arm.com/dui0553/a/DUI0553A_cortex_m4_dgug.pdf 

Thanks & Regards,

VinothS,

Vinoth S
0 Kudos
11 Views
NXP TechSupport
NXP TechSupport

Hello VinothS,

The implementation mentioned on the link you shared would refer to a vehicle implementation.

The i.MX8QM-MEK uses PMICs and instead of using the Linux Power management like other i.MX processors, power is handled by the System Controller. You can find more information on the i.MX8QM Documentation. The Android Automotive BSP for the i.MX8QM does integrate the Android Power HAL.

I hope this helps!
Regards,

0 Kudos
11 Views
Senior Contributor III

Hi Gusarambula thank you for the reply,

Will you please provide IMX8QM-MEK power management document for sleep and wake up A35 from M4.

Thanks & Regards,

VinothS,

Vinoth S
0 Kudos
11 Views
NXP TechSupport
NXP TechSupport

Hello VinothS,

Some of the i.MX8QM documentation is not publicly available, like the Reference Manual, so you may open a case and request to sign an NDA to request access.

As for the SCFW documentation, please search for the SCFW Porting Kit under the Linux BSPs on the Prereleases BSP page on the link below (you may need to login to download this file):

https://www.nxp.com/pages/alpha-beta-bsps-for-microprocessors:IMXPRERELEASES

My apologies for the inconvenience!

Regards,

0 Kudos
11 Views
Senior Contributor III

Thank you Gusarambula thank you for the reply.

Thanks & Regards,

VinothS,

Vinoth S
0 Kudos