Chapter 16
CPU Frequency Scaling (CPUFREQ) Driver
16.1 Introduction
The CPU frequency scaling device driver allows the clock speed of the CPU to be
changed on the fly. Once the CPU frequency is changed, the voltage VDDCORE,
VDDSOC and VDDPU are changed to the voltage value defined in cpu_op-mx6.c . This
method can reduce power consumption (thus saving battery power), because the CPU
uses less power as the clock speed is reduced.
16.1.1 Software Operation
The CPUFREQ device driver is designed to change the CPU frequency and voltage on
the fly.
If the frequency is not defined in cpu_op-mx6.c, the CPUFREQ driver changes the CPU
frequency to the nearest higher frequency in the array. The frequencies are manipulated
using the clock framework API, while the voltage is set using the regulators API. The
CPU frequencies in the array are based on the boot CPU frequency which can be changed
by using the clock command in U-Boot. By default, the conservative CPU frequency
governor is used.
Refer to the API document for more information on the functions implemented in the
driver.
To view what values the CPU frequency can be changed to in KHz (The values in the
first column are the frequency values), use this command:
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
To change the CPU frequency to a value that is given by using the command above (for
example, to 792 MHz), use this command:
i.MX 6SoloLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
Freescale Semiconductor, Inc.
109