Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
- 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%

Check warning on line 56 in source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'MCU') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'MCU') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/devices/AM62PX/linux/Release_Specific_Release_Notes.rst", "range": {"start": {"line": 56, "column": 44}}}, "severity": "INFO"}

**Key Release References:**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@
#. 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<pm_constraints_fwk>` section.
More details about the low power mode architecture can be found in

Check warning on line 24 in source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'be found' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'be found' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/linux/Foundational_Components/Power_Management/pm_low_power_modes.rst", "range": {"start": {"line": 24, "column": 56}}}, "severity": "INFO"}
:ref:`LPM constraints framework<pm_constraints_fwk>` section.

***********
Partial I/O
Expand Down Expand Up @@ -158,35 +156,35 @@

.. 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@<machine>:~# echo disabled > /sys/class/rtc/rtc0/device/power/wakeup
root@<machine>:~# echo disabled > /sys/bus/platform/devices/2800000.serial/power/wakeup
root@<machine>:~# echo disabled > /sys/devices/platform/bus@f0000/f900000.dwc3-usb/power/wakeup
root@<machine>:~# 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@<machine>:~# echo disabled > /sys/class/rtc/rtc0/device/power/wakeup
root@<machine>:~# echo disabled > /sys/bus/platform/devices/2800000.serial/power/wakeup
root@<machine>:~# echo disabled > /sys/devices/platform/bus@f0000/f900000.usb/power/wakeup
root@<machine>:~# 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.

.. ifconfig:: CONFIG_part_variant in ('AM62AX', 'AM62DX')

.. code-block:: console

root@am62axx-evm:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x1
root@<machine>:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x1

The register write has been done to enable PMIC to enter `PMIC S2R <https://www.ti.com/lit/ug/slvucm3/slvucm3.pdf>`_ .

.. ifconfig:: CONFIG_part_variant in ('AM62PX')

.. code-block:: console

root@am62pxx-evm:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x2
root@<machine>:~# i2cset -f -y -m 0xFF -r -a 0 0x48 0x86 0x2

.. rubric:: Now, the SoC can be suspended using the following command:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

.. ifconfig:: CONFIG_part_variant in ('AM62DX')

DSS, McASP, OSPI, MCAN.
McASP, OSPI, MCAN.

.. rubric:: Driver Usage

Expand All @@ -45,35 +45,44 @@
#. *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:

Check warning on line 48 in source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'OSPI') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'OSPI') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst", "range": {"start": {"line": 48, "column": 46}}}, "severity": "INFO"}

.. 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@<machine>:~# 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

Check warning on line 68 in source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'be changed' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'be changed' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst", "range": {"start": {"line": 68, "column": 72}}}, "severity": "INFO"}

Check warning on line 68 in source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'OSPI') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'OSPI') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/linux/Foundational_Components/Power_Management/pm_runtime_pm.rst", "range": {"start": {"line": 68, "column": 31}}}, "severity": "INFO"}
changed to "on":

.. code-block:: console

root@<machine>:~# echo on > /sys/devices/platform/bus@f0000/30200000.dss/power/control
root@<machine>:~# cat /sys/devices/platform/bus@f0000/30200000.dss/power/*
1000
on
4629
active
199277671
root@<machine>:~# echo on > /sys/devices/platform/bus@f0000/fc00000.bus/fc40000.spi/power/control
root@<machine>:~# 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
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://www.ti.com/lit/pdf/spruiv7>`__
#. `Technical White Paper on Enabling Low Power on AM62x <https://www.ti.com/lit/wp/sprad41/sprad41.pdf>`__
#. :ref:`Low Power Modes Documentation<lpm_modes>`
.. ifconfig:: CONFIG_part_variant in ('AM62X')

#. `AM62x Technical Reference Manual <https://www.ti.com/lit/pdf/spruiv7>`__
#. `Technical White Paper on Enabling Low Power on AM62x <https://www.ti.com/lit/wp/sprad41/sprad41.pdf>`__
#. :ref:`Low Power Modes Documentation<lpm_modes>`

.. ifconfig:: CONFIG_part_variant in ('AM62AX')

#. `AM62Ax Technical Reference Manual <https://www.ti.com/lit/ug/spruj16c/spruj16c.pdf>`__
#. `Technical White Paper on Enabling Low Power on AM62x <https://www.ti.com/lit/wp/sprad41/sprad41.pdf>`__
#. :ref:`Low Power Modes Documentation<lpm_modes>`

.. ifconfig:: CONFIG_part_variant in ('AM62PX')

#. `AM62Px Technical Reference Manual <https://www.ti.com/lit/ug/spruj83d/spruj83d.pdf>`__
#. `Technical White Paper on Enabling Low Power on AM62x <https://www.ti.com/lit/wp/sprad41/sprad41.pdf>`__
#. :ref:`Low Power Modes Documentation<lpm_modes>`

.. ifconfig:: CONFIG_part_variant in ('AM62DX')

#. `AM62Dx Technical Reference Manual <https://www.ti.com/lit/ug/sprujd4a/sprujd4a.pdf>`__
#. `Technical White Paper on Enabling Low Power on AM62x <https://www.ti.com/lit/wp/sprad41/sprad41.pdf>`__
#. :ref:`Low Power Modes Documentation<lpm_modes>`
Original file line number Diff line number Diff line change
Expand Up @@ -967,15 +967,19 @@ MCU IPC based Wakeup

.. ifconfig:: CONFIG_part_variant in ('AM62X')

`MCU+ SDK for AM62x <https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_01_00_16/exports/docs/api_guide_am62x/index.html>`__
`MCU+ SDK for AM62x <https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/12_00_00_27/exports/docs/api_guide_am62x/index.html>`__

.. ifconfig:: CONFIG_part_variant in ('AM62AX', 'AM62DX')
.. ifconfig:: CONFIG_part_variant in ('AM62AX')

`MCU+ SDK for AM62Ax <https://software-dl.ti.com/mcu-plus-sdk/esd/AM62AX/11_01_00_16/exports/docs/api_guide_am62ax/index.html>`__

.. ifconfig:: CONFIG_part_variant in ('AM62PX')

`MCU+ SDK for AM62Px <https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/11_01_01_08/exports/docs/api_guide_am62px/index.html>`__
`MCU+ SDK for AM62Px <https://software-dl.ti.com/mcu-plus-sdk/esd/AM62PX/12_00_00_27/exports/docs/api_guide_am62px/index.html>`__

.. ifconfig:: CONFIG_part_variant in ('AM62DX')

`MCU+ SDK for AM62Dx <https://software-dl.ti.com/mcu-plus-sdk/esd/AM62DX/12_00_00_22/exports/docs/api_guide_am62dx/index.html>`__

To use MCU IPC based wakeup, system should be placed into MCU Only mode
as shown in the :ref:`LPM section<pm_mcu_only>`.
Expand Down
Loading