Difference between revisions of "DESK-MX9-L/Deployment/Power Manager"

From DAVE Developer's Wiki
Jump to: navigation, search
Line 21: Line 21:
  
 
== Power consumption ==
 
== Power consumption ==
 
There are various operating modes available.
 
  
 
'''Attention''': the SOC used does not support the DVFS and therefore the use of the <code>governor</code> present in the Linux kernel, instead of this functionality to scale the performance to have lower consumption by the SOC there is a new technology the <code>Low Drive mode</code>.
 
'''Attention''': the SOC used does not support the DVFS and therefore the use of the <code>governor</code> present in the Linux kernel, instead of this functionality to scale the performance to have lower consumption by the SOC there is a new technology the <code>Low Drive mode</code>.
Line 31: Line 29:
  
 
* [https://www.nxp.com/docs/en/data-sheet/IMX93CEC.pdf i.MX93 datasheet]
 
* [https://www.nxp.com/docs/en/data-sheet/IMX93CEC.pdf i.MX93 datasheet]
* [https://docs.nxp.com/bundle/AN13917/page/topics/reducing_power_consumption_0.html AN13917: i.MX 93 Power Consumption Measurement]
+
* [https://docs.nxp.com/bundle/AN13917/page/topics/introduction.html AN13917: i.MX 93 Power Consumption Measurement]
* [https://docs.nxp.com/bundle/AN13917/page/topics/overview_of_imx_93_power_architecture.html AN13917: i.MX 93 Power Consumption Measurement]
 
  
 
There are four operating modes(Not all present by default on <code>Aura SOM</code>):
 
There are four operating modes(Not all present by default on <code>Aura SOM</code>):
Line 70: Line 67:
 
Note:
 
Note:
 
* (1): <code>Over drive</code> is the default operating mode.
 
* (1): <code>Over drive</code> is the default operating mode.
* (2): <code>Over drive</code> can be disabled, see [[#Device Tree | here]].
+
* (2): <code>Over drive</code> can be disabled, see [[#Disable Over drive Mode | here]].
* (3): <code>Low drive</code> need to activate from <code>device tree</code> by default these are not present, see [[#Device Tree | here]].
+
* (3): <code>Low drive</code> need to activate from <code>device tree</code> by default these are not present, see [[#Enable Low drive Mode | here]].
 
 
  
 
==== Device Tree ====
 
==== Device Tree ====
Line 107: Line 103:
 
</pre>
 
</pre>
  
The node to change the SOC voltage supply need the <code>PMIC buck regulator reference</code> on <code>Aura SOM</code> the PMIC Buck used are the <code>Buck1</code>.
+
The node <code>lpm</code> to change the SOC voltage supply need the <code>PMIC buck regulator reference</code> on <code>Aura SOM</code> the PMIC Buck used to power the SOC are the <code>Buck1</code>.
  
 
===== Enable Low drive Mode =====
 
===== Enable Low drive Mode =====
Line 125: Line 121:
 
===== Disable Over drive Mode =====
 
===== Disable Over drive Mode =====
  
To disable the <code>Over drive Mode</code> and have by defualt the <code>Nomial drive Mode</code> add the property <code>no-od-mode</code> on <code>lpm</code> node of device tree.
+
To disable the <code>Over drive Mode</code> and have by default the <code>Nomial drive Mode</code> add the property <code>no-od-mode</code> on <code>lpm</code> node of device tree.
  
 
==== Command ====
 
==== Command ====
Line 204: Line 200:
 
===== Quiet =====
 
===== Quiet =====
  
On quiet the core nt have any additional process/task.
+
On quiet the core not have any additional process/task.
  
 
===== Stressed =====
 
===== Stressed =====

Revision as of 13:18, 2 April 2024

History
Issue Date Notes
2024/04/02 Power Manager documentation



Power Manager[edit | edit source]

Operational characteristics[edit | edit source]

The measurement of power consumption of the SOM are executed with 3.3 V supply.

Power consumption[edit | edit source]

Attention: the SOC used does not support the DVFS and therefore the use of the governor present in the Linux kernel, instead of this functionality to scale the performance to have lower consumption by the SOC there is a new technology the Low Drive mode.

Low Drive mode[edit | edit source]

Documentation from NXP:

There are four operating modes(Not all present by default on Aura SOM):

Mode VDD SOC A55 Max Frequency DRAM Max Frequency Note
Over drive (OD Mode, default) 0.9 V 1700 MHz 1866 MHz (3733 MTS) (1)(2)
Nominal drive (ND Mode) 0.85 V 1400 MHz 1400 MHz (2800 MTS) -
Low drive (LD Mode) (1) 0.8 V 933 MHz 933 MHz (1866 MTS) (3)
Low drive (LD Mode) (2) 0.8 V 933 MHz 625 MTS (3)

Note:

  • (1): Over drive is the default operating mode.
  • (2): Over drive can be disabled, see here.
  • (3): Low drive need to activate from device tree by default these are not present, see here.

Device Tree[edit | edit source]

To enable/disable and configure the driver must use the device tree, by default the node lpm present on arch/arm64/boot/dts/freescale/imx93.dtsi are disabled, then the Low Drive Mode are disable.

By default on Aura SOM the support are enable with minimal configuration to have:

  • Over drive Mode
  • Nominal drive Mode

To do this see arch/arm64/boot/dts/freescale/imx93-aura.dtsi:

...
&lpm {
	soc-supply = <&buck1>;
	status = "okay";
};
...
&lpi2c2 {
        ....
	pmic@25 {
		compatible = "nxp,pca9451a";
                ...
		regulators {
			buck1: BUCK1 {
				...
			};
		...
		};
	...
	};
};
...

The node lpm to change the SOC voltage supply need the PMIC buck regulator reference on Aura SOM the PMIC Buck used to power the SOC are the Buck1.

Enable Low drive Mode[edit | edit source]

To enable the two modality Low drive Mode add the property ld-mode-enabled on lpm node of device tree.

By default on Aura SOM this modalities are disabled.

Attention: if you want to add this modalities check if you must change the clock rate of the other peripherals like:

  • flexspi1 to 266000000.
  • usdhc1 to 266000000.
  • usdhc2 to 266000000.
  • usdhc3 to 266000000.

See also the NXP EVK here arch/arm64/boot/dts/freescale/imx93-11x11-evk-ld.dts

Disable Over drive Mode[edit | edit source]

To disable the Over drive Mode and have by default the Nomial drive Mode add the property no-od-mode on lpm node of device tree.

Command[edit | edit source]

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@desk-mx93-rev0:~# cat /sys/devices/platform/imx93-lpm/mode
System is in OD mode with DDR 3733 MTS!

Read the current clock of core.

root@desk-mx93-rev1:~# mhz
1690 MHz, 0.5917 nanosec clock

To change on Over drive Mode:

root@desk-mx93-rev1:~# echo 0 > /sys/devices/platform/imx93-lpm/mode
[ 9456.025419] System switching to OD mode...
root@desk-mx93-rev1:~# cat /sys/devices/platform/imx93-lpm/mode
System is in OD mode with DDR 3733 MTS!
root@desk-mx93-rev1:~# mhz
1690 MHz, 0.5917 nanosec clock

To change on Nominal drive Mode:

root@desk-mx93-rev1:~# echo 1 > /sys/devices/platform/imx93-lpm/mode
[ 9557.112015] System switching to ND mode...
root@desk-mx93-rev1:~# cat /sys/devices/platform/imx93-lpm/mode
System is in ND mode with DDR 1866 MTS!
root@desk-mx93-rev1:~# mhz
1398 MHz, 0.7153 nanosec clock

To change on Low drive Mode (1866 MTS) (Modality not present by default):

root@desk-mx93-rev1:~# echo 2 > /sys/devices/platform/imx93-lpm/mode
[ 9623.164150] System switching to LD/SWFFC mode...
root@desk-mx93-rev1:~# cat /sys/devices/platform/imx93-lpm/mode
System is in LD mode with DDR 1866 MTS!
root@desk-mx93-rev1:~# mhz
898 MHz, 1.1136 nanosec clock

To change on Low drive Mode (625 MTS) (Modality not present by default):

root@desk-mx93-rev1:~# echo 3 > /sys/devices/platform/imx93-lpm/mode
[ 9648.546368] System switching to LD/SWFFC mode...
root@desk-mx93-rev1:~# cat /sys/devices/platform/imx93-lpm/mode
System is in LD mode with DDR 625 MTS!
root@desk-mx93-rev1:~# mhz
898 MHz, 1.1136 nanosec clock

Operational Mode[edit | edit source]

The typical operating modes envisaged are:

  • Quiet-normal (LPM: Over drive)
  • Quiet-nominal (LPM: Nominal drive)
  • Stressed-normal (LPM: Over drive)
  • Stressed-nominal (LPM: Nominal drive)
  • Suspend
  • Freeze

Setup[edit | edit source]

The measurements were performed with follow device connected to the board (Only the most energy-intensive devices are listed).

  • Eth0 interface up.
  • Eth1 interface up.
  • uSD.
  • DSI-HDMI converter and HDMI display up.
Quiet[edit | edit source]

On quiet the core not have any additional process/task.

Stressed[edit | edit source]

To simulate high consumption, the following energy-intensive operations were performed:

  • configured the both eth interface and execute an endless iperf3 with an external server support
  • use the camera and stream it to the HDMI display
  • execute the sat, is a specialized executable to stress the SOC and RAM memory

Then there are four energy-intensive operations.

Measurements[edit | edit source]

Mode Current Power Diff Normal Diff Stress
Quiet-normal (LPM: Over drive) 0,5 A 1.65 W Normal reference -50% (Reference: Stressed-normal (LPM: Over drive))
Quiet-nominal (LPM: Nominal drive) 0.469 A 1.55 W -6 % -32% (Reference: Stressed-nominal (LPM: Nominal drive))
Stressed-normal (LPM: Over drive) 0.75 A 2.475 W +50% Stress reference
Stressed-nominal (LPM: Nominal drive) 0.469 A 1.55 W +24% -17 %
Suspend 0.046 A 0.152 W -91 % -93 %
Freeze 0.179 A 0.59 W -64 % -76 %