# Power management states

Source: [https://docs.qualcomm.com/doc/80-70014-6/topic/power_management_states.html](https://docs.qualcomm.com/doc/80-70014-6/topic/power_management_states.html)

UFS and the SD card offer multiple power states to optimize power consumption.

## UFS power management states

Developers can alter these states as per requirement. However, it is to be noted that
                altering of the states may also lead to power consumption variation..

| State | Description |
| :--- | :--- |
| Auto-Hibernate | Auto-hibern8 (AH8) automatically transitions the phy link into<br>                                    Hibernate state after 150 ms of idle time. This value is<br>                                    tunable.<br><br><br>                                <br>To check AH8 idle duration value (in micro sec), run the<br>                                    following ssh command on the host machine:<br><br><br>                                <br><br>    cat /sys/devices/platform/soc@0/1d84000.ufs/auto_hibern8Copy to clipboard<br><br><br>                                <br>**Note**: This value can be decreased to reduce power<br>                                    consumption. |
| Clock-gating | When UFS clocks are scaled up to maximum frequency due to the use<br>                                    case, clocks are gated after 50 ms of idle duration.<br><br><br>                                <br>If clocks are scaled down to optimal frequency, clocks are gated<br>                                    after 10 ms of idle duration. To check clock gating<br>                                    enabled/disabled status, run the following ssh command on the<br>                                    host machine:<br><br><br>                                <br><br>    cat /sys/devices/platform/soc@0/1d84000.ufs/clkgate_enable Copy to clipboard<br><br><br>                                <br>Clock gating is enabled by default.<br><br><br>                                <br>To debug UFS issues related to clock gate/ungate, clock gating<br>                                    can be disabled using the following ssh command on the host<br>                                    machine:<br><br><br>                                <br><br>    echo 0 > /sys/devices/platform/soc@0/1d84000.ufs/clkgate_enable Copy to clipboard |
| Clock scaling | Once the UFS load exceeds the `upthreshold` value,<br>                                    the clock frequency is set to the maximum frequency with clock<br>                                    scale up.<br><br><br>                                <br>Clock scale down happens once the load is below the threshold.<br>                                    UFS load is determined by the historical UFS operations. To<br>                                    check clock scaling status, run the following ssh command on the<br>                                    host machine:<br><br><br>                                <br><br>    cat /sys/devices/platform/soc@0/1d84000.ufs/clkscale_enable Copy to clipboard<br><br><br>                                <br>Clock scaling is enabled by default.<br><br><br>                                <br>Disable clock scaling can result in increased power consumption.<br>                                    To debug any issue related to clock scaling, it can be disabled<br>                                    using the following ssh command on the host machine:<br><br><br>                                <br><br>    echo 0 > /sys/devices/platform/soc@0/1d84000.ufs/clkscale_enable Copy to clipboard |
| Runtime suspend/resume | UFS enters the runtime suspend state after 3 seconds of<br>                                    inactivity. Resume can happen with the next UFS operation. This<br>                                    is enabled always and not configurable. |
| System suspend/resume | UFS enters system suspend with the suspend event. UFS resume<br>                                    happens with the system resume event. This is enabled always and<br>                                    not configurable. |

## SD card power management states

| State | Description |
| :--- | :--- |
| Runtime suspend/resume | The SD card enters the runtime suspend state after 50<br>                                    milliseconds of inactivity. Resume can happen with the next SD<br>                                    card operation. This is enabled always and not configurable.<br> |
| System suspend/resume | The SD card enters system suspend with the suspend event. SD card<br>                                    resume happens with the system resume event. This is enabled<br>                                    always and not configurable. |

**Parent Topic:** [Configure](https://docs.qualcomm.com/doc/80-70014-6/topic/configuration.html)

Last Published: Jul 10, 2024

[Previous Topic
Kernel configuration](https://docs.qualcomm.com/bundle/publicresource/80-70014-6/topics/ufs-kernel-configuration.md) [Next Topic
Bootloader/UEFI device tree](https://docs.qualcomm.com/bundle/publicresource/80-70014-6/topics/bootloader_uefi_device_tree.md)