From dfa0457b95b753833c508a866bd7e19b9f200644 Mon Sep 17 00:00:00 2001 From: Kendall Willis Date: Fri, 18 Jul 2025 16:00:57 -0500 Subject: [PATCH 1/2] refactor(linux): AM62*: Add LPM subheading and name tables Add a subheading for the power performance of LPM. Add the table names to the csv-table instead of being text before the table. Signed-off-by: Kendall Willis --- .../devices/AM62AX/linux/Linux_Performance_Guide.rst | 9 ++++----- .../devices/AM62LX/linux/Linux_Performance_Guide.rst | 11 +++++------ .../devices/AM62PX/linux/Linux_Performance_Guide.rst | 9 ++++----- .../devices/AM62X/linux/Linux_Performance_Guide.rst | 9 ++++----- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/source/devices/AM62AX/linux/Linux_Performance_Guide.rst b/source/devices/AM62AX/linux/Linux_Performance_Guide.rst index 8ffd955b2..c1929b886 100644 --- a/source/devices/AM62AX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62AX/linux/Linux_Performance_Guide.rst @@ -702,9 +702,10 @@ Listed for each algorithm are the code snippets used to run each benchmark test. Low Power Performance ------------------------- -Table: **Deep sleep** +Power Performance +^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: Deep Sleep Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core","0.85","19.16" @@ -715,9 +716,7 @@ Table: **Deep sleep** "vdd_lpddr4","1.10","3.59" "Total"," ","42.96" -Table: **MCU only** - -.. csv-table:: +.. csv-table:: MCU Only Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core","0.85","199.73" diff --git a/source/devices/AM62LX/linux/Linux_Performance_Guide.rst b/source/devices/AM62LX/linux/Linux_Performance_Guide.rst index a388b0a38..dde87366d 100644 --- a/source/devices/AM62LX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62LX/linux/Linux_Performance_Guide.rst @@ -806,12 +806,13 @@ USB Device Controller Low Power Performance --------------------- +Power Performance +^^^^^^^^^^^^^^^^^ + These are power measurements taken while the device is in various low power modes like Deep Sleep and RTC Only + DDR. -Table: **Deep sleep** - -.. csv-table:: +.. csv-table:: Deep Sleep Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core", "0.75", "4.88" @@ -823,9 +824,7 @@ Table: **Deep sleep** "vdd_rtc_1v8", "1.80", "0.01" "Total"," ","~11.04" -Table: **RTC Only + DDR** - -.. csv-table:: +.. csv-table:: RTC Only + DDR Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core", "0.00", "0.00" diff --git a/source/devices/AM62PX/linux/Linux_Performance_Guide.rst b/source/devices/AM62PX/linux/Linux_Performance_Guide.rst index 41ead0567..c18499c7d 100644 --- a/source/devices/AM62PX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62PX/linux/Linux_Performance_Guide.rst @@ -970,9 +970,10 @@ Listed for each algorithm are the code snippets used to run each Low Power Performance --------------------- -Table: **Deep sleep** +Power Performance +^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: Deep Sleep Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core","0.85","8.95" @@ -983,9 +984,7 @@ Table: **Deep sleep** "vdd_lpddr4","1.10","0.46" "Total"," ","88.66" -Table: **MCU only** - -.. csv-table:: +.. csv-table:: MCU Only Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core","0.85","211.34" diff --git a/source/devices/AM62X/linux/Linux_Performance_Guide.rst b/source/devices/AM62X/linux/Linux_Performance_Guide.rst index 9dec33c2e..be5d31e8e 100644 --- a/source/devices/AM62X/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62X/linux/Linux_Performance_Guide.rst @@ -1126,9 +1126,10 @@ IPSec Software Performance Low Power Performance ------------------------- -Table: **Deep sleep** +Power Performance +^^^^^^^^^^^^^^^^^ -.. csv-table:: +.. csv-table:: Deep Sleep Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core","0.85","8.53" @@ -1139,9 +1140,7 @@ Table: **Deep sleep** "vdd_ddr4","1.10","7.50" "Total"," ","24.37" -Table: **MCU only** - -.. csv-table:: +.. csv-table:: MCU Only Power Performance :header: "Rail name","Rail voltage(V)","Power (mW)" "vdd_core","0.85","109.46" From 74a3fdff0e43813655d0e76ff2705302085b5cfa Mon Sep 17 00:00:00 2001 From: Kendall Willis Date: Fri, 18 Jul 2025 16:07:39 -0500 Subject: [PATCH 2/2] feat(linux): AM62*: Introduce LPM resume latency performance Add the LPM resume latency performance for AM62 family of devices. Signed-off-by: Kendall Willis --- .../AM62AX/linux/Linux_Performance_Guide.rst | 25 ++++++++++++++++++ .../AM62PX/linux/Linux_Performance_Guide.rst | 26 +++++++++++++++++++ .../AM62X/linux/Linux_Performance_Guide.rst | 25 ++++++++++++++++++ 3 files changed, 76 insertions(+) diff --git a/source/devices/AM62AX/linux/Linux_Performance_Guide.rst b/source/devices/AM62AX/linux/Linux_Performance_Guide.rst index c1929b886..6b05fedbc 100644 --- a/source/devices/AM62AX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62AX/linux/Linux_Performance_Guide.rst @@ -735,3 +735,28 @@ Partial I/O Data The measurements shown are from an AM62Ax rev E3. Results may vary based off of the board revision being used. Further optimizations are possible for these low power modes. Please refer to the AM62x Power Consumption App Note (https://www.ti.com/lit/pdf/spradg1) + +Resume Latency Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: LPM Resume Latency Performance + :header: "Low Power Mode","Total Resume Latency (ms)" + + "Deep Sleep", "146.45" + "MCU Only", "110.40" + +The performance numbers are measured without the Linux printk logs. To remove the +Linux printk logs, run the following commands in the terminal: + +.. code:: console + + # Detach kernel serial console + consoles=$(find /sys/bus/platform/devices/*.serial/ -name console) + for console in ${consoles}; do + echo -n N > ${console} + done + + +.. note:: + + The measurements shown are from using the default SDK with no extra optimizations. diff --git a/source/devices/AM62PX/linux/Linux_Performance_Guide.rst b/source/devices/AM62PX/linux/Linux_Performance_Guide.rst index c18499c7d..eb0861feb 100644 --- a/source/devices/AM62PX/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62PX/linux/Linux_Performance_Guide.rst @@ -1008,3 +1008,29 @@ Partial I/O Data The measurements shown are from an AM62Px SK rev E1-1. Results may vary based off of the board revision being used. Further optimizations are possible for these low power modes. Please refer to the AM62x Power Consumption App Note (https://www.ti.com/lit/pdf/spradg1) + +Resume Latency Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: LPM Resume Latency Performance + :header: "Low Power Mode","Total Resume Latency (ms)" + + "I/O Only + DDR", "715.09" + "Deep Sleep", "143.33" + "MCU Only", "94.17" + +The performance numbers are measured without the Linux printk logs. To remove the +Linux printk logs, run the following commands in the terminal: + +.. code:: console + + # Detach kernel serial console + consoles=$(find /sys/bus/platform/devices/*.serial/ -name console) + for console in ${consoles}; do + echo -n N > ${console} + done + + +.. note:: + + The measurements shown are from using the default SDK with no extra optimizations. diff --git a/source/devices/AM62X/linux/Linux_Performance_Guide.rst b/source/devices/AM62X/linux/Linux_Performance_Guide.rst index be5d31e8e..9d5d7844e 100644 --- a/source/devices/AM62X/linux/Linux_Performance_Guide.rst +++ b/source/devices/AM62X/linux/Linux_Performance_Guide.rst @@ -1159,3 +1159,28 @@ Partial I/O Data The measurements shown are from an SK-AM62B-P1. Results may vary based off of the board variant being used. Further optimizations are possible for these low power modes. Please refer to the AM62x Power Consumption App Note (https://www.ti.com/lit/pdf/spradg1) + +Resume Latency Performance +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. csv-table:: LPM Resume Latency Performance + :header: "Low Power Mode","Total Resume Latency (ms)" + + "Deep Sleep", "137.03" + "MCU Only", "86.12" + +The performance numbers are measured without the Linux printk logs. To remove the +Linux printk logs, run the following commands in the terminal: + +.. code:: console + + # Detach kernel serial console + consoles=$(find /sys/bus/platform/devices/*.serial/ -name console) + for console in ${consoles}; do + echo -n N > ${console} + done + + +.. note:: + + The measurements shown are from using the default SDK with no extra optimizations.