Dram retention mode

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

Dram retention mode

1,730 Views
abdrhmn
Contributor I

Hi,

I am working on imx8ulp power optimization.

I am interested to know more on the dram_enter_retention mode and dram_exit_retention mode.

1) Other than observing the current usage, How to know that it is already in retention mode? 

2) Is the retention mode only work in shared ram?

3) If calling the retention mode causing the system hang, what would be the culprit?

4) If calling the dram_exit_retention mode causing the current a bit higher (than before calling it), what is the reason?

 

Thanks!

 

Labels (1)
0 Kudos
Reply
5 Replies

1,641 Views
abdrhmn
Contributor I

Hi,

If the system I'm working on using lpddr. How can I make this work?

0 Kudos
Reply

1,609 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,

The functions in plat/imx/imx8ulp/dram.c(imx-atf) have been done for different DRAMs, LPDDR4 & LPDDR3. There are still some spaces to optimize power consumption, please refer  AN13951 


Best Regards,
Zhiming

0 Kudos
Reply

1,575 Views
abdrhmn
Contributor I
Hi,

I recently trying the API that you provided in the SDK (board.c)

The test is quite simple. 

1) Create a timer about 30s
2) Call BOARD_DramEnterRetention + WFI()
3) when timer expired, trigger the interrupt and call BOARD_DramExitRetention()

I could see some current changes when in retention mode. However, it seems not able to exit.

May I know why when calling BOARD_DramExitRetention(), the A core is not wake up and the M Core is dead?
0 Kudos
Reply

1,572 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,

To test Dram retention and exit, please use power_mode_switch demo and refer the api in power_mode_switch.c.


Best Regards,
Zhiming

0 Kudos
Reply

1,700 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hello,
Q1: Other than observing the current usage, How to know that it is already in retention mode? 

-->There is no other way to make observations, these functions are tested and there is no need to worry about it not being triggered correctly.

Q2: Is the retention mode only work in shared ram?

-->Yes

Q3: If calling the retention mode causing the system hang, what would be the culprit?

-->Have you made any changes to the code for this feature?

Q4 : If calling the dram_exit_retention mode causing the current a bit higher (than before calling it), what is the reason?

-->dram_exit_retention will recover DDR clocks and enable DDR PHY, so the current going to high is reasonable

Best Regards,
Zhiming

0 Kudos
Reply