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