Hi there,
Please let me know the VTP control register configuration in suspend mode.
I tried to use a PM suspend/resume function in our custom board. Our board have AM3352, PMIC(TPS65217C) and DDR3(2x8bit) memory.There is a difference of power consumptioin by the vtp_ctrl register configuration. if the VTP is disabled(vtp_ctrl register[6]=0) and the lock bit is set to 1 (vtp_ctrl register[4]=1) , our board can resume correctly from suspend. In this condition, the power consumption is reduced from 2W to 0.5W. However, if the VTP is disabled (vtp_ctrl register[6]=0) and the lock bit is set to 0(vtp_ctrl register[4]=0), our board can not resume correctly from suspend. In this condition, the power consumption is reduced from 2W to 0.2W. It's pretty good the power consumption of 0.5W. If possible, I want to reduce the power consumption to 0.2W.
Is there any process or configuration according to the vtp_ctrl register?
I got the suspend/resume process from CM3 firmware as follows.
http://arago-project.org/git/projects/?p=am33x-cm3.git;a=summary
our standby process is as follows.
@AM335x 1. Save EMIF power management regs 2. Save EMIF configuration 3. Put SDRAM in self-refresh 4. WFI @Cortex-M3 5. set_ddr_reset: - hold DDR_RESET high via control module 6. ddr_io_suspend: - Weak pull down for DQ, DM - Weak pull down for macro CMD0/1 - Weak pull down for macro CMD2 7. vtp_disable: - VTP0_CTRL_REG <- 0x00000000 (DDR3) 8. ldo_power_down: - MPU Power Down 9. pll_bypass - CORE - DDR - DISP - PER - MPU 10. MPU power domain state change 11. clkdm_sleep: - CLKDM_MPU wake-up process is as follows. @Cortex-M3 1. a8_wakeup_standby_handler 2. pll_lock - MPU - PER - DISP - DDR - CORE 3. ldp_power_up: - MPU Power Up 4. vtp_enable: 5. hwmod_enable: - EMIF 6. ddr_io_resume: - Disable the pull for CMD2/1/0 - Disable the pull for DATA1/0 7. clear_ddr_reset: - make DDR_RESET low via control module 8. disable IRQs 9. pm_reset 10. enable MBX IRQ 11. hwmod_enable: - MPU @AM335x
The following log shows rtcwake command result in our board.
:~# rtcwake rtcwake -d rtc1 -m standby -s 30 -v
Using UTC time.
delta = -1
tzone = 0
tzname = UTC
systime = 1401790269, (UTC) Tue Jun 3 10:11:09 2014
rtctime = 1401790270, (UTC) Tue Jun 3 10:11:10 2014
alarm 0, sys_time 1401790269, rtc_time 1401790270, seconds 30
rtcwake: wakeup from "standby" using /dev/rtc1 at Tue Jun 3 10:11:41 2014
suspend mode: standby; suspending system
:~#
Best Regards,
Kumac