DDR Suspend mode

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

DDR Suspend mode

1,397 Views
Lakshmi_AG
Contributor III

Hello,

I want to figure out how imx8m low power management is done in DDR during a power glitch.

 

1. How to command the scu to put DDR to self refresh mode from one of A53.

2. Once DDR is in self refresh mode, will A53 crash if so how to we send command to scu to run DDR in normal mode once good power signal is receivd.

 

0 Kudos
Reply
6 Replies

1,256 Views
Lakshmi_AG
Contributor III

Still waiting for the response:

We are trying to put all cores(A53) to suspend and DDR to self refresh mode, so my question in once we put all cores to suspend mode by sending command to SCFW, how to drive DDR to self-refresh mode, can we do same from SCFW or any other approach.

 

And since A53 is in suspend, how to resume to normal on GIC.

0 Kudos
Reply

1,239 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

 

 

Interrupts from each subsystem are mapped on both GIC and interrupt steer and have the
same index starting at 32.

Interrupt Steer is used to route interrupts to the two M4 subsystems and the SCU. GIC500 is used to route interrupts to A53 and A72

Qmiller_2-1681355623563.png

 

how to drive DDR to self-refresh mode

--> Please refer these API in  sc_fw_port.pdf

 

Qmiller_3-1681358686185.png

 

And since A53 is in suspend, how to resume to normal on GIC.

-> You can refer imx_domain_suspend_finish function

 

 

0 Kudos
Reply

1,381 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

From code layer, the DDR self refresh mode is realized by below code in ATF.

https://github.com/nxp-imx/imx-atf/blob/lf_v2.6/plat/imx/imx8m/ddr/dram_retention.c

You can refer the code design.

void self_refresh_enter()
{
	mmio_setbits_32(DDR_SDRAM_CFG_2, BIT(31));
}

void self_refresh_exit()
{
	mmio_clrbits_32(DDR_SDRAM_CFG_2,BIT(31));
}

 

0 Kudos
Reply

1,377 Views
Lakshmi_AG
Contributor III

Thank you for the quick response.

To my second question,

We are trying to put all cores to suspend and DDR to self refresh mode, so my question in once we put all cores to suspend mode by sending command to SCFW, how to drive DDR to self-refresh mode, can we do same from SCFW or any other approach.

0 Kudos
Reply

1,366 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello @Lakshmi_AG 

Which board you are using? From the first description , you are using i.MX8M. But this board doesn't support SCFW. The SCFW is used by i.MX8QM/QXP.

BR

Zhiming

0 Kudos
Reply

1,360 Views
Lakshmi_AG
Contributor III
imx8qm
0 Kudos
Reply