diff --git a/source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst b/source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst index 523b3c698..8d8c90bca 100644 --- a/source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst +++ b/source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst @@ -53,6 +53,7 @@ What's new - Review Issue Tracker Section for the new fixes. - Security: ATF and OPTEE memory firewall for isolation from Linux - Security: Yocto reference for LUKS2 root filesystem encryption with fTPM key management + - Power: Reduced power consumption using MCU Only low power mode by 35% **Key Release References:** diff --git a/source/devices/AM62X/linux/Release_Specific_Release_Notes.rst b/source/devices/AM62X/linux/Release_Specific_Release_Notes.rst index fd0ac5654..aa839c2c0 100644 --- a/source/devices/AM62X/linux/Release_Specific_Release_Notes.rst +++ b/source/devices/AM62X/linux/Release_Specific_Release_Notes.rst @@ -50,6 +50,7 @@ What's new - Review Issue Tracker Section for the new fixes. - Security: ATF and OPTEE memory firewall for isolation from Linux - Security: Yocto reference for LUKS2 root filesystem encryption with fTPM key management + - Power: Reduced power consumption using MCU Only low power mode by 13% **Key Release References:** diff --git a/source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst b/source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst index 841d87202..45d7ad4de 100644 --- a/source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst +++ b/source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst @@ -21,10 +21,8 @@ to highest power consumption): #. Deep Sleep #. MCU Only -TI SDK 10.0 (ti-linux-6.6.y kernel and 10.0 DM firmware) adds support for -an updated LPM Software Architecture that seamlessly manages the various -Suspend-to-RAM modes supported by AM62 family of devices. More details about -this architecture can be found in :ref:`LPM constraints framework` section. +More details about the low power mode architecture can be found in +:ref:`LPM constraints framework` section. *********** Partial I/O @@ -158,19 +156,19 @@ I/O Only Plus DDR .. code-block:: console - root@am62axx-evm:~# echo disabled > /sys/class/rtc/rtc0/device/power/wakeup - root@am62axx-evm:~# echo disabled > /sys/bus/platform/devices/2800000.serial/power/wakeup - root@am62axx-evm:~# echo disabled > /sys/devices/platform/bus@f0000/f900000.dwc3-usb/power/wakeup - root@am62axx-evm:~# echo disabled > /sys/devices/platform/bus@f0000/f910000.dwc3-usb/power/wakeup + root@:~# echo disabled > /sys/class/rtc/rtc0/device/power/wakeup + root@:~# echo disabled > /sys/bus/platform/devices/2800000.serial/power/wakeup + root@:~# echo disabled > /sys/devices/platform/bus@f0000/f900000.dwc3-usb/power/wakeup + root@:~# echo disabled > /sys/devices/platform/bus@f0000/f910000.dwc3-usb/power/wakeup .. ifconfig:: CONFIG_part_variant in ('AM62PX') .. code-block:: console - root@am62pxx-evm:~# echo disabled > /sys/class/rtc/rtc0/device/power/wakeup - root@am62pxx-evm:~# echo disabled > /sys/bus/platform/devices/2800000.serial/power/wakeup - root@am62pxx-evm:~# echo disabled > /sys/devices/platform/bus@f0000/f900000.usb/power/wakeup - root@am62pxx-evm:~# echo disabled > /sys/devices/platform/bus@f0000/f910000.usb/power/wakeup + root@:~# echo disabled > /sys/class/rtc/rtc0/device/power/wakeup + root@:~# echo disabled > /sys/bus/platform/devices/2800000.serial/power/wakeup + root@:~# echo disabled > /sys/devices/platform/bus@f0000/f900000.usb/power/wakeup + root@:~# echo disabled > /sys/devices/platform/bus@f0000/f910000.usb/power/wakeup .. rubric:: Then, configure PMIC register bit to turn off only selected rails for this mode. @@ -178,7 +176,7 @@ I/O Only Plus DDR .. code-block:: console - root@am62axx-evm:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x1 + root@:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x1 The register write has been done to enable PMIC to enter `PMIC S2R `_ . @@ -186,7 +184,7 @@ I/O Only Plus DDR .. code-block:: console - root@am62pxx-evm:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x2 + root@:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x2 .. rubric:: Now, the SoC can be suspended using the following command: diff --git a/source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst b/source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst index 21b473594..42aa51a54 100644 --- a/source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst +++ b/source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst @@ -32,7 +32,7 @@ The following drivers have been validated for Runtime PM in this release: .. ifconfig:: CONFIG_part_variant in ('AM62DX') - DSS, McASP, OSPI, MCAN. + McASP, OSPI, MCAN. .. rubric:: Driver Usage @@ -45,35 +45,44 @@ to control the Runtime PM behavior at per device level: #. *runtime_status:* current status of the device. It can be suspended, active, or unsupported. #. *runtime_suspended_time:* period that device has been suspended. -For example, here are the default values for DSS device: +For example, here are the default values for OSPI device: .. code-block:: console - root@am62xx-evm:~# tail -n +1 /sys/devices/platform/bus@f0000/30200000.dss/power/* - ==> /sys/devices/platform/bus@f0000/30200000.dss/power/autosuspend_delay_ms <== - 1000 + root@:~# tail -n +1 /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/* + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/autosuspend_delay_ms <== + 2000 - ==> /sys/devices/platform/bus@f0000/30200000.dss/power/control <== - auto + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/control <== + auto - ==> /sys/devices/platform/bus@f0000/30200000.dss/power/runtime_active_time <== - 24129 + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/runtime_active_time <== + 8612 - ==> /sys/devices/platform/bus@f0000/30200000.dss/power/runtime_status <== - active + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/runtime_status <== + suspended - ==> /sys/devices/platform/bus@f0000/30200000.dss/power/runtime_suspended_time <== - 0 + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/runtime_suspended_time <== + 734540 -To disable Runtime PM for the DSS device, the "control" parameter can be +To disable Runtime PM for the OSPI device, the "control" parameter can be changed to "on": .. code-block:: console - root@:~# echo on > /sys/devices/platform/bus@f0000/30200000.dss/power/control - root@:~# cat /sys/devices/platform/bus@f0000/30200000.dss/power/* - 1000 - on - 4629 - active - 199277671 + root@:~# echo on > /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/control + root@:~# tail -n +1 /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/* + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/autosuspend_delay_ms <== + 2000 + + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/control <== + on + + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/runtime_active_time <== + 11797 + + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/runtime_status <== + active + + ==> /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/runtime_suspended_time <== + 770604 diff --git a/source/linux/Foundational_Components/Power_Management/pm_sw_arch.rst b/source/linux/Foundational_Components/Power_Management/pm_sw_arch.rst index 10185ecec..409dd56e1 100644 --- a/source/linux/Foundational_Components/Power_Management/pm_sw_arch.rst +++ b/source/linux/Foundational_Components/Power_Management/pm_sw_arch.rst @@ -251,7 +251,26 @@ The mode selection is done using resume latencies as mentioned in TI SCI LPM Doc Learning Resources ****************** -#. `AM62x Technical Reference Manual `__ -#. `Technical White Paper on Enabling Low Power on AM62x `__ -#. :ref:`Low Power Modes Documentation` +.. ifconfig:: CONFIG_part_variant in ('AM62X') + + #. `AM62x Technical Reference Manual `__ + #. `Technical White Paper on Enabling Low Power on AM62x `__ + #. :ref:`Low Power Modes Documentation` + +.. ifconfig:: CONFIG_part_variant in ('AM62AX') + + #. `AM62Ax Technical Reference Manual `__ + #. `Technical White Paper on Enabling Low Power on AM62x `__ + #. :ref:`Low Power Modes Documentation` + +.. ifconfig:: CONFIG_part_variant in ('AM62PX') + + #. `AM62Px Technical Reference Manual `__ + #. `Technical White Paper on Enabling Low Power on AM62x `__ + #. :ref:`Low Power Modes Documentation` + +.. ifconfig:: CONFIG_part_variant in ('AM62DX') + #. `AM62Dx Technical Reference Manual `__ + #. `Technical White Paper on Enabling Low Power on AM62x `__ + #. :ref:`Low Power Modes Documentation` diff --git a/source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst b/source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst index 6a90bb7cf..ee938eaee 100644 --- a/source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst +++ b/source/linux/Foundational_Components/Power_Management/pm_wakeup_sources.rst @@ -967,15 +967,19 @@ MCU IPC based Wakeup .. ifconfig:: CONFIG_part_variant in ('AM62X') - `MCU+ SDK for AM62x `__ + `MCU+ SDK for AM62x `__ - .. ifconfig:: CONFIG_part_variant in ('AM62AX', 'AM62DX') + .. ifconfig:: CONFIG_part_variant in ('AM62AX') `MCU+ SDK for AM62Ax `__ .. ifconfig:: CONFIG_part_variant in ('AM62PX') - `MCU+ SDK for AM62Px `__ + `MCU+ SDK for AM62Px `__ + + .. ifconfig:: CONFIG_part_variant in ('AM62DX') + + `MCU+ SDK for AM62Dx `__ To use MCU IPC based wakeup, system should be placed into MCU Only mode as shown in the :ref:`LPM section`.