Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX9-L/Deployment/Power Manager

6,511 bytes added, 2 April
Created page with "<section begin=History/> {| style="border-collapse:collapse; " !colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History |- !style="border-le..."
<section begin=History/>
{| style="border-collapse:collapse; "
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|2024/04/02
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000"|Power Manager documentation
|-
|}
<section end=History/>
__FORCETOC__
<section begin=Body/>

= Power Manager =

== Operational characteristics ==

The measurement of power consumption of the <code>SOM</code> are executed with <code>3.3 V</code> supply.

== Power consumption ==

There are various operating modes available.

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 <code>Low Drive mode</code>.

=== Low Drive mode ===

Documentation from NXP:

* [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/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>):

{| class="wikitable"
! latexfontsize="scriptsize"| Mode
! latexfontsize="scriptsize"| VDD SOC
! latexfontsize="scriptsize"| A55 Max Frequency
! latexfontsize="scriptsize"| DRAM Max Frequency
! latexfontsize="scriptsize"| 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): <code>Over drive</code> is the default operating mode.
* (2): <code>Over drive</code> can be disabled, see [[Power_Manager#Device_Tree | here]].
* (3): Le modalità di <code>Low drive</code> bisogna attiavarle da <code>device tree</code> di default queste non sono presenti, vedi note sucessive.


==== Device Tree ====

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

By default on <code>Aura SOM</code> the support are enable with minimal configuration to have:
* <code>Over drive Mode</code>
* <code>Nominal drive Mode</code>

To do this see <code>arch/arm64/boot/dts/freescale/imx93-aura.dtsi</code>:
<pre>
...
&lpm {
soc-supply = <&buck1>;
status = "okay";
};
...
&lpi2c2 {
....
pmic@25 {
compatible = "nxp,pca9451a";
...
regulators {
buck1: BUCK1 {
regulator-name = "BUCK1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2187500>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <3125>;
};
...
};
...
};
};
...
</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>.

===== Enable Low drive Mode =====

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

By default on <code>Aura SOM</code> 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:
* <code>flexspi1</code> to <code>266000000</code>.
* <code>usdhc1</code> to <code>266000000</code>.
* <code>usdhc2</code> to <code>266000000</code>.
* <code>usdhc3</code> to <code>266000000</code>.

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


==== Command ====

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

Read the current mode:
<pre>
root@desk-mx93-rev0:~# cat /sys/devices/platform/imx93-lpm/mode
System is in OD mode with DDR 3733 MTS!
</pre>

Read the current clock of core.
<pre>
root@desk-mx93-rev1:~# mhz
1690 MHz, 0.5917 nanosec clock
</pre>

To change on <code>Over drive Mode</code>:
<pre>
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
</pre>

To change on <code>Nominal drive Mode</code>:
<pre>
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
</pre>

To change on <code>Low drive Mode (1866 MTS)</code>:
<pre>
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
</pre>

To change on <code>Low drive Mode (625 MTS)</code>:
<pre>
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
</pre>







uso normale
standby mode
uso sotto stress
LDM attivo (1)
normale
sotto stress


<section end=Body/>

----

[[Category:Aura]]
dave_user
226
edits