This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM623: Optimization of Standby Power Consumption for AM6232 Based System

Guru 10056 points

Part Number: AM623
Other Parts Discussed in Thread: TPS65219, AM6252, AM62L

Hello TI E2E Team,

We are currently in the initial analysis and design phase of a new industrial system utilizing the AM6232 (Sitara™) processor.

One of our primary design goals is to achieve ultra-low standby power consumption. We are evaluating both hardware and software strategies to minimize current draw during inactive periods. I have summarized our current system overview and planned power-saving strategies below.

1. System Overview

  • Processor: AM6232 (Sitara™)

  • PMIC: TPS65219 (Planned)

  • Memory: LPDDR4 (with Self-Refresh support)

  • OS/Environment: Linux (TI SDK v09.x or later)

2. Proposed Power Reduction Strategy

  • [Hardware] Using TPS65219 for optimized power sequencing and utilizing Load Switches to isolate non-essential peripherals (WiFi, Display, etc.).

  • [Software/DTS] Optimizing the Device Tree (DTS) to disable unused IP blocks (USB, Ethernet, UART, etc.) and configuring Pinmux (IOMUX) to prevent power leakage on unused pins during sleep.

  • [Firmware] Offloading system monitoring to the Cortex-M4F (MCU Domain) while the Main Domain (A53) is in DeepSleep or MCU-Only mode.

3. Questions for TI Experts

  1. Low Power Mode: Between 'DeepSleep' and 'MCU Only' mode, which is recommended for a system that must wake up via CAN/GPIO within 500ms?

  2. DTS Best Practices: Do you have a "Minimal/Golden DTS" reference or a snippet optimized for the lowest power consumption on the AM62x?

  3. Pinmux Leakage: What are the recommended Pinmux states (e.g., High-Z, Pull-up/down) in the DTS for unused pins to prevent leakage during Standby?

  4. Power Estimation: What is the typical expected current draw in 'MCU Only' mode with LPDDR4 in self-refresh?


Note on Discussion Structure: I have combined these points to provide a full picture of our initial analysis. However, if it is more efficient to discuss the Hardware (PMIC), Software (DTS), and Firmware (MCU Domain) aspects in separate threads, please let me know. I am happy to create dedicated topics for each to follow TI’s community guidelines and deep-dive into each technical area.

I look forward to your professional guidance.

Best regards,
Jack Cha

  • Hi,

    Thank you for using E2E. Please find the responses below and let us know if there are any questions.

    Low Power Mode: Between 'DeepSleep' and 'MCU Only' mode, which is recommended for a system that must wake up via CAN/GPIO within 500ms?

    The selected LPM will depend on the SoC resources that must stay active after entering the low power mode. DeepSleep has a lower power consumption but higher latency/longer wakeup time compared to MCU-only LPM. 

    DTS Best Practices: Do you have a "Minimal/Golden DTS" reference or a snippet optimized for the lowest power consumption on the AM62x?

    Our software team can provide the necessary technical support to help you create the most optimized device tree for your application. As a starting point, you can use a pre-configured minimal device tree designed for board porting. Here is the link: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am625-minimal.dts?h=ti-linux-6.12.y

    Pinmux Leakage: What are the recommended Pinmux states (e.g., High-Z, Pull-up/down) in the DTS for unused pins to prevent leakage during Standby?

    It depends on the IO. Some of them are already disabled. For the rest of the unused IOs that are enabled, you can modify the pad config to disable them in a High-Z state. 

    Power Estimation: What is the typical expected current draw in 'MCU Only' mode with LPDDR4 in self-refresh?

    The following application notes discussed the low power modes and the power consumption measured on the AM62x EVM: https://www.ti.com/lit/an/spradg1/spradg1.pdf

    Thanks,

    Brenda

  • Hello Brenda,

    Thank you for the detailed response and for sharing the application note regarding AM62x low power modes.

    After reviewing the documentation, I would like to clarify our specific system use case and ask a few follow-up questions related to standby power optimization.

    System Context

    We are developing an EV charger control board based on the AM6252 (Sitara) running Linux.

    In our system, the charger remains powered even when it is not actively charging, and we are trying to reduce standby power consumption during idle periods.

    The typical behavior of our system is as follows:

    During normal operation, the system runs the UI and communicates with a backend server.

    If there is no user activity for about 10 minutes, the system enters an idle/standby state.

    In this standby state:

    The LCD switches to a standby screen (RGB interface).

    The system must maintain continuous Ethernet communication with the server.

    Linux and the A53 cores remain running.

    Some GPIO interrupts may be used for external events.

    Understanding of Low Power Modes

    Based on our understanding of the AM62x power modes:

    DeepSleep (Suspend-to-RAM) provides the lowest power consumption but disables the main domain.

    MCU-only mode also disables the main domain and Linux environment.

    Since our system must maintain continuous Ethernet communication, we believe these modes may not be applicable in our case.

    Could you please confirm if this understanding is correct?

    Runtime Power Optimization

    Since deep low-power modes may not be suitable for our use case, we are considering runtime power optimization techniques, such as:

    CPU DVFS using cpufreq

    Disabling unused peripherals in the Device Tree

    Ethernet power optimization (possibly Energy Efficient Ethernet)

    DDR power management during CPU idle

    Linux CPU idle state optimization

    Questions

    1. CPU Power Optimization

    What is the recommended CPU frequency scaling strategy for reducing idle power on AM6252?

    Is using cpufreq with schedutil or powersave governor the recommended approach?

    2. Peripheral Power Reduction

    Are there specific AM62x IP blocks known to consume significant power that should be disabled in the Device Tree if unused?

    3. Ethernet Power Optimization

    For systems that maintain a persistent Ethernet connection, are there any recommended MAC or PHY power optimization techniques on AM62x platforms?

    4. Typical Idle Power

    For an AM6252 system with:

    Ethernet active

    DDR active

    Linux running

    LCD in standby state

    What is the typical idle power consumption range of the SoC?

    Any guidance or best practices for reducing standby power while maintaining Ethernet communication would be greatly appreciated.

    Best regards,
    Jack

  • Thank You for sharing additional information. We will review and provide an update within the next two business days. 

    Thanks,

    Brenda

  • Hi,

    There will be some questions from another colleague regarding the power requests that you are asking. Here are some questions for the moment:

    - What is the target requirement for power consumption for the processor?

    - Regarding the always on Ethernet how often does the system expect to receive traffic and at what bit rate? 

    - Have you seen TI's release of an EV Charging reference design? I am highlighting this point since the reference design is around an AM62L which has a lower power profile than the AM625x. 

    AM62L-EVSE-DEV-EVM Daughter card | TI.com

    - In an EV charging application there is typically an external MCU, the reference design shows an external MCU due to safety and ADC requirements that are typical for an EV charging application.

    - Could provide more background on which peripherals are needed? How many ethernet ports, UART, SPI etc. This will help with power estimcation.

    Best Regards,

    Schuyler

  • Hello,

    What is the recommended CPU frequency scaling strategy for reducing idle power on AM6252?

    It will depend on your application and how often you will transition between high work load to idle state.

    Is using cpufreq with schedutil or powersave governor the recommended approach?

    Either is fine as long as performance is not selected because that will always choose the highest frequency.

    Best Regards,

    Anshu

  • Hello TI Team,

    Thank you for your previous responses and for reviewing our questions.
    Based on your feedback, we would like to provide additional system information and request further clarification regarding standby power optimization on the AM6252 platform.


    1. Clarification on Low Power Modes

    In our system, Ethernet communication must remain continuously active because the charger must maintain communication with the backend server.

    Therefore, we would like to confirm the following:

    • Is it correct that DeepSleep and MCU-only modes cannot be used when Ethernet must remain active?

    • If there are any possible configurations that allow Ethernet communication while entering a lower power state, please let us know.

    A clear confirmation on this point would be very helpful for our design direction.


    2. CPU Usage and Frequency Scaling

    Below is the observed CPU utilization in our system:

    High workload (charging start / communication active)

    • CPU usage: approximately 18% / 22%

    Low workload (idle charging state, LCD brightness reduced, communication active)

    • CPU usage: approximately 9.3% / 22%

    Additionally, CPU load may temporarily increase due to OTA updates or exceptional events.

    Based on this behavior, we would like to ask:

    • Would it be recommended to reduce the CPU clock further during low workload conditions?

    • Is using cpufreq with the schedutil governor an appropriate approach for reducing idle power consumption on AM6252?

    If schedutil is recommended, we would appreciate guidance on the recommended configuration or best practices for this platform.


    3. Peripheral Configuration

    Our current peripheral configuration is as follows:

    • Ethernet ports: 1

    • UART: 3

    • SPI: 0

    • USB: 2

    If more detailed peripheral information is required, we can provide the complete configuration.


    4. External MCU

    Our system does not use an additional external MCU.

    At this stage, we are focusing on reducing standby power consumption using the existing AM6252 platform, therefore we are not considering AM62L migration at this time.


    5. Ethernet Traffic Measurement

    We measured Ethernet traffic during the idle state for approximately 5 minutes.

    Results:

    • Average RX traffic: ~ 18.3 kbps

    • Average TX traffic: ~ 1.18 kbps

    Packet rate:

    • RX: ~ 29.4 packets/s

    • TX: ~ 1.19 packets/s


    6. Request for Guidance

    Based on the above system characteristics, we would appreciate your recommendations on:

    • Possible standby power reduction strategies for AM6252

    • Recommended CPU frequency scaling or DVFS strategies

    • Any Device Tree or peripheral power optimization techniques

    Thank you for your support.

    Best regards

  • Hi,

    I am currently out of office and will return next week, our power specialist is also out of office for the next week. I will try to have an update next week but a detailed power response will be the week after next.

    Best Regards,

    Schuyler

  • Hello,

    s it correct that DeepSleep and MCU-only modes cannot be used when Ethernet must remain active?

    Correct. In these low power modes, Ethernet will not be active.

    Would it be recommended to reduce the CPU clock further during low workload conditions?

    You can reduce the A53 core clock further to reduce power consumption. Just understand that the power consumption itself will not be significantly different. You can refer to the AM62x Power Consumption Summary to see this: https://www.ti.com/lit/an/spradg1/spradg1.pdf

    Consider if the power savings is worth the impact on the latency.

    Is using cpufreq with the schedutil governor an appropriate approach for reducing idle power consumption on AM6252?

    Schedutil works with the Linux kernel scheduler to assess the loading and change the frequency accordingly. Schedutil is fine to choose.

    In terms of optimizing the active power consumption, you can optimize the clocking around your use case. For example, if you are not using a peripheral, then you can disable the clock source. If the peripheral is needed, but not during the idle state, then you can reduce the clock speed temporarily. If this is the route you would like to go deeper on, then you can refer to the clock tree tool for AM62x: https://www.ti.com/tool/CLOCKTREETOOL

    This will give you more information about the clock architecture. Then you can change the speeds and see which registers change accordingly.

    Consider how it may impact the overall latency of your system.

    Best Regards,

    Anshu