Texas Instruments AM335 Series Design Manual page 11

Hide thumbs Also See for AM335 Series:
Table of Contents

Advertisement

www.ti.com
3.1.2
Configuring U-Boot
U-Boot needs to be re-compiled to support RTC-Only mode. However, this is not currently supported out
of the box with Processor SDK. The parameters used to boot Linux can be changed without recompiling
the U-Boot binary.
3.1.3
Linux Kernel Modifications
Linux has provisions to support dynamic CPU frequency scaling, dynamic CPU idling, as well as some
device-specific features such as the Cortex
frequency scaling is especially important because it enables the full performance of the processor, when
necessary, but allows for a return to a lower frequency and voltage combination setting for power savings.
In addition, the Linux kernel will dynamically clock gate the Microprocessor Unit (MPU) and put it in
various idle states based on the current and predicted future workload.
Processor SDK does have many of these features enabled by default, but this section documents the
relevant configuration settings and specific source files involved in the power saving features of the Linux
kernel in case these features need to be enabled.
3.1.3.1
Supporting CPU Frequency Scaling
As mentioned previously, higher operating frequencies also require higher MPU supply voltages. This can
cause significant increases in power consumption, thus, it is important to allow the CPU to operate at the
lowest possible frequency. Linux offers several different policies called governors to control the scaling
behavior of the CPU, this behavior is known as Dynamic Voltage and Frequency Scaling (DVFS). How to
control this behavior, as well as definitions for the various governors is documented in the DVFS section.
DVFS is by default enabled in Processor SDK.
Source location:
drivers/cpufreq/cpufreq-voltdm.c
Menuconfig:
When configuring the Linux kernel using menuconfig, the CPU frequency scaling feature is found under:
CPU Power Management ---> CPU Frequency Scaling --->
CPU Freq Options
[*] CPU Frequency scaling
<*>
CPU frequency translation statistics
[*]
CPU frequency translation statistics details
Default CPUFreq governor (userspace)
<*>
'performance' governor
<*>
'powersave' governor
-*-
'userspace' governor for userspace frequency scaling
<*>
'ondemand' cpufreq policy governor
<*>
'conservative' cpufreq governor
*** CPU frequency scaling drivers ***
<M>
Generic DT based cpufreq driver
<M> Generic DT based cpufreq driver using clk notifiers
...
3.1.3.2
CM3 Firmware
The AM335x has a small ARM Cortex M3 co-processor that is used to enable low power state transitions.
This processor is used to configure pins to their sleep state, and is used to save and restore context to all
peripherals on the AM335x. To enable this functionality, the CM3 must be loaded with an appropriate
firmware from the kernel at run-time. The name of the binary file containing this firmware is
am335x-pm-firmware.elf
compiled binaries of this file can be found in the
SPRAC74A – February 2017 – Revised March 2017
Submit Documentation Feedback
-M3 (CM3) power management coprocessor. Dynamic
®
--->
for the AM335x SoC. The git repository containing the source and pre-
TI git
Copyright © 2017, Texas Instruments Incorporated
Linux Power Optimization Features
repository.
AM335x Low Power Design Guide
11

Advertisement

Table of Contents
loading

Table of Contents