MX9 Operational Modes: Difference between revisions

From Variscite Wiki
(Created page with "<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V1.0_DART-MX8M as default --> {{INIT_RELEASE_PARAM|mx93-yocto-mickledore-6.1.36_2.1.0-v1.0}}<!-- --> {{#lst:Yocto_Platform_Customization|{{#var:RELEASE_PARAM}}}} {{PageHeader|{{#var:HARDWARE_NAME}} Operational Modes}} .{{DocImage|category1=Yocto|category2=Android}}Category:DebianCategory:VAR-SOM-MX93 = Introduction = The {{#var:HARDWARE_NAME}} supports several operating modes: {| cla...")
 
 
(3 intermediate revisions by one other user not shown)
Line 7: Line 7:
= Introduction =
= Introduction =


The {{#var:HARDWARE_NAME}} supports several operating modes:
The {{#var:HARDWARE_NAME}} supports several operating modes that allow for reduced power usage::


{| class="wikitable"  
{| class="wikitable"  
Line 19: Line 19:
| 0.8V
| 0.8V
| 933 MHz
| 933 MHz
| 933 MHz (1866 MTS)
| 933 MHz (1866 MT/s)
|-
|-
| Nominal Drive (NDM)
| Nominal Drive (NDM)
| 0.85V
| 0.85V
| 1.4 GHz
| 1.4 GHz
| 1400 MHz (2800 MTS)
| 1400 MHz (2800 MT/s)
|-
|-
| Overdrive (ODM)
| Overdrive (ODM)
| 0.9V<br />
| 0.9V<br />
| 1.7 GHz
| 1.7 GHz
| 1866 MHz (3733 MTS)
| 1866 MHz (3733 MT/s)
|}
|}


The Variscite release, based on NXP's Linux BSP GA release, configures the system to run in Overdrive mode (ODM) by default. This Overdrive mode and associated performance are not necessary for some user applications. Users can transition to Nominal or Low-drive mode as defined in the i.MX 93 data sheet instead.
The Variscite release, based on NXP's Linux BSP GA release, configures the system to run in Overdrive mode (ODM) by default. This Overdrive mode and associated performance are not necessary for some user applications. Users can transition to Nominal or Low-drive mode as defined in the i.MX 93 data sheet instead.


For more information, please refer to the [https://www.nxp.com/docs/en/data-sheet/IMX93CEC.pdf {{#var:SOC}} Datasheet] and [https://www.nxp.com/docs/en/reference-manual/IMX_REFERENCE_MANUAL.pdf {{#var:SOC}} Reference Manual].
For more information, please refer to:
* [https://www.nxp.com/docs/en/data-sheet/IMX93CEC.pdf i.MX 93 Datasheet]
* [https://www.nxp.com/docs/en/reference-manual/IMX_REFERENCE_MANUAL.pdf IMX Reference Manual]
* [https://docs.nxp.com/bundle/AN13917/page/topics/reducing_power_consumption_0.html AN13917: Reducing Power Consumption]
* [https://docs.nxp.com/bundle/AN13917/page/topics/overview_of_imx_93_power.html AN13917: i.MX 93 Power Consumption Measurement]


= Changing Modes =
= Changing Modes =
Line 55: Line 59:
  System is in OD mode with DDR 3733 MTS!
  System is in OD mode with DDR 3733 MTS!


Change to NDM (1866 MTS):
Change to NDM (1866 MT/s):
  root@{{#var:MACHINE_NAME}}:~# echo 1 > /sys/devices/platform/imx93-lpm/mode
  root@{{#var:MACHINE_NAME}}:~# echo 1 > /sys/devices/platform/imx93-lpm/mode
  System switching to ND mode...
  System switching to ND mode...
Line 61: Line 65:
  System is in ND mode with DDR 1866 MTS!
  System is in ND mode with DDR 1866 MTS!


Change to LDM (1866 MTS):
Change to LDM (1866 MT/s):
  root@{{#var:MACHINE_NAME}}:~# echo 2 > /sys/devices/platform/imx93-lpm/mode
  root@{{#var:MACHINE_NAME}}:~# echo 2 > /sys/devices/platform/imx93-lpm/mode
  System switching to LD/SWFFC mode...
  System switching to LD/SWFFC mode...
Line 67: Line 71:
  System is in LD mode with DDR 1866 MTS!
  System is in LD mode with DDR 1866 MTS!


Change to LDM (625 MTS):
Change to LDM (625 MT/s):
  root@{{#var:MACHINE_NAME}}:~# echo 3 > /sys/devices/platform/imx93-lpm/mode
  root@{{#var:MACHINE_NAME}}:~# echo 3 > /sys/devices/platform/imx93-lpm/mode
  System switching to LD/SWFFC mode...
  System switching to LD/SWFFC mode...
Line 73: Line 77:
  System is in LD mode with DDR 625 MTS!
  System is in LD mode with DDR 625 MTS!


Change to ODM (3733 MTS):
Change to ODM (3733 MT/s):
  root@{{#var:MACHINE_NAME}}:~# echo 0 > /sys/devices/platform/imx93-lpm/mode
  root@{{#var:MACHINE_NAME}}:~# echo 0 > /sys/devices/platform/imx93-lpm/mode
  System switching to OD mode...
  System switching to OD mode...
Line 81: Line 85:
== Simple Memory Bandwidth Test ==
== Simple Memory Bandwidth Test ==


The iperf3 utility can be used to run a simple memory bandwidth test in each mode.
The iperf3 utility can be used to run a simple test that will report bitrates relative to the system speed.


Start an iperf3 server:
Start an iperf3 server:
Line 114: Line 118:
! Mode
! Mode
! VDD_SOC
! VDD_SOC
! MTS
! MT/s
! iperf3 Speed (Mbps)
! iperf3 Speed (Mbps)
|-
|-

Latest revision as of 17:08, 18 December 2023

Warning: This page is designed to be used with a 'release' URL parameter.

This page is using the default release mx93-yocto-mickledore-6.1.36_2.1.0-v1.0.
To view this page for a specific Variscite SoM and software release, please follow these steps:

  1. Visit variwiki.com
  2. Select your SoM
  3. Select the software release
Operational Modes

.

Introduction

The supports several operating modes that allow for reduced power usage::

Mode VDD_SOC A55 Max Frequency
DRAM Max Frequency
Low Drive (LDM) 0.8V 933 MHz 933 MHz (1866 MT/s)
Nominal Drive (NDM) 0.85V 1.4 GHz 1400 MHz (2800 MT/s)
Overdrive (ODM) 0.9V
1.7 GHz 1866 MHz (3733 MT/s)

The Variscite release, based on NXP's Linux BSP GA release, configures the system to run in Overdrive mode (ODM) by default. This Overdrive mode and associated performance are not necessary for some user applications. Users can transition to Nominal or Low-drive mode as defined in the i.MX 93 data sheet instead.

For more information, please refer to:

Changing Modes

Boot low drive device tree

The default device tree supports ODM. A special device tree ' must be booted to support NDM and LDM:

# fw_setenv fdt_file 

This device tree enables low drive mode and reduces the speed of the flexspi and usdhc peripherals so they can operate at the lower CPU and DRAM frequencies.

Change between modes

The driver/imx/soc/imx93_lpm.c driver uses imx-atf to manage the operating mode and can be controlled using a sysfs interface.

Read the current mode:

root@:~# cat /sys/devices/platform/imx93-lpm/mode
System is in OD mode with DDR 3733 MTS!

Change to NDM (1866 MT/s):

root@:~# echo 1 > /sys/devices/platform/imx93-lpm/mode
System switching to ND mode...
root@:~# cat /sys/devices/platform/imx93-lpm/mode
System is in ND mode with DDR 1866 MTS!

Change to LDM (1866 MT/s):

root@:~# echo 2 > /sys/devices/platform/imx93-lpm/mode
System switching to LD/SWFFC mode...
root@:~# cat /sys/devices/platform/imx93-lpm/mode
System is in LD mode with DDR 1866 MTS!

Change to LDM (625 MT/s):

root@:~# echo 3 > /sys/devices/platform/imx93-lpm/mode
System switching to LD/SWFFC mode...
root@:~# cat /sys/devices/platform/imx93-lpm/mode
System is in LD mode with DDR 625 MTS!

Change to ODM (3733 MT/s):

root@:~# echo 0 > /sys/devices/platform/imx93-lpm/mode
System switching to OD mode...
root@:~# cat /sys/devices/platform/imx93-lpm/mode
System is in LD mode with DDR 3733 MTS!

Simple Memory Bandwidth Test

The iperf3 utility can be used to run a simple test that will report bitrates relative to the system speed.

Start an iperf3 server:

root@:~# iperf3 -s > /dev/null &

Switch to the preferred mode, and run an iperf3 client:

root@:~# iperf3 -c localhost
Connecting to host localhost, port 5201
[  5] local ::1 port 57608 connected to ::1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   526 MBytes  4.41 Gbits/sec    0   1.44 MBytes       
[  5]   1.00-2.00   sec   528 MBytes  4.42 Gbits/sec    0   1.44 MBytes       
[  5]   2.00-3.00   sec   526 MBytes  4.42 Gbits/sec    0   1.44 MBytes       
[  5]   3.00-4.00   sec   529 MBytes  4.44 Gbits/sec    0   1.87 MBytes       
[  5]   4.00-5.00   sec   530 MBytes  4.44 Gbits/sec    0   1.87 MBytes       
[  5]   5.00-6.00   sec   530 MBytes  4.45 Gbits/sec    0   1.87 MBytes       
[  5]   6.00-7.00   sec   532 MBytes  4.47 Gbits/sec    0   1.87 MBytes       
[  5]   7.00-8.00   sec   528 MBytes  4.43 Gbits/sec    0   1.87 MBytes       
[  5]   8.00-9.00   sec   531 MBytes  4.45 Gbits/sec    0   1.87 MBytes       
[  5]   9.00-10.00  sec   529 MBytes  4.44 Gbits/sec    0   1.87 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  5.16 GBytes  4.44 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  5.16 GBytes  4.44 Gbits/sec                  receiver

Below are the results performed using Yocto Mickledore with the 6.1.36 kernel:

Mode VDD_SOC MT/s iperf3 Speed (Mbps)
Low Drive 0.8V 625 974
Low Drive 0.8V 1866 2100
Nominal Drive 0.85V 1866 2100
Overdrive 0.9V 3733
4400