Texas Instruments AM335 Series Design Manual page 20

Hide thumbs Also See for AM335 Series:
Table of Contents

Advertisement

Linux Power Optimization Features
3.2.4
Power and Clock Gating Peripherals
Certain peripherals can be controlled in userspace via simple command line instructions. This should
really only be used if it is absolutely critical that certain peripherals can be turned on and off while the
system is running, or for a quick and dirty experiment to determine power savings from shutting down a
particular module. If a module should be disabled permanently, it should be done in device tree and kernel
configurations, not only is this the simplest and cleanest way to disable peripherals, but it actually will help
optimize kernel boot times as well since the Linux kernel won't load drivers for peripherals that are
disabled.
3.2.4.1
PRU-ICSS
The PRU can be temporarily turned off using a sequence of terminal commands and memory writes.
However, if the device is still enabled in the device tree, going to suspend with the PRU off will cause a
system crash since the resume driver will attempt to communicate with the PRU and fail.
PRU Poweroff Sequence
rmmod rpmsg_pru
rmmod virtio_rpmsg_bus
devmem2 0x44E000E8 w 0x0
devmem2 0x44E00140 w 0x1
devmem2 0x44E00C00 w 0x2
devmem2 0x44E00C00 w 0x0
3.2.4.2
Ethernet
Ethernet can be controlled entirely through ifconfig:
$ ifdown eth0
3.3
Diagnosing Device Power Consumption
Power optimization is often a compromise, often functionality or performance is traded for the sake of
power budget. It is important to verify that these sacrifices actually result in power savings. In order to
reliably document the power optimization process, a three phase method is recommended. First is to
establish a baseline power consumption and develop an expected power reduction figure. Second, make
the desired changes and document the power consumption. Third, if the power reduction was as desired,
confirm the hardware reflects the desired changes as well, otherwise, examine the hardware configuration
to determine other places for potential power savings, or to diagnose which optimization did not work as
intended.
3.3.1
Expected Power Consumption Estimation
When debugging a system's power consumption, it is important to know what your expected power
consumption is for each use case. This way it can be determined if the system is operating normally, or if
there is something actually wrong with the device.
During board bringup, it is recommended that a baseline power consumption is established for various use
cases, current power consumption figures from the
reference for un-optimized out of box numbers, and section 4 of this document is useful as an optimized
example for selected use cases. In addition, the
benchmark for the peripheral and interface loadout on the actual system.
3.3.2
Measuring Actual Power Consumption
It is assumed that the system has some provision for measuring the SOC power rails directly. Although
system power is also important, some of the SoC level optimizations can get lost in the noise of the
system as a whole and it is highly recommended that system power is not the only metric used when
optimizing SoC power consumption.
20
AM335x Low Power Design Guide
# disable module clocks
# request SW_SLEEP transition
# assert SW_RST
# de-assert SW_RST
Linux Kernel Performance
Power Estimation Tool
Copyright © 2017, Texas Instruments Incorporated
wiki page is a good
enables a more tailored
SPRAC74A – February 2017 – Revised March 2017
Submit Documentation Feedback
www.ti.com

Advertisement

Table of Contents
loading

Table of Contents