DDR Suspend mode

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

DDR Suspend mode

1,398件の閲覧回数
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 件の賞賛
返信
6 返答(返信)

1,257件の閲覧回数
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 件の賞賛
返信

1,240件の閲覧回数
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 件の賞賛
返信

1,382件の閲覧回数
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 件の賞賛
返信

1,378件の閲覧回数
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 件の賞賛
返信

1,367件の閲覧回数
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 件の賞賛
返信

1,361件の閲覧回数
Lakshmi_AG
Contributor III
imx8qm
0 件の賞賛
返信