OMAP35x and AM/DM37x Low Power Standby Support

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   


Contents

Optimizing AM/DM37x For Low Power

This wiki describes steps required to take to demonstrate low power for AM/DM37x devices.

Hardware Configuration

Software Configuration

To obtain lowest possible power, certain configuration changes were made to the default kernel and filesystem.

The kernel is based on PSP 03.00.01.06 SDK release but with the following drivers removed from the kernel defconfig.

The kernel .config used for this experiment can be found below

Kernel.config

The filesystem used is a minimal ramdisk based filesystem with no demo or active applications running by default. Some useful debug utilities like memtool and clock tree browser were included in the filesystem.

The U-Boot and X-Loader used are from the PSP 03.00.01.06 SDK package with no modifications.

Pre-Built Images

The binaries used for the experiment are available below (remove the .m extensions)

AM/DM37x low power standby image

Ramdisk.gz

Booting And Configuring

Preparing For Boot

An MMC/SD based boot mechanism is used. Format the SD card and copy all the required binaries (u-boot.bin, MLO, ramdisk.gz, uImage)

(Please refer to Flashing a SD Card to learn how to flash a SD card)

Also ensure that the EVM switch settings are set correctly for boot from MMC

Configuring U-Boot Environment Variables

Once MMC/SD card is ready, insert it into the slot and power on the EVM. The U-Boot prompt should appear now.

A one time setting of the following environment variables are required. On subsequent reboots this step can be skipped


$ setenv bootcmd 'mmc init; fatload mmc 0 0x80000000 uImage; fatload mmc 0 0x81600000 ramdisk.gz; bootm 0x80000000'
$ setenv bootargs root=/dev/ram0 rw mem=100M console=ttyS0,115200n8 initrd=0x81600000,40M ramdisk_size=40960 ip=dhcp
$ saveenv

Now boot Linux. This can be done by issuing the following command on U-Boot

$ boot

Configuring Linux

Once Linux boots up and prompt becomes available, the following configuration needs to be performed

$ mkdir /dbg
$ mount -t debugfs debugfs /dbg
$ echo 1 > /dbg/pm_debug/sleep_while_idle
$ echo 1 > /dbg/pm_debug/enable_off_mode

The standby sequence can be initiated by doing the following

$ echo mem > /sys/power/state

Now the system would enter into the standby state and you can exit from standby by pressing any key

Measuring Power

The scheme used to measure the power is provided in Measuring Power on the OMAP35x EVM Wiki.

Results

RESULTS ON AM37X
    ACTIVE MODE (ARM @ 600M, L3 @ 200M)   STANDBY MODE
Power Rail Resistance Voltage Current Voltage to OMAP POWER   Voltage Current Voltage to OMAP POWER
  (ohms) (mV) (mA) V (mW)   (mV) (mA) V (mW)
VDDS_IO + VDDS_MEM + Memory Supply (J28) 0.1 1.85 18.5 1.8 33.3   0.0914 0.914 1.8 1.6452 *
VDD_CORE (J5) 0.1 7.1 71 1.2 85.2   0.0095 0.095 0.64 0.0608
VDD_MPU (J6) 0.05 9.8 196 1.17 229.32   0.0049 0.098 0.64 0.06272

Note: * power consumption on this power rail includes VDDS_IO + PoP package Memory consumption. memory used in this configuration is Hynix (H8KDS0UN0MER series).

Note
The active mode power numbers are measured when no dynamic power management features are enabled. When enabled, dynamic power management features like Cpuidle and Smartreflex can lower the average active power consumption based on the system load and operating conditions.

Tips & Tricks for reducing IO leakage

E2e.jpg For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article OMAP35x and AM/DM37x Low Power Standby Support here.
Hyperlink blue.png Links
ARM Microcontroller MCU ARM Processor Digital Media Processor Digital Signal Processing Microcontroller MCU Multi Core Processor
Ultra Low Power DSP 8 bit Microcontroller MCU 16 bit Microcontroller MCU 32 bit Microcontroller MCU

Leave a Comment

Comments

Comments on OMAP35x and AM/DM37x Low Power Standby Support


Andrey Rublyov said ...

Providing of tags, source version used for generating the images would be very helpful.

--Andrey Rublyov 09:05, 23 March 2012 (CDT)

Andrey Rublyov said ...

Why R57 should be removed form proc module.

--Andrey Rublyov 07:30, 28 March 2012 (CDT)

Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox