Power Management

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Power Management

Jump to solution
1,356 Views
vinothkumars
Senior Contributor IV
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,
Regards,
Vinothkumar Sekar
Labels (1)
0 Kudos
1 Solution
1,208 Views
vinothkumars
Senior Contributor IV

Solution here,

https://community.nxp.com/thread/536002 

Regards,

VinothS.

Regards,
Vinothkumar Sekar

View solution in original post

0 Kudos
6 Replies
1,209 Views
vinothkumars
Senior Contributor IV

Solution here,

https://community.nxp.com/thread/536002 

Regards,

VinothS.

Regards,
Vinothkumar Sekar
0 Kudos
1,208 Views
vinothkumars
Senior Contributor IV

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,

Regards,
Vinothkumar Sekar
0 Kudos
1,208 Views
gusarambula
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
1,208 Views
vinothkumars
Senior Contributor IV

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,

Regards,
Vinothkumar Sekar
0 Kudos
1,208 Views
gusarambula
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
1,208 Views
vinothkumars
Senior Contributor IV

Thank you Gusarambula thank you for the reply.

Thanks & Regards,

VinothS,

Regards,
Vinothkumar Sekar
0 Kudos