Skip to content
Open
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
25 changes: 19 additions & 6 deletions source/devices/AM62LX/linux/Linux_Performance_Guide.rst
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you update this template file in test-reports to add this section for future updates?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please elaborate?
Could not find any test_report template file for AM62Lx

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is automatically generated using a template and the lcpdresults server. If you manually change anything here it will be overwritten in the next release unless specifically added to that template. It's not platform specific, the same template runs for all platforms, if the test doesn't exist for that platform then the section does not get populated.

Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@

LMBench
^^^^^^^
LMBench is a collection of microbenchmarks of which the memory bandwidth
and latency related ones are typically used to estimate processor
LMBench is a collection of microbenchmarks of which the memory bandwidth

Check warning on line 41 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'microbenchmarks'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'microbenchmarks'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 41, "column": 28}}}, "severity": "WARNING"}

Check warning on line 41 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Spelling] Verify the word 'LMBench'. It is not in the American English spelling dictionary used by Vale. Raw Output: {"message": "[RedHat.Spelling] Verify the word 'LMBench'. It is not in the American English spelling dictionary used by Vale.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 41, "column": 1}}}, "severity": "WARNING"}
and latency related ones are typically used to estimate processor
memory system performance. More information about lmbench at
https://lmbench.sourceforge.net/whatis_lmbench.html and
https://lmbench.sourceforge.net/man/lmbench.8.html
Expand Down Expand Up @@ -186,7 +186,7 @@
modern processors. It scales linearly with clock speed.

Please take note, different run may produce different slightly results.
This is advised to run this test multiple times in order to get maximum
This is advised to run this test multiple times in order to get maximum

Check warning on line 189 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsSuggestions] Depending on the context, consider using 'to' rather than 'in order to'. Raw Output: {"message": "[RedHat.TermsSuggestions] Depending on the context, consider using 'to' rather than 'in order to'.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 189, "column": 49}}}, "severity": "INFO"}

Check warning on line 189 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.TermsWarnings] Consider using 'to' rather than 'in order to' unless updating existing content that uses the term. Raw Output: {"message": "[RedHat.TermsWarnings] Consider using 'to' rather than 'in order to' unless updating existing content that uses the term.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 189, "column": 49}}}, "severity": "WARNING"}

Check warning on line 189 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.SimpleWords] Use simple language. Consider using 'many' rather than 'multiple'. Raw Output: {"message": "[RedHat.SimpleWords] Use simple language. Consider using 'many' rather than 'multiple'.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 189, "column": 34}}}, "severity": "INFO"}

Check warning on line 189 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.PassiveVoice] 'is advised' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice. Raw Output: {"message": "[RedHat.PassiveVoice] 'is advised' is passive voice. In general, use active voice. Consult the style guide for acceptable use of passive voice.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 189, "column": 6}}}, "severity": "INFO"}
performance numbers.

Execute the benchmark with the following:
Expand Down Expand Up @@ -485,7 +485,7 @@
- CPSW2g: AM65x, J7200, J721e, J721S2, J784S4, J742S2
- CPSW3g: AM64x, AM62x, AM62ax, AM62px

.. rubric:: TCP Bidirectional Throughput
.. rubric:: TCP Bidirectional Throughput
:name: CPSW2g-tcp-bidirectional-throughput

.. csv-table:: CPSW2g TCP Bidirectional Throughput
Expand Down Expand Up @@ -689,7 +689,7 @@

USB Driver
----------

USB Device Controller
^^^^^^^^^^^^^^^^^^^^^

Expand All @@ -710,7 +710,7 @@
^^^^^^^^^^^^^^^^^

These are power measurements taken while the device is in various low power modes like
Deep Sleep and RTC Only + DDR.
Deep Sleep, RTC Only + DDR, and RTC Only.

Check warning on line 713 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

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

Check warning on line 713 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

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

Check warning on line 713 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

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

.. csv-table:: Deep Sleep Power Performance
:header: "Rail name","Rail voltage(V)","Power (mW)"
Expand All @@ -736,12 +736,25 @@
"vdd_rtc_1v8", "1.80", "0.02"
"Total"," ","3.62"

.. csv-table:: RTC Only Power Performance

Check warning on line 739 in source/devices/AM62LX/linux/Linux_Performance_Guide.rst

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [RedHat.Definitions] Define acronyms and abbreviations (such as 'RTC') on first occurrence if they're likely to be unfamiliar. Raw Output: {"message": "[RedHat.Definitions] Define acronyms and abbreviations (such as 'RTC') on first occurrence if they're likely to be unfamiliar.", "location": {"path": "source/devices/AM62LX/linux/Linux_Performance_Guide.rst", "range": {"start": {"line": 739, "column": 16}}}, "severity": "INFO"}
:header: "Rail name","Rail voltage(V)","Power (mW)"

"vdd_core", "0.00", "0.00"
"soc_dvdd_1v8", "0.00", "0.00"
"soc_dvdd_3v3", "0.00", "0.00"
"vdda_1v8", "0.00", "0.00"
"vdd_lpddr4_pmic2", "0.00", "0.00"
"vdd_rtc", "0.75", "0.02"
"vdd_rtc_1v8", "1.80", "0.01"
"Total"," ","0.04"

Resume Latency Performance
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. csv-table:: LPM Resume Latency Performance
:header: "Low Power Mode","Total Resume Latency (ms)"

"RTC Only", "Full normal boot time (~seconds)"
"RTC Only + DDR", "456.44"
"Deep Sleep", "109.96"

Expand Down
Binary file added source/images/am62l_lpm_j14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,71 @@ values are detailed in the device-specific data sheet. As part of this SDK offer
Texas Instruments has added support for the following low power modes (ordered from lowest power consumption
to highest power consumption):

#. RTC Only
#. RTC Only Plus DDR
#. Deep Sleep

RTC Only
********

RTC Only mode is the deepest low power mode that allows the system to enter a complete poweroff state
with ultra-low power consumption while maintaining system time and wakeup capability.
Unlike other low power modes, RTC Only powers off all domains except the RTC, which remains active
to keep track of system time and provide wakeup via RTC alarm or RTC I/O event.

.. note::

The system loses nearly all its state as DDR is also turned-off.
RTC Only is comparable with a Linux poweroff state with system timer ON.

.. important::

Jumper J14 position on the EVM determines which low power mode is entered. For RTC Only mode,
connect jumper J14 to the position marked as "RTC ONLY MODE".

.. image:: /images/am62l_lpm_j14.png

The reference implementation in this SDK implements RTC Only as a poweroff state.
When the system powers off, the RTC driver programs the RTC hardware for poweroff mode.
The final sequence to power off the system is executed by TF-A firmware, which pulls the PMIC_EN
signal low to turn off all the supply rails powered by the PMIC.

On AM62L platforms, if the ``system-power-controller`` device tree property is not set on the PMIC node,
the PMIC will not register a poweroff handler. In this configuration, TF-A firmware handles the
poweroff sequence and the system enters RTC Only mode. This allows the system to maintain accurate
system time and provide wakeup capability via RTC alarm or external button press while consuming
minimal power.

RTC Only mode supports two wakeup sources: RTC timer alarm and RTC I/O pins.

Use the following command to enter RTC Only mode with a timer alarm for wakeup:

.. code-block:: console

root@<machine>:~# rtcwake -s <time> -m off

Use the following command to enter RTC Only mode with RTC I/O (button press) for wakeup:

.. code-block:: console

root@<machine>:~# poweroff

At this point, the Linux kernel will go through its poweroff process and
the console output will stop at the following lines:

.. code-block:: dmesg

[ 51.698039] systemd-shutdown[1]: Powering off.
[ 51.769478] reboot: Power down

The system has entered RTC Only mode and can be woken up by activity on an RTC I/O pin
programmed for wakeup. If an alarm was set, the system will automatically wake up
when the alarm triggers.

During resume from RTC Only mode, the system goes through a normal Linux boot process. The RTC driver
detects that the RTC is already programmed and skips the full initialization, performing only minimal
cleanup to preserve the system time.

RTC Only Plus DDR
*****************

Expand All @@ -29,6 +91,11 @@ RTC Only Plus DDR
RTC Only + DDR mode is the deepest low power mode that allows the system to enter a state of lowest power consumption
while still retaining the DDR RAM context.

.. important::

Jumper J14 position on the EVM determines which low power mode is entered. For RTC Only + DDR mode,
connect jumper J14 to the position marked as "RTC + DDR MODE" (different from RTC Only Mode).

In order to enter RTC Only + DDR mode, first disable USB0 and USB1 as wakeup
sources.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,6 @@ supported by the Linux kernel.

The static power management features on |__PART_FAMILY_DEVICE_NAMES__| are:

#. RTC Only
#. RTC Only Plus DDR
#. Deep Sleep
Original file line number Diff line number Diff line change
Expand Up @@ -53,21 +53,21 @@ valid for given low power modes:

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

+------------------------------------------------+------------+----------------+
| Wakeup Source | Deep Sleep | RTC Only + DDR |
+================================================+============+================+
| Real-Time Clock (RTC) | Yes | Yes |
+------------------------------------------------+------------+----------------+
| WKUP GPIO | Yes | No |
+------------------------------------------------+------------+----------------+
| Main I/O Daisy Chain (Main GPIO and Main UART) | Yes | No |
+------------------------------------------------+------------+----------------+
| WKUP UART | Yes | No |
+------------------------------------------------+------------+----------------+
| USB Wakeup | Yes | No |
+------------------------------------------------+------------+----------------+
| RTC Ext Pin | Yes | Yes |
+------------------------------------------------+------------+----------------+
+------------------------------------------------+------------+----------------+----------+
| Wakeup Source | Deep Sleep | RTC Only + DDR | RTC Only |
+================================================+============+================+==========+
| Real-Time Clock (RTC) | Yes | Yes | Yes |
+------------------------------------------------+------------+----------------+----------+
| WKUP GPIO | Yes | No | No |
+------------------------------------------------+------------+----------------+----------+
| Main I/O Daisy Chain (Main GPIO and Main UART) | Yes | No | No |
+------------------------------------------------+------------+----------------+----------+
| WKUP UART | Yes | No | No |
+------------------------------------------------+------------+----------------+----------+
| USB Wakeup | Yes | No | No |
+------------------------------------------------+------------+----------------+----------+
| RTC Ext Pin | Yes | Yes | Yes |
+------------------------------------------------+------------+----------------+----------+

*********************
Real-Time Clock (RTC)
Expand Down
Loading