AN4715, i.MX 6Solo Power Consumption Measurement - Application Note

Freescale Semiconductor
Application Note
Document Number: AN4715
Rev. 0, 6/2013
i.MX 6Solo Power Consumption
Measurement
This application note helps the user design power
management systems. Through several use cases, this report
illustrates current drain measurements of the i.MX 6Solo
applications processors taken on the Freescale SABRE SD
Platform. The reader will be enabled to choose the
appropriate power supply domains for the i.MX 6Solo chips
and become familiar with the expected chip power in
different scenarios.
NOTE
Because the data presented in this application
note is based on empirical measurements on
a small sample size, the results presented are
not guaranteed.
© 2013 Freescale Semiconductor, Inc. All rights reserved.
Contents
1. Overview of i.MX 6Solo voltage supplies . . . . . . . . . 2
2. Internal power measurement of the i.MX 6Solo
processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Use cases and measurement results . . . . . . . . . . . . . . 9
4. Reducing power consumption . . . . . . . . . . . . . . . . . 21
5. Use case configuration and usage guidelines . . . . . . 24
6. Reference Documentation . . . . . . . . . . . . . . . . . . . . . 39
7. Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Overview of i.MX 6Solo voltage supplies
1
Overview of i.MX 6Solo voltage supplies
The i.MX 6Solo processors have several power supply domains (voltage supply rails) and several internal
power domains. Figure 1 shows the connectivity of these supply rails and the distribution of the internal
power domains.
,-.
!(
!(
/&!(
(
/&
(
!(
"!
!!
(
!
!+!
!"
"!
"!"
(!!
#
"*
"!"
"!"!(
'
$
%
&&
(
# (
(+
(
(
!(
%"!%
%+%
(
)
%
(
(
(
%
(
Figure 1. i.MX 6Solo power rails
i.MX 6Solo Power Consumption Measurement, Rev. 0
2
Freescale Semiconductor
Overview of i.MX 6Solo voltage supplies
NOTE
See the i.MX 6Solo Applications Processors for Consumer Products
datasheet (IMX6SDLCEC) for the recommended operating conditions of
each supply rail and for a detailed description of the groups of I/Os (pins)
each I/O voltage supply powers.
For more details regarding the i.MX 6Solo power rails, see Chapter 51,
“Power Management Unit (PMU),” in the i.MX 6Solo Applications
Processors Reference Manual (IMX6SDLRM).
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
3
Internal power measurement of the i.MX 6Solo processor
2
Internal power measurement of the i.MX 6Solo processor
Several use cases (described in Section 3, “Use cases and measurement results”) are run on the SABRE
SD Platform. The measurements are taken mainly for the following power supply domains:
• VDD_ARM_IN—ARM platform’s supply
• VDD_SOC_IN—Peripheral supply
• VDD_HIGH_IN—Source for PLLs, DDR pre-drives, PHYs, and some other circuitry
These supply domains consume the majority of the internal power of the processor. For the relevant use
cases, the power of additional supply domains is added. However, the power of these supply domains does
not depend on specific use cases, but whether these modules are used or not. The power consumption of
SNVS is comparatively negligible except in Deep-Sleep mode.
The NVCC_* power consumption depends primarily on the board level configuration and the components.
Therefore, it is not included in the i.MX 6Solo internal power analysis. The power of NVCC_DRAM is
added for reference.
The power consumption for these supplies, in different use cases, is provided in Table 3 through Table 12.
NOTE
Unless stated otherwise, all the measurements were taken on typical process
silicon, at room temperature (26 C approximately).
2.1
VDDHIGH power
The voltage VDDHIGH domain is generated from the 2.5-V LDO (LDO_2P5).
This domain powers the following circuits:
• On-chip LDOs
• Bandgap
• MLB
• eFUSE
• Analog part of the PLLs
• Pre-drivers of the DDR IOs (NVCC_LVDS_2P5)
It may also power the following domains (depends on board connectivity):
• PCIe, MIPI, and HDMI PHYs
• LVDS bridge
• Differential input buffers of the DDR IO
2.2
DDR I/O power
The DDR I/O is supplied from NVCC_DRAM which provides the power for the DDR I/O pads. The target
voltage for this supply depends on the DDR interface being used. The target voltages for the different DDR
interfaces are as follows:
• 1.5 V for DDR3
i.MX 6Solo Power Consumption Measurement, Rev. 0
4
Freescale Semiconductor
Internal power measurement of the i.MX 6Solo processor
•
•
1.2 V for LPDDR2
1.35 V for DDR3L
The power consumption for the NVCC_DRAM supply is affected by various factors, including the
following:
• Amount of activity of the DDR interface
• On-die termination (ODT)—Enabled/disabled, termination value, which is used for the DDR
controller and DDR memories
• Board termination for DDR control and address bus
• Configuration of the DDR pads (such as, drive strength)
• Board layout
• Load of the DDR memory devices
•
•
2.2.1
NOTE
Due to the above mentioned reasons, the measurements provided in the
following tables would vary from one system to another. The data
provided is for guidance only and should not be treated as a
specification.
The measured current on the Freescale SABRE SD Platform also
includes the current of the onboard DDR3 memory devices. This board
(on which the measurements were taken) includes four DDR3 devices,
having a total capacity of 1 GB. For power-optimized systems that use
LPDDR2 memories, the power consumed by the DDR I/O and DDR
memories would be significantly lower. The SABRE SD Platform
utilizes a “T” topology for board memory routing that does not require
board-level resistor terminations. This further reduces the DDR I/O
power usage.
On-die termination (ODT) settings
On-die termination (ODT) is a feature of the DDR3/DDR3L SDRAM that allows the DRAM to turn on/off
termination resistance for each DQ, DQS, DQS#, and DM signal. The ODT feature is designed to improve
signal integrity of the memory channel by allowing the DRAM controller to independently turn on/off
termination resistance for any or all DRAM devices.
Using weaker ODT settings can greatly reduce the power of the DDR I/O. The required ODT settings are
system dependent and may vary among different board designs. These settings should be carefully selected
for power optimization while ensuring that JEDEC requirements for the DDR parameters are still met.
Thus, the default settings that are used in the Linux BSP release may need to be modified by the system
designer to fit different systems.
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
5
Internal power measurement of the i.MX 6Solo processor
Table 1 shows the differences between the test parameters in Rev 0 of this document and Rev 1 of AN4576
i.MX 6DualLite Power Consumption Measurement.
Table 1. Test Parameters—Differences between revision 1 and revision 01
1
Test Parameters
AN4715 Rev. 0
AN4576 Rev 1
Board used for testing
SABRE SD, rev. C2
SABRE SD, rev. C2
On-die termination (ODT)—memory
120 
120 
ODT—DDR I/O
120 
120 
Data bus width
32
64
DDR chip
MT41K256M16HA-125:E
MT41K128M16JT-125:K
ODT values used are indicated in the measurement result tables, Table 3 through Table 12.
2.3
Voltage levels and DVFS usage in measurement process
The voltage levels of all the supplies, except for VDDARM and VDDSOC, are set to the typical voltage
levels as defined in i.MX 6Solo Applications Processors for Consumer Products datasheet
(IMX6SDLCEC).
The VDDARM and VDDSOC supplies require special explanation. To save power, VDDARM voltage is
changed using DVFS (dynamic voltage and frequency scaling), during the run time of the use cases. The
voltage levels of these supplies can be changed to standby voltage levels in low-power modes.
2.3.1
VDDARM voltage levels
The target voltage levels for VDDARM can vary according to the DVFS setpoint used, which is selected
by the DVFS (also named CPUFREQ) driver. There are several factors that contribute to the setpoint
decisions, CPU load being the most important. Other factors are CPU latency requirements, thermal
restrictions, and peripheral I/O performance requirements. The voltage and frequency setpoints used for
the measurements are given in Table 2.
NOTE
See the “Operating Ranges” table in the i.MX 6Solo Applications
Processors for Consumer Products datasheet (IMX6SDLCEC) for the
official operating points.
Most of the measurements are performed using these voltage levels, and the power data that appears in this
document is according to these values. If the measurement is done at different voltage levels, the power
consumption scales with the voltage change. In real applications when DVFS is applied, the software, in
conjunction with the hardware, automatically adjusts the voltage and frequency values based on the use
case requirements.
The voltage used for the power calculation is the average voltage between those setpoints. It depends on
the amount of time spent at each setpoint.
i.MX 6Solo Power Consumption Measurement, Rev. 0
6
Freescale Semiconductor
Internal power measurement of the i.MX 6Solo processor
2.3.2
VDDSOC voltage levels
The approximate nominal target voltage levels for VDD_SOC_IN is 1.425 V when LDO_SOC is used,
and varies according to the VDD_SOC_CAP/VDD_PU_CAP setpoint when LDO_SOC is bypassed. See
Table 2 for the VDD_SOC_CAP and VDD_PU_CAP settings used in the measurements. See the
“Operating Ranges” table in i.MX 6Solo Applications Processors for Consumer Products datasheet
(IMX6SDLCEC) for the official operating points.
Table 2. VDDARM, VDDSOC, and VDDPU voltage levels (for reference only)
2.4
ARM
Frequency
LDO State
VDD_ARM_IN
VDD_ARM_CAP
VDD_SOC_IN
VDD_SOC_CAP/
VDD_PU_CAP
996MHz
Enabled
1.425V
1.25V
1.425V
1.25V
792MHz
Enabled
1.425V
1.15V
1.425V
1.175V
396MHz
Enabled
1.425V
0.95V
1.425V
1.175V
Temperature measurements
In some of the use cases, the die temperature is measured. The temperature measurements were taken using
the on-chip thermal sensor on a thermally calibrated part. While measuring temperature, it is
recommended to wait until the temperature stabilizes.
NOTE
The measured temperatures are for reference only and will vary on different
systems, due to differences in board, enclosure, heat spreading techniques,
and more. Even when using the same board type, the measured temperature
may vary due to factors, such as environment, silicon variations, and
measurement error.
For more details on thermal aspects, see the application note Thermal
Management Guidelines for the i.MX 6Dual/6Quad (AN4579).
2.5
Hardware and software used
The software versions used for the measurements are as follows:
• Gnome rootfs (Linux Release version: L3.0.35_3.0.1), Linux Kernel version: 3.0.35.
• The board used for the measurements is the Freescale SABRE SD Platform.
• The measurements were performed using Agilent 34401A 6 ½ Digit Multimeter.
2.6
Board setup used for power measurements
The power measurements are taken using the default voltages of the supplies.
The default input voltages are as follows:
• VDD_ARM_IN and VDD_SOC_IN at 1.425 V
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
7
Internal power measurement of the i.MX 6Solo processor
•
•
VDD_HIGH_IN at 3.0 V
NVCC_DRAM at 1.5 V
Also, the on-chip LDOs are used, which are the recommended settings for simplified and cost effective
system. The ARM voltage scaling is done through configuring LDO_ARM.
Thus, by using a different setup, such as a configurable and separated DC switcher for ARM, the system
power may be further optimized by reducing the VDD_ARM_IN input voltage level and may thus achieve
the desired operation point. Such a setup would likely result in a higher system cost, so there is a trade-off
between cost and system power.
2.7
Measuring points on the Freescale SABRE SD platform
The power data is obtained by measuring the average voltage drop over the measurement points and
dividing it by the resistor value to determine the average current. The tolerance of the 0.02- resistors on
the SD board is 1%. The measuring points for the various supply domains are as follows:
• VDDSOC—The chip domain current is measured on R21 and the recommended resistance value
for this measurement is 0.02 
• VDDCORE—The ARM domain current is measured on R27 and the recommended resistance
value for this measurement is 0.02 
• VDDHIGH—The VDDHIGH domain current is measured on SH17 and the recommended
resistance value for this measurement is 0.1 
• DDR3 I/O plus Memories—The current in this domain includes the NVCC_DRAM current and
the overall current of the onboard DDR3 memory devices. The current in this domain is measured
on R25 and the recommended resistance value for this measurement is 0.02 .
i.MX 6Solo Power Consumption Measurement, Rev. 0
8
Freescale Semiconductor
Use cases and measurement results
3
Use cases and measurement results
3.1
Use cases—overview
The main use cases and subtypes, which form the benchmarks for the i.MX 6Solo internal power
measurements on the SABRE SD Platform, are as follows:
•
•
•
•
•
•
•
Low power mode (Section 3.2, “Low-power mode use cases”):
— Deep-Sleep mode (Section 3.2.1, “Use case 1—Deep-Sleep mode (DSM)”)
— System Idle mode (Section 3.2.2, “Use case 2—System Idle mode”)
— User Idle mode (Section 3.2.3, “Use case 3—User Idle mode”)
Audio playback: MP3 Audio Playback (Section 3.3, “Audio playback use case—MP3 Audio
Playback”)
Video Playback (Section 3.4, “Video Playback use cases”):
— H.264 1080p Video Playback, on HDMI LCD (Section 3.4.1, “Use case 1—H.264 1080p
Video Playback, on HDMI LCD”)
— H.264 1080p Video Playback, on XGA LVDS LCD (Section 3.4.2, “Use case 2—H.264 1080p
Video Playback, on XGA LVDS LCD”)
Dhrystone benchmark (Section 3.5, “Dhrystone benchmark”):
— Single-core Dhrystone benchmark (Section 3.5.1, “Single-core Dhrystone benchmark”)
Graphics (Section 3.6, “Graphics use cases”)
— 3D gaming benchmark, MM06 (OpenGL ES 1.1) (Section 3.6.1, “Use case 1— 3D gaming
benchmark, MM06”)
— 3D gaming benchmark, MM07 (OpenGL ES 2.0) (Section 3.6.2, “Use case 2—3D gaming
benchmark, MM07”)
Typical Max Power: Dhrystone, graphics plus 1080p Video Playback (Section 3.7, “Typical max
power—Dhrystone, graphics plus 1080p Video Playback
Non-multimedia: USB-to-eMMC file transfer (Section 3.8, “Non-multimedia use
case—USB-to-eMMC file transfer”)
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
9
Use cases and measurement results
3.2
3.2.1
Low-power mode use cases
Use case 1—Deep-Sleep mode (DSM)
This mode is called either “Dormant mode” or “Suspend-To-RAM” in the Linux BSP. This is the lowest
possible power state where external supplies are still on.
The use case is as follows:
• ARM platform is power gated.
• L1 Cache periphery is power gated.
• PU regulator is disabled (means that GPUs and VPU are power gated).
• SoC regulator is bypassed.
• All PLLs (phase locked loop) and CCM (clock controller module) generated clocks are off.
• RTC_XTALI (32 kHz) input is on.
• All the modules are disabled.
• Well bias is applied.
• All analog PHYs are powered down.
• External high frequency crystal and on chip oscillator are powered down (by asserting SBYOS bit
in CCM).
• VDD_ARM_IN and VDD_SOC_IN are dropped to 0.975 V by asserting the PMIC_STBY_REQ.
In this mode, no current flow is caused by external resistive loads.
Table 3 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 3. Deep-Sleep mode (DSM) measurement results
Linux—3.0.1 GA
Supply Domain
Android—R13.4.1
Voltage (V)
P (mW)
I (mA)
P (mW)
I (mA)
VDD_ARM_IN
0.98
0.0882
0.09
0.247
0.25
VDD_SOC_IN
0.985
1.99955
2.03
2.46
2.5
VDD_HIGH_IN
2.98
1.043
0.351
3.140
1.052
Total Power (without DDR3 I/O +
Memories)
—
3.13075
—
5.847
—
DDR3 I/O + Memories3
1.5
20.25
13.5
18.975
12.65
Total Power
—
23.38075
—
24.821
—
1
When wake-up from USB is enabled, the STOP_MODE_CONFIG bit in Miscellaneous Control Register in CCM should be set,
and the VDD_HIGH_IN current will be 1.2 mA. There is no impact on the current of the other power rails mentioned here.
2 In DSM mode, when the USB remote wake-up function is not used, LDO_1P1 can be shut down manually to reduce
VDD_HIGH_IN current.
3 The current in this domain includes the NVCC_DRAM current and I/O and memories current of the on-board DDR3 devices.
The current for the i.MX 6SoloDDR I/O (NVCC_DRAM supply) can be reduced to nearly zero by floating all DDR pins and
maintaining CKE0/1 driven low.
i.MX 6Solo Power Consumption Measurement, Rev. 0
10
Freescale Semiconductor
Use cases and measurement results
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
3.2.2
Use case 2—System Idle mode
The use case is as follows:
• ARM is in WFI mode most of the time.
• Some PLLs are on.
• Operating system is on.
• LCD is turned off.
• Screen is not refreshed.
This use cases simulates the situation when the device is left idle for some time and the display is turned
off after the timer expires.
Table 4 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 4. System Idle mode measurement results
Linux—3.0.1 GA
Supply Domain
1
2
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
7.384
5.2
VDD_SOC_IN
1.42
46.15
32.51
VDD_HIGH_IN
2.975
89.5475
30.1
Total Power (without DDR3 I/O + Memories)
—
143.0815
—
DDR3 I/O + Memories2
1.5
36
24
Total Power
—
179.0815
—
24mA if UART is off.
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
11
Use cases and measurement results
3.2.3
Use case 3—User Idle mode
The use case is as follows:
• ARM is in WFI mode most of the time.
• Some PLLs are on.
• Operating system and LCD are on. The ARM core is idle. The CPU usage is approximately 1%.
• The XGA screen refresh is done by IPU through LVDS.
The use case simulates the situation when the device is left idle and no application is performed on the
screen (like reading from the screen).
Table 5 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 5. User Idle mode measurement results
Linux—3.0.1 GA
Android—R13.4.1
Supply Domain
Voltage (V)
P (mW)
I (mA)
P (mW)
I (mA)
VDD_ARM_IN
1.42
7.952
5.6
11.218
7.9
VDD_SOC_IN
1.42
252.76
178
246.677
173.35
VDD_HIGH_IN
2.975
154.105
51.8
169.234
56.61
Total Power (without DDR3
I/O + Memories)
—
414.817
—
427.129
—
DDR3 I/O +2 Memories
1.5
123.45
82.3
126.450
84.3
Total Power
—
538.267
—
553.579
—
1
In User Idle mode, if the USB remote wake-up function is not used, LD0_1P1 can be shut down manually to reduce
VDD_HIGH_IN current.
2 The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
i.MX 6Solo Power Consumption Measurement, Rev. 0
12
Freescale Semiconductor
Use cases and measurement results
3.3
Audio playback use case—MP3 Audio Playback
The use case procedure is as follows:
1. MP3 (MPEG-1 audio layer 3) decoding is done by ARM.
2. Audio playback is run through SSI (serial synchronous interface).
3. The stream, an mp3 file with bit rate 128 kbps and sampling frequency of 44100 Hz, is taken from
the SD (secure digital) card.
The LCD is turned off after the timer expires. The figures are measured when LCD is off.
Table 6 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 6. MP3 Audio Playback measurement results
Linux—3.0.1 GA
Android—R13.4.1
Supply Domain
1
Voltage (V)
P (mW)
I (mA)
P (mW)
I (mA)
VDD_ARM_IN
1.42
36.636
25.8
27.122
19.1
VDD_SOC_IN
1.42
72.562
51.1
59.866
42.1
VDD_HIGH_IN
2.975
92.5225
31.1
150.397
50.3
Total Power (without DDR3
I/O + Memories)
—
201.7205
—
237.385
—
DDR3 I/O +1 Memories
1.5
54.45
36.3
51.525
34.35
Total Power
—
256.1705
—
288.910
—
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
13
Use cases and measurement results
3.4
3.4.1
Video Playback use cases
Use case 1—H.264 1080p Video Playback, on HDMI LCD
This use case has the following features:
• The video source is H.264, 1080p resolution, 30-fps, 3.6-Mbps bit rate.
• The audio source is AAC, 125-kbps bit rate and 44100-Hz sampling frequency.
• The display is 1080-p resolution using HDMI.
• VDOA module is used to reduce DDR bus load.
The video/audio stream is loaded from the SD card into the DDR (double data rate) memory and then
demuxed by Cortex-A9. The demuxed video signal is decoded by the VPU. It is then taken by the IPU and
displayed on the LCD display (through HDMI) with a refresh rate of 60 Hz. In parallel, the demuxed audio
signal is decoded using Cortex-A9 and is played back through the SSI.
Table 7 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 7. 1080P Video Playback measurement results on HDMI LCD
Linux—3.0.1 GA
Supply Domain
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
40.754
28.7
VDD_SOC_IN
1.42
428.84
302
VDD_HIGH_IN
2.975
225.505
75.8
Total Power (without DDR3 I/O + Memories)
—
695.099
—
DDR3 I/O +1 Memories
1.5
410.4
273.6
Total Power
—
1105.499
—
1
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
i.MX 6Solo Power Consumption Measurement, Rev. 0
14
Freescale Semiconductor
Use cases and measurement results
3.4.2
Use case 2—H.264 1080p Video Playback, on XGA LVDS LCD
This use case has the following features:
• The video source is H.264, 1080p resolution, 30-fps, 3.6-Mbps bit rate.
• The audio source is AAC, 125-kbps bit rate and 44100-Hz sampling frequency.
• The display is XGA resolution using LVDS.
• VDOA module is used to reduce DDR bus load.
The video/audio stream is loaded from the SD card into the DDR (double data rate) memory and then
demuxed by Cortex-A9. The demuxed video signal is decoded by the VPU. It is then taken by the IPU and
displayed on the LCD display (through LVDS) with a refresh rate of 60 Hz. In parallel, the demuxed audio
signal is decoded using Cortex-A9 and is played back through the SSI.
Table 8 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 8. 1080P Video Playback measurement results on LVDS LCD
Linux—3.0.1 GA
Android—R13.4.1
Supply Domain
Voltage (V)
P (mW)
I (mA)
P (mW)
I (mA)
VDD_ARM_IN
1.42
43.31
30.5
47.57
33.5
VDD_SOC_IN
1.42
411.516
289.8
427.016
59.05
VDD_HIGH_IN
2.975
156.63375
52.65
176.560
59.05
Total Power (without DDR3
I/O + Memories)
—
611.45975
—
651.146
—
DDR3 I/O +1 Memories
1.5
400.05
266.7
394.65
263.1
Total Power
—
1011.50975
—
1045.795
—
1
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
15
Use cases and measurement results
3.5
Dhrystone benchmark
Dhrystone is a synthetic benchmark used to measure the integer computational performance of processors
and compilers. The small size of the Dhrystone benchmark allows it to fit into the L1 cache and thus
minimizes accesses to the L2 cache and DDR.
3.5.1
Single-core Dhrystone benchmark
In this use case, the Dhrystone test is performed by the ARM core. The ARM processor runs the test in a
loop at a frequency of 1 GHz. The other core is idle. Run power of ARM is measured.
Table 9 shows the measurement results when this use case is applied on the i.MX 6Solo processor.
Table 9. Single-core Dhrystone benchmark measurement results
Linux- 3.0.1 GA
Supply Domain
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
619.404
436.2
VDD_SOC_IN
1.42
221.946
156.3
VDD_HIGH_IN
2.975
96.0925
32.3
Total Power (without DDR3 I/O
+ Memories)
—
937.4425
—
DDR3 I/O + Memories1
1.5
37.2
24.8
Total Power
—
974.64252
—
1
2
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
The measured die temperature (10 minutes) is 40°C.
i.MX 6Solo Power Consumption Measurement, Rev. 0
16
Freescale Semiconductor
Use cases and measurement results
3.6
3.6.1
Graphics use cases
Use case 1— 3D gaming benchmark, MM06
This use case has the following features:
• VGA resolution, using MM06 (Samurai) benchmark.
• The frame rate is 153.25 fps.
• The display is of XGA resolution using LVDS
The graphics are loaded from the SD card into the DDR (double data rate) memory, processed by the
GPU3D, then copied to the display buffer in the DDR. They are then processed by the IPU and displayed
on the LCD display (through LVDS) with a refresh rate of 60 Hz.
Table 10 shows the measurement results when this use case is applied on the i.MX 6Solo processor. In this
case, measurements were taken with DVFS disabled and CPU speed set to 396 MHz.
Table 10. 3D gaming MM06 benchmark measurement results—DVFS disabled
Linux—3.0.1 GA
Supply Domain
1
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
196.67
138.5
VDD_SOC_IN
1.42
762.966
537.3
VDD_HIGH_IN
2.98
161.516
54.2
Total Power (without DDR3 I/O + Memories)
—
1121.152
—
DDR3 I/O +1 Memories
1.5
596.1
397.4
Total Power
—
1717.252
—
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
17
Use cases and measurement results
3.6.2
Use case 2—3D gaming benchmark, MM07
This use case has the following features:
• VGA resolution, using MM07 (Taiji) benchmark.
• The frame rate is 14.854 fps
• The display is of XGA resolution using LVDS
The graphics are loaded from the SD card into the DDR (double data rate) memory, processed by the
GPU3D, then copied to display buffer in the DDR. It is then taken by IPU and displayed on the LCD
display (through LVDS) with a refresh rate of 60 Hz.
In this use case, measurements were taken with DVFS disabled and CPU speed set to 396 MHz.
Table 11. 3D gaming MM07 benchmark measurement results—DVFS disabled
Linux—3.0.1 GA
Supply Domain
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
142.994
129.7
VDD_SOC_IN
1.42
723.916
510
VDD_HIGH_IN
2.98
157.344
52.6
Total Power (without DDR3 I/O + Memories)
—
1024.254
—
DDR3 I/O +1 Memories
1.5
364.5
223.5
Total Power
—
1388.754
—
1
The ODT settings are 120 for the memory and 120  for the i.MX 6Solo DDR I/O.
NOTE
For additional details on this use case and settings, see Section 5, “Use case
configuration and usage guidelines.”
3.7
Typical max power—Dhrystone, graphics plus 1080p Video
Playback
The purpose of this use case is to provide the power consumption of a very intensive use case, which is
highly atypical, but perhaps could be relevant for some systems when planning to work under extreme
conditions.
This use case is running concurrently on two displays:
• One 1080p Video Playback, through HDMI.
• 3D graphics through LVDS port with XGA resolution.
This use case has the following features:
•
•
•
The video source is H.264, 1080p resolution, 30-fps, 3.6-Mbps bit rate.
The audio source is AAC, 125-kbps bit rate and 44100-Hz sampling frequency.
The graphics are 3D gaming benchmark—MM06.
i.MX 6Solo Power Consumption Measurement, Rev. 0
18
Freescale Semiconductor
Use cases and measurement results
•
•
The ARM core is heavily loaded.
Maximum frequencies are used for ARM, IPU, VPU, GPUs, and DDR clocks.
The video stream is loaded from the SD card into the DDR memory. The video input is decoded by the
VPU (but not displayed on the screen). In addition, the Cortex-A9 core is used to perform concurrent
software decoding of the input audio stream. VPU decoding is done here in as a background activity to
consume power.
The decoded stream is then taken by IPU and displayed on the LCD displays (through HDMI) with a
refresh rate of 60 Hz. The GPU3D is used to render the graphics. Then, the graphics are displayed by the
IPU through LVDS on XGA display. Meanwhile, the core is running Dhrystone pattern in a loop in the
background. Table 12 shows the typical maximum power measurement results on the SABRE SD
Platform.
Table 12. Typical max power measurement results on SABRE SD platform
Linux—3.0.1 GA1
Supply Domain
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
551.67 (561.61 max.)
388.52 (395.5 max3)
VDD_SOC_IN
1.42
956.086 (1015.584 max.)
673.32 (715.2 max)
VDD_HIGH_IN
2.975
232.05 (232.9425 max.)
782 (78.3 max)
Total Power (without DDR3 I/O + Memories)
—
1739.806 (1810.365 max.)
—
DDR3 I/O +4 Memories
1.5
686.7 (710.1 max.)
708.72 (743.3 max)
Total Power
—
2426.506 (2520.2365 max)
—
1
The current also depends on the silicon temperature, which depends on the heat dissipation in the system. The measured die
temperature for this use case is approximately 65°C.
2 This is the average current measured over a small period of time for this test case. There will be variations from part to part
under different process, voltage, and temperature (PVT) conditions.
3 This is a maximum current measured over a small period of time to present the sustained peak current for the supply in this
measurement. Still, there would be variations from part to part under different process, voltage, and temperature (PVT)
conditions.
4 The ODT (On Die Termination) that was used for measurements is 120 for the memory and 120 for the i.MX 6SoloDDR
IO. The DDR IO power may be further reduced by using optimized ODT settings of the i.MX 6Solo DDR IO and the DDR
memory IO. Optimization needs to be done per system.
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
19
Use cases and measurement results
3.8
Non-multimedia use case—USB-to-eMMC file transfer
In this use case, 1 GB total of data is transferred from a USB device to an eMMC device. A data size of
1 MB is copied each time, repeatedly, 1000 times. The SDMA is used to perform the data transfer to the
eMMC host controller. Table 13 shows the transfer measurement results.
Table 13. USB-to-eMMC file transfer measurement results
Linux—3.0.1 GA
Supply Domain
Voltage (V)
P (mW)
I (mA)
VDD_ARM_IN
1.42
104.1854
73.37
VDD_SOC_IN
1.42
261.351
184.05
VDD_HIGH_IN
2.975
119.8925
40.3
Total Power (without DDR3 I/O + Memories)
—
485.4289
—
DDR3 I/O + Memories
1.5
166.05
110.7
Total Power
—
651.4789
—
i.MX 6Solo Power Consumption Measurement, Rev. 0
20
Freescale Semiconductor
Reducing power consumption
4
Reducing power consumption
The overall system power consumption depends on both software optimization and how the system
hardware is implemented. Below is a list of suggestions that may help reduce system power. Some of these
are already implemented in Linux BSP. Further optimizations can be done on the individual customer’s
system.
NOTE
Further power optimizations are planned for future BSP releases. See the
Freescale website to obtain the latest BSP release.
•
•
•
•
•
Apply clock gating whenever clocks or modules are not used, by configuring CCGR registers in
the CCM (Clock Controller Module).
Reduce the number of operating PLLs—Applicable mainly in Audio Playback mode or Idle
modes.
Core DVFS and system bus scaling—Applying DVFS for ARM and scaling the frequencies of the
AXI, AHB, and IPG bus clocks can significantly reduce the power consumption of the VDDARM
and VDDSOC domains. However, due to the reduced operation frequency, the accesses to the DDR
take longer, which increases the power consumption of the DDR I/O and memories. This trade-off
needs to be taken into account for each mode, to quantify the overall affect on system power.
Put i.MX 6Solo into low power modes (WAIT, STOP) whenever possible. See Chapter 18, “Clock
Controller Module (CCM),” of the i.MX 6Solo Applications Processor Reference Manual
(IMX6SDLRM) for details.
DDR interface optimization:
— Use careful board routing of the DDR memories, maintaining PCB trace lengths as short as
possible.
— Use a reduced ODT (On-Die Termination) setting, as possible. The termination used greatly
influences the power consumption of the DDR interface pins.
— Use the proper output driver impedance for DDR interface pins that provides good impedance
matching. Select the lowest possible drive strength that provides the required performance, in
order to save current through DDR I/O pins.
— Carefully choose onboard resistors so the least amount of current is wasted—for example,
when selecting impedance matching resistors between CLK and CLK_B (when using DDR3
memories).
— When possible, in lower performance use cases, switching to DLL Off mode allows for greatly
reducing DDR frequency. This disables or reduces termination, and it reduces the drive
strength. Thus, power consumption of the DDR interface pins could be significantly reduced.
— Float i.MX 6Solo DDR interface pins (set to high Z) when DDR memory is in Self-Refresh
mode, and keep DDR_SDCKE0 and DDR_SDCKE1 at low value. If DDR_SDCKE0 and
DDR_SDCKE1 are kept at low value by using external pull-down, make sure there is no
onboard termination on these pins during this mode.
— If possible (depending on system stability), configure DDR input pins to CMOS mode, instead
of Differential mode. This can be done by clearing the DDR_INPUT bit in the corresponding
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
21
Reducing power consumption
registers in IOMUXC. This setting is mostly recommended when operating at low frequencies,
such as in DLL Off mode.
— Use of DDR3L memory devices, operating at low I/O voltage, can further reduce the I/O power
by 20%.
— Use of DDR memory offerings in the latest process technology can significantly reduce the
power consumption of the DDR devices and the DDR I/O.
The various steps involved in floating the i.MX 6Solo DDR interface pins are given below.
NOTE
For the programming steps listed above, the code is running from internal
RAM only when performing the DDR frequency change or
suspend/resume. Otherwise, the code is running from DDR memory.
Steps to be performed before entering Suspend (Deep-Sleep mode):
1. Read the power saving status in MMDC in the MAPSR register, because automatic power saving
is enabled, to make sure that DDR is in Self-Refresh.
2. Do the following:
a) In case there is no onboard termination for DDR control and address bus, set the DSE (drive
strength selection, in IOMUXC) for all DDR IF I/O to 0 (High Z), except for CKE0 and
CKE1.
b) In case DDR control and address bus have onboard termination resistors connected to VTT,
such as in the case where SODIMM is used:
— Option 1
– As for (a), keep SDCKE0/1 active, this causes some extra current from the pins sharing the
same DSE control in IOMUXC_SW_PAD_CTL_GRP_CTLDS register. The pins are
DRAM_CS0, DRAM_CS1, DRAM_SDBA2, DRAM_SDCKE0, DRAM_SDCKE1, and
DRAM_SDWE.
— Option 2 (requires onboard pull down resistor on DRARM_SDCKE0/1 pins)
– Set the supply of the termination resistor to be floated (can be done through some pins with
GPIO capability on it).
– Set the DSE (drive strength selection, in IOMUXC) for all DDR IF I/O to 0 (High Z).
3. Go into the Suspend mode.
Steps to be performed after exiting Suspend:
1. Restore all the settings for the DDR I/O to the required value.
2. System proceeds to Run mode.
i.MX 6Solo Power Consumption Measurement, Rev. 0
22
Freescale Semiconductor
Reducing power consumption
NOTE
If the system can ensure there are no masters accessing the DDR, the
following may be applied to other scenarios besides Deep-Sleep mode:
DDR pins can be floated in the same manner, even when Suspend is not
entered, and DDR can be manually put into Self-Refresh to save power. This
happens when the CPU is not running, or it is running from the internal
RAM.
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
23
Use case configuration and usage guidelines
5
5.1
5.1.1
Use case configuration and usage guidelines
HDMI 1080P playback
HDMI 1080P playback—clock configuration
Clock configuration in Table 14 is aligned with release 3.0.1 GA.
Table 14. HDMI 1080P playback clock configuration
5.1.2
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
396
GPU2D
off
GPU3D Core
off
GPU3D Shader
off
VPU
270
IPU1
270
MMDC CH0
396
HDMI 1080P playback—PLL configuration
PLL configuration in Table 15 is aligned with release 3.0.1 GA.
Table 15. HDMI 1080P playback PLL configuration
PLL Name
Frequency (MHz)
PLL1—System PLL
396
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
off
pll2 594m pfd
off
PLL3—OTG USB PLL
480
pll3 508m pfd
508
pll3 454m pfd
off
pll3 720m Pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
176
PLL5—Video PLL
297
i.MX 6Solo Power Consumption Measurement, Rev. 0
24
Freescale Semiconductor
Use case configuration and usage guidelines
Table 15. HDMI 1080P playback PLL configuration (continued)
5.1.3
PLL Name
Frequency (MHz)
PLL6—ENET PLL
off
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
HDMI 1080P playback—system setup
1. Disconnect LVDS.
2. Input video used for measuring is:
Avatar_1920x1080_30fpsH264_2x44100AAC_3.6Mbps_246sec.mp4.
5.1.4
HDMI 1080P playback—steps
1. Power on the board and in the serial console press any key to stop autoboot.
setenv bootargs 'console=ttymxc0,115200 vmalloc=256M'
setenv bootargs_base 'bootargs ${bootargs} fec_mac=${ethaddr} ${hdmi_mode}'
setenv hdmi_mode 'video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'
saveen
2. Restart the board.
3. Run the script below to set the system into the correct state.
#!/bin/sh
echo 1 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
echo 1 > /sys/class/graphics/fb4/blank
ifconfig eth0 down
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 396000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
echo 0 > /sys/class/graphics/fb0/blank
4. Run gplay <path to your video>
5. Use case is running, measurements can be taken now.
5.2
Deep-Sleep mode
In this use case all clocks and PLLs are turned off except 32 kHz clock which is for system wake up.
1. echo mem > /sys/power/state
2. Use case is running, measurements can be taken now.
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
25
Use case configuration and usage guidelines
5.3
5.3.1
User Idle mode
User Idle mode—clock configuration
Clock configuration in Table 16 is aligned with release 3.0.1 GA.
Table 16. User Idle mode clock configuration
5.3.2
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
396
GPU2D
off
GPU3D Core
off
GPU3D Shader
off
VPU
off
IPU1
270
MMDC CH0
396
User Idle mode—PLL configuration
PLL configuration in Table 17 is aligned with release 3.0.1 GA.
Table 17. User Idle mode PLL configuration
PLL Name
Frequency (MHz)
PLL1—System PLL
396
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
452
pll2 594m pfd
off
PLL3—OTG USB PLL
480
pll3 508m pfd
off
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
off
PLL5—Video PLL
off
PLL6—ENET PLL
off
i.MX 6Solo Power Consumption Measurement, Rev. 0
26
Freescale Semiconductor
Use case configuration and usage guidelines
Table 17. User Idle mode PLL configuration (continued)
5.3.3
PLL Name
Frequency (MHz)
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
User Idle mode—system setup
Disconnect everything except the SD and LVDS, using the following procedure.
1. Power on the board and in the serial console press any key to stop autoboot
2. setenv bootargs_base 'setenv bootargs ${bootargs} fec_mac=${ethaddr}
3. savenv
4. Run:
${lvds_mode}'
// blank display
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
echo 1 > /sys/class/graphics/fb4/blank
// stop the fec
ifconfig eth0 down
echo 0 > /sys/class/graphics/fb0/blank
//enable bus freq adjustment
5. Use case is running, measurements can be taken now.
5.4
5.4.1
System Idle mode
System Idle mode—clock configuration
Clock configuration in Table 18 is aligned with release 3.0.1 GA.
Table 18. System Idle mode clock configuration
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
396
GPU2D
off
GPU3D Core
off
GPU3D Shader
off
VPU
off
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
27
Use case configuration and usage guidelines
Table 18. System Idle mode clock configuration (continued)
5.4.2
Clock Name
Frequency (MHz)
IPU1
off
MMDC CH0
24
System Idle mode—PLL configuration
PLL configuration in Table 19 is aligned with release 3.0.1 GA.
Table 19. System Idle mode PLL configuration
5.4.3
PLL Name
Frequency (MHz)
PLL1—System PLL
396
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
off
pll2 594m pfd
off
PLL3—OTG USB PLL
480
pll3 508m pfd
off
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
off
PLL5—Video PLL
off
PLL6—ENET PLL
off
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
System Idle mode—system setup
Disconnect everything except the SD and LVDS.
1. //disable DVFS
—
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
2. //set cpu freq at 396M
—
echo 396000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
3. Run the script /uart_off.sh (see below).
echo 1 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
i.MX 6Solo Power Consumption Measurement, Rev. 0
28
Freescale Semiconductor
Use case configuration and usage guidelines
echo 1 > /sys/class/graphics/fb3/blank
echo 1 > /sys/class/graphics/fb4/blank
4. Use case is running, measurements can be taken now.
uart_off.sh:
echo "disabling UART"
/unit_tests/memtool 0x20c407c=0x1
sleep 5
/unit_tests/memtool 0x20c8010=0x80010000
sleep 300
/unit_tests/memtool 0x20c8010=0x80003000
sleep 2
/unit_tests/memtool 0x20c407c=0xf000001
echo "uart is back ON"
5.5
5.5.1
Audio playback
Audio playback—clock configuration
Clock configuration in Table 20 is aligned with release 3.0.1 GA.
Table 20. Audio playback clock configuration
5.5.2
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
396
GPU2D
off
GPU3D Core
off
GPU3D Shader
off
VPU
off
IPU1
off
MMDC CH0
396
Audio playback—PLL configuration
PLL configuration in Table 21 is aligned with release 3.0.1 GA.
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
29
Use case configuration and usage guidelines
Table 21. Audio playback PLL configuration
5.5.3
•
•
5.5.4
PLL Name
Frequency (MHz)
PLL1—System PLL
396
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
off
pll2 594m pfd
off
PLL3—OTG USB PLL
480
pll3 508m pfd
508
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
176
PLL5—Video PLL
off
PLL6—ENET PLL
off
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
Audio playback—system setup
SD boot
Connect XGA LVDS panel
Audio playback—steps
1. Add enable_wait_mode=on in kernel command line
2. Boot system to SD rootfs with LVDS, run below to enable busfreq scaling
#!/bin/sh
echo 1 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
ifconfig eth0 down
3. gplay 128kbps_44khz_s_mp3.mp3
4. Measure SoC and ARM data, and record
5. Get the DVFS status before and after with:
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
i.MX 6Solo Power Consumption Measurement, Rev. 0
30
Freescale Semiconductor
Use case configuration and usage guidelines
5.6
5.6.1
XGA LVDS 1080p playback
XGA LVDS 1080p playback—clock configuration
Clock configuration in Table 22 is aligned with release 3.0.1 GA.
Table 22. XGA LVDS 1080p playback clock configuration
5.6.2
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
396
GPU2D
off
GPU3D Core
off
GPU3D Shader
off
VPU
270
IPU1
270
MMDC CH0
396
XGA LVDS 1080p playback—PLL configuration
PLL configuration in Table 23 is aligned with release 3.0.1 GA.
Table 23. XGA LVDS 1080p playback PLL configuration
PLL Name
Frequency (MHz)
PLL1—System PLL
396
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
452
pll2 594m pfd
off
PLL3—OTG USB PLL
480
pll3 508m pfd
508
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
176
PLL5—Video PLL
645
PLL6—ENET PLL
off
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
31
Use case configuration and usage guidelines
Table 23. XGA LVDS 1080p playback PLL configuration (continued)
5.6.3
•
•
5.6.4
PLL Name
Frequency (MHz)
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
XGA LVDS 1080p playback—system setup
SD boot
Connect XGA LVDS panel
XGA LVDS 1080p playback—steps
1. Boot board and run below scripts
#!/bin/sh
echo 1 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
echo 1 > /sys/class/graphics/fb4/blank
ifconfig eth0 down
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 396000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
2.
3.
4.
5.
6.
7.
Run: gplay <path to your video>
Measure the power and record result
Dump clock before and after and during playback (only once), and record them ./clocks.sh
Enable SW DVFS and re-measure the power
echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Get the DVFS status before and after with
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
5.7
5.7.1
3D gaming
3D gaming—clock configuration
Clock configuration in Table 24 is aligned with release 3.0.1 GA.
Table 24. 3D gaming clock configuration—CPU frequency at 396 MHz
Clock Name
Frequency (MHz)
AXI
270
AHB
132
i.MX 6Solo Power Consumption Measurement, Rev. 0
32
Freescale Semiconductor
Use case configuration and usage guidelines
Table 24. 3D gaming clock configuration—CPU frequency at 396 MHz (continued)
5.7.2
Clock Name
Frequency (MHz)
CPU
396
GPU2D
off
GPU3D Core
528
GPU3D Shader
528
VPU
off
IPU1
off@MM06, 270@MM07
MMDC CH0
396
3D gaming—PLL configuration
PLL configuration in Table 25 is aligned with release 3.0.1 GA.
Table 25. 3D gaming PLL Configuration—CPU frequency at 396 MHz
5.7.3
•
•
PLL Name
Frequency (MHz)
PLL1—System PLL
396
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
off@MM06, 452@MM07
pll2 594m pfd
528
PLL3—OTG USB PLL
480
pll3 508m pfd
off
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
off
PLL5—Video PLL
off
PLL6—ENET PLL
off
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
3D gaming—system setup
SD boot
Connect XGA LVDS panel
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
33
Use case configuration and usage guidelines
5.7.4
3D gaming—steps
1. Add enable_wait_mode=on to kernel command line
2. Boot board to SD rootfs, disable Ethernet (ifconfig
3. Run script, below, to measure at 400MHz:
eth0 down),
connect to XGA LVDS display.
#!/bin/sh
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
ifconfig eth0 down
echo 1 > /sys/devices/platform/imx_busfreq.0/enable
echo userspace > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 396000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
echo 0 > /sys/class/graphics/fb0/blank
4. Run 3Dmark_es11 application, you can copy it from
10.192.225.222/rootfs/wb/utils/Graphics/imx61_rootfs/test/3DMarkMobile
5. Run the Samurai (MM06) test and record the fps data. While the test is running, run the MMDC
program several times to get the bus loading and record the MMDC program’s output.
6. Measure the power and record result
7. Enable SW DVFS and re-measure the power
8. echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
9. Get the DVFS status before and after with:
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
10. Run script, below, to test 1G
#!/bin/sh
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
ifconfig eth0 down
echo 1 > /sys/devices/platform/imx_busfreq.0/enable
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 0 > /sys/class/graphics/fb0/blank
i.MX 6Solo Power Consumption Measurement, Rev. 0
34
Freescale Semiconductor
Use case configuration and usage guidelines
5.8
5.8.1
Dhrystone
Dhrystone—clock configuration
Clocks configuration in Table 26 is aligned with release 3.0.1 GA.
Table 26. Dhrystone clock configuration
5.8.2
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
996
GPU2D
off
GPU3D Core
off
GPU3D Shader
off
VPU
off
IPU1
off
MMDC CH0
396
Dhrystone—PLL configuration
PLL configuration in Table 27 is aligned with release 3.0.1 GA.
Table 27. Dhrystone PLL configuration
PLL Name
Frequency (MHz)
PLL1—System PLL
996
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
off
pll2 594m pfd
off
PLL3—OTG USB PLL
480
pll3 508m pfd
off
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
off
PLL5—Video PLL
off
PLL6—ENET PLL
off
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
35
Use case configuration and usage guidelines
Table 27. Dhrystone PLL configuration (continued)
5.8.3
•
•
5.8.4
PLL Name
Frequency (MHz)
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
Dhrystone—system setup
SD boot
Connect XGA LVDS panel
Dhrystone—steps
1. Boot board to SD rootfs
2. Run scripts below to set system:
#!/bin/sh
echo 1 > /sys/class/graphics/fb0/blank
echo 1 > /sys/class/graphics/fb1/blank
echo 1 > /sys/class/graphics/fb2/blank
echo 1 > /sys/class/graphics/fb3/blank
echo 1 > /sys/class/graphics/fb4/blank
ifconfig eth0 down
echo 1 > /sys/devices/platform/imx_busfreq.0/enable
3. Run dry2 1 instance, and measure
while true; do dry2 ; done
4. Measure die temperature by:
cat /sys/class/thermal/thermal_zone0/temp
5.9
5.9.1
Max power
Max power—clock configuration
Clock configuration in Table 28 is aligned with release 3.0.1 GA.
Table 28. Max power clock configuration
Clock Name
Frequency (MHz)
AXI
270
AHB
132
CPU
996
GPU2D
off
GPU3D Core
528
i.MX 6Solo Power Consumption Measurement, Rev. 0
36
Freescale Semiconductor
Use case configuration and usage guidelines
Table 28. Max power clock configuration (continued)
5.9.2
Clock Name
Frequency (MHz)
GPU3D Shader
528
VPU
270
IPU1
270
MMDC CH0
396
Max power—PLL configuration
PLL configuration in Table 29 is aligned with release 3.0.1 GA.
Table 29. Max power PLL configuration
5.9.3
•
•
•
5.9.4
PLL Name
Frequency (MHz)
PLL1—System PLL
996
PLL2—System Bus PLL
528
pll2 396m pfd
396
pll2 352m pfd
452
pll2 594m pfd
528
PLL3—OTG USB PLL
480
pll3 508m pfd
508
pll3 454m pfd
off
pll3 720m pfd
off
pll3 540m pfd
540
PLL4—Audio PLL
176
PLL5—Video PLL
645
PLL6—ENET PLL
off
PLL7—Host USB PLL
off
PLL8—MLB PLL
off
Max power—system setup
SD boot
Connect HDMI daughter card, and XGA LVDS panel
Connect TV to each HDMI interface
Max power—steps
1. Edit uboot cmdline bootargs to include dual display configuration:
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
37
Use case configuration and usage guidelines
video=mxcfb1:dev=ldb,LDB-XGA,if=RGB666 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24
ldb=sep0
2. Run drystone:
while true; do dry2; done &
3. Run Graphics GPU3D gplay and display on LVDS
echo 0 > /sys/class/graphics/fb2/blank
modprobe galcore
export FB_FRAMEBUFFER_0="/dev/fb2"
cd 3DMarkMobile/fsl_imx_linux
fm_oes_player &
4. Run 1080p video on HDMI
gplay Avatar_1920x1080_30fpsH264_2x44100AAC_3.6Mbps_246sec.mp4
5. Record two groups of data from DMM: average and max value.
5.10
Important commands
In Uboot Console:
• printenv – display environment variables.
• setenv – update environment variables.
— setenv <name> <value> ...
– Set environment variable 'name' to 'value ...'
— setenv <name>
– Delete environment variable 'name'
• saveenv – save updates to environment variables.
• bootargs – pass to the kernel, which are called kernel command lines.
In Linux Console:
• cat /proc/cmdline—displays command line
• cat /sys/devices/virtual/thermal/thermal_zone0/temp—print temperature
to screen (chip should be calibrated)
• In order to print to screen clock configuration, use the clocks.sh script
clocks.sh
#!/bin/bash
saved_path=$PWD
if ! mount|grep -sq '/sys/kernel/debug'; then
mount -t debugfs none /sys/kernel/debug
fi
printf "%-24s %-20s %3s %9s\n" "clock" "parent" "use" "flags" "rate"
for foo in $(find /sys/kernel/debug/clock -type d); do
if [ "$foo" = '/sys/kernel/debug/clock' ]; then
i.MX 6Solo Power Consumption Measurement, Rev. 0
38
Freescale Semiconductor
Reference Documentation
continue
fi
cd $foo
ec="$(cat usecount)"
rate="$(cat rate)"
flag="$(cat flags)"
clk="$(basename $foo)"
cd ..
parent="$(basename $PWD)"
if [ "$parent" = 'clock' ]; then
parent="
---"
fi
printf "%-24s %-24s %2d %2d %10d\n" "$clk" "$parent" "$ec" "$flag" "$rate"
cd $saved_path
done
6
Reference Documentation
For information about the i.MX 6DualLite Power Consumption Measurement, Please see AN4576,
i.MX 6DualLite Power Consumption Measurement Application Note on freescale.com.
7
Revision history
Table 30 provides a revision history for this application note.
Table 30. Document revision history
Rev.
Number
Date
Rev. 0
06/2013
Substantive Change(s)
Initial public release.
i.MX 6Solo Power Consumption Measurement, Rev. 0
Freescale Semiconductor
39
How to Reach Us:
Information in this document is provided solely to enable system and software
Home Page:
freescale.com
implementers to use Freescale products. There are no express or implied copyright
Web Support:
freescale.com/support
information in this document.
licenses granted hereunder to design or fabricate any integrated circuits based on the
Freescale reserves the right to make changes without further notice to any products
herein. Freescale makes no warranty, representation, or guarantee regarding the
suitability of its products for any particular purpose, nor does Freescale assume any
liability arising out of the application or use of any product or circuit, and specifically
disclaims any and all liability, including without limitation consequential or incidental
damages. “Typical” parameters that may be provided in Freescale data sheets and/or
specifications can and do vary in different applications, and actual performance may
vary over time. All operating parameters, including “typicals,” must be validated for each
customer application by customer’s technical experts. Freescale does not convey any
license under its patent rights nor the rights of others. Freescale sells products pursuant
to standard terms and conditions of sale, which can be found at the following address:
freescale.com/SalesTermsandConditions.
Freescale, the Freescale logo, and the Energy Efficiency logo are trademarks of
Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. All other product or service
names are the property of their respective owners. ARM and ARM Cortex-A9 are
registered trademarks of ARM Limited.
© 2013 Freescale Semiconductor, Inc.
Document Number: AN4715
Rev. 0
6/2013