Power Management Tips

From OLPC
Jump to navigation Jump to search

Power Management Tips and Tricks

These are tips and tricks for saving power on the XO platform.

Lid events

Starting with the B2 platform, we now have the capability to get events when the lid is closed and opened. The events can be collected along with the power button event from the geode_pm input device. Here is a bit of pseudo code for doing that:

#include <linux/event.h>

struct input_event ev;
input_fd = open("/dev/input/event0", O_RDONLY);
read(input_fd, &event, sizeof(struct input_event));
if (ev.type == EV_SW && ev.code == SW_LID) {
 if (ev.value == 1)
   lid_down();
 else
   lid_up();
}

DCON sleep

The DCON can be put to sleep (ie - blanked). This is useful for those times when the system should stay up, but the DCON is drawing too much power. To put it to sleep:

echo "1" > /sys/devices/platform/dcon/sleep 

and to wake back up:

echo "0" > /sys/devices/platform/dcon/sleep

This is particularly useful when combined with the lid events (above).