hi all: how to process DM355 EVM to DEEP sleeep?
thx
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I do not believe there is support in the kernel software to do this yet; but the ARM subsystem guide (http://focus.ti.com/lit/ug/sprufb3/sprufb3.pdf ) would be a good place to start looking on how you need to configure the hardware to sleep
The Deep Sleep power down process works as follows:
· The ARM prepares for power down, typically after an external microcontroller notifies the ARM to
prepare for power down via an interrupt or serial communication.
· The ARM puts DRR in its self-refresh state. Program in DDR is preserved while DDR is in its
self-refresh state. In the case of mDDR, you may utilize Partial Array Self Refresh (PASR) for
additional power savings.
· To reduce the chip stand by power, it is advised to power down all the analog blocks (PLL cores, DDR
PHY DLL, DDR PHY, USB PHY, Video DAC, and CCP PHY).
· The ARM sets SLEEPENABLE in register DEEPSLEEP in the System module.
· The ARM informs the microcontroller that it has initiated Deep Sleep and begins polling
SLEEPCOMPLETE in DEEPSLEEP. During the recovery process, the ARM will wake up and detect
that SLEEPCOMPLETE has changed.
· The microcontroller transitions GIO0 from high to low and then continues to hold GIO0 low (for a
minimum of 500 ns) until it desires to exit Deep Sleep mode. The transition of GIO0 from high to low
creates a clock pulse advancing the Deep Sleep state machine. After this transition, all clocks are
stopped and then the internal oscillators are powered down.
· At this point, the DM355 is in Deep Sleep mode; power is reduced to a minimum.
The Deep Sleep wake up process works as follows:
· To initiate the wake up process, the microcontroller transitions GIO0 from low to high. This transition
creates a clock pulse advancing the Deep Sleep state machine. After this transition, the oscillators are
powered up and allowed to stabilize and then all clocks are restarted.
· The ARM detects that SLEEPCOMPLETE has changed
· The ARM clears SLEEPENABLE in register DEEPSLEEP
· The ARM brings DDR out of self refresh.
· At this point the ARM resumes normal operation. The ARM may branch to program code preserved in
DDR. Register states are preseved.
You would have to perform the steps described in the ARM subsystem guide in your hardware and software to utilize the deep sleep mode, as Juan mentioned this is not currently supported by the Linux software stack so it would require your custom implementation.
I want to bring dm365 to deep sleep ? May i use linux software to make it ?I look the state of dm365 ,it has STD STR and power of suspend,through these state can i take it to deepsleeep.
last question :in platform of dm365,what is the smallest power consumption?
thank!
King King,
DM365 has deep sleep mode. There is no support for deep sleep mode for DM365 in any current version of the TI PSP (drivers) that I am aware of, the open source community might support it. As mentioned in this other forum post
The smallest power consumption is estimated by the power spreadsheet located here : http://www.ti.com/litv/pdf/sprab68.
The details of putting the device in deepsleep mode is listed in the dm36x ARM Subsystem guide section 12.5.1.
regards,
miguel
i have the linux kernel contain /drivers/acpi/sleep.They have the code about sleep,STD ,STR.
I am configuring the kernel,in the *kconfig there is the option:
bool "Suspend to RAM and standby"
depends on PM && ARCH_SUSPEND_POSSIBLE.
what is this mean?
King,
Is this Kernerl from TI? or from open source community? I have no idea on what those comments mean, is there a way you can ask the Kernel developer? If this is from TI then I can try to move this post to the software team forums.
regards,
miguel
Yes,it is from TI. MontaVista Linux
and i have some question about dm365:
1:the ddr2 can be powered down?
2:the linux on the platform dm365 can be launched in 2 seconds.
thank you !
King,
asnwers embedded.
1:the ddr2 can be powered down?
answer1: You can but it will loose all your data :), so for deep sleep mode we recommend self-refresh mode for the lowest power consumption, and in the steps for putting the dm355 into deep sleep we turn off the DDR PHY and DDR PLL etc.. already.
2:the linux on the platform dm365 can be launched in 2 seconds.
answer2: I don't know about this question, I will move this post to the software forum so the right audience can comment better.
regards,
miguel
Moving to Linux forum for the right audience to help answer this question..
"do you know the XIP(execute in place )in linux launch?"
montavista linux 2.6.18 on dm365. how to start it within 2 second.
U-Boot 1.2.0 (Jan 6 2010 - 16:40:36)
I2C: ready
DRAM: 256 MB
MY AMD Flash: 16 MB
In: serial
Out: serial
Err: serial
ARM Clock :- 495MHz
DDR Clock :- 330MHz
Hit any key to stop autoboot: 0
## Booting image at 42040000 ...
Image Name: Linux-2.6.10_mvl401-davinci_evm-
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 736252 Bytes = 719 kB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux.................................................... done, booting the kernel.
Linux version 2.6.10_mvl401-davinci_evm-PSP_01_30_00_070 (root@localhost.localdomain) (gcc version 3.4.3 (MontaVista 3.4.3-25.0.104.0600975 2006-07-06)) #12 Sun Oct 24 10:28:34 CST 2010
CPU: ARM926EJ-Sid(wb) [41069265] revision 5 (ARMv5TEJ)
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Machine: DaVinci DM6467 EVM
Memory policy: ECC disabled, Data cache writeback
DM6467
Built 1 zonelists
Kernel command line: mem=120M console=ttyS0,115200n8 root=/dev/mtdblock3 rootfstype=jffs2 noinitrd rw video=dm64xxfb:output=pal
PID hash table entries: 512 (order: 9, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 120MB = 120MB total
Memory: 119936KB available (1205K code, 283K data, 128K init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
spawn_desched_task(00000000)
desched cpu_callback 3/00000000
ksoftirqd started up.
desched cpu_callback 2/00000000
desched thread 0 started up.
Linux NoNET1.0 for Linux 2.6
DaVinci: 48 gpio irqs
Registering platform device 'serial8250.0'. Parent at platform
Registering platform device 'musb_hdrc'. Parent at platform
Registering platform device 'nor_davinci.0'. Parent at platform
DaVinci I2C DEBUG: 10:28:05 Oct 24 2010
Registering platform device 'i2c'. Parent at platform
SCSI subsystem initialized
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
Registering platform device 'DavinciHD_vdce.2'. Parent at platform
Registering platform device 'relay_ctrl_dvs'. Parent at platform
Registering platform device 'tlp121'. Parent at platform
Major:253 Minor:0
chdrv: Driver initialized.
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
Registering platform device 'serial8250'. Parent at platform
ttyS0 at MMIO 0x1c20000 (irq = 40) is a ST16654
ttyS1 at MMIO 0x1c20400 (irq = 41) is a ST16650V2
io scheduler noop registered
RAMDISK driver initialized: 1 RAM disks of 8192K size 1024 blocksize
i2c /dev entries driver
elevator: using noop as default io scheduler
DaVinci flash: probing 16-bit flash bus
DaVinci flash: Found 1 x16 devices at 0x0 in 16-bit bank
Amd/Fujitsu Extended Query Table at 0x0040
DaVinci flash: CFI does not contain boot bank location. Assuming top.
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Creating 4 MTD partitions on "DaVinci flash":
0x00000000-0x00020000 : "bootloader"
0x00020000-0x00040000 : "params"
0x00040000-0x00240000 : "kernel"
0x00240000-0x01000000 : "filesystem"
mice: PS/2 mouse device common for all mice
before this the speed is quick enouch.
but after this the speed is slow. so the total time is long about 10second.
VFS: Mounted root (jffs2 filesystem).
Freeing init memory: 128K
Warning: unable to open an initial console.
MontaVista(R) Linux(R) Professional Edition 4.0.1 (0600980)
(none) login:
King King,
I would recommend to please initiate a new forum post for your recent request (particularly on the DM365 Embedded Linux forum), since the issue has a different scope of questions with regard to kernel boot timing vs functionality of deepsleep.
One observation that I wanted to point out from your log from the Hardware perspective was that it mentions the ARM/DDR speeds to be ARM Clock :- 495MHz & DDR Clock :- 330MHz, and this is a violation of the DM365 device specification of maximum of 300MHZ ARM, 270MHZ DDR.
regards,
miguel
hello,
mr.king i need help from u ,
can u suggest me the steps to install the dm365,
how to execute the EVM mode,& etc
with anticipation
vigneshwaran seka