Some customer want to measure DSM power and do some customize in their own board. We supply the the AN13917 to customer already.
But some customer also have some questions about it , so here give more details and test for it for customer will more clearly understand and use it.
1 i.MX 93 power mode overview
The i.MX 93 supports the following power modes:
Run mode: In this mode, the Cortex-A55 CPU is active and running. Some portions can be shut off for power saving.
Low-power run mode: This mode is defined as a Low-power run mode with all external power rails on. In this mode, all unnecessary power domains (MIX) can be off. The AONMIX and internal modules, such as OSC24M/PLL, are an exception in this mode. The Cortex CPU in AONMIX handles all the computing and data processing. Cortex-A55 is powered down and DRAM can be in self-refresh/retention mode.
Idle mode: This mode is defined as one that a CPU can enter automatically when no threads are engaged, and no high-speed devices are in use. CPU can be put into a power-gated state, but with L3 data retained, DRAM, and bus clocks are reduced. Most of the internal logic is clock-gated; yet is still powered. In this mode, all the external power from PMIC remains the same, and most IPs remain in their state. Therefore, the interrupt response in this mode is quick compared to the Run mode.
Suspend mode: This mode is defined as the most power-saving mode since it shuts off all the clocks and all the unnecessary power supplies. In this mode, the Cortex-A55 CPU is fully power gated, all internal digital logic, and the analog circuits that can be powered down are off, and all PHYs are power gated. VDD_SOC(and related digital supply) voltage is reduced to the "Suspend mode" voltage. Compared to Idle, this mode takes a longer time to exit, but it also uses far less energy.
BBSM mode: This mode is also called RTC mode. In this mode, to keep RTC and BBSM logic alive, only the power for the BBSM domain remains on.
Off mode: In this mode, all power rails are off.
2 Measure the power consumption of the system in the DSM( Deep Sleep Mode)
The use case is based on the Suspend mode, which implies the following:
CA55 cluster is OFF
• MEDIAMIX is OFF
• NICMIX is OFF
• WAKEUPMIX is OFF
• PLL is OFF
• 24 M OSC is OFF
PMIC is in STBY mode
Download the demo images from website:
Download the AN13917SW.zip file, upzip it.
Copy the uuu and imx93-11x11-evk-dsm.dtb to demo images path.
Download the images to board:
.\uuu.exe -b emmc_all .\ imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot
.\imx-image-full-imx93evk.wic
To measure the power consumption of the system in the DSM, the steps are as follows:
Boot the Linux image with imx93-11x11-evk-DSM.dtb.
System boot up with the default dtb, when system boot up change it to the imx93-11x11-evk-DSM.dtb, using the following commends:
setenv fdtfile imx93-11x11-evk-dsm.dtb
saveenv
boot
To put the system into the Suspend (Deep sleep) mode, run the following command:
echo mem > /sys/power/state
Measure the power and record the results.
About the BCU Tool:
BCU (Board Remote Control Utilities):BCU is a software specially designed to control boards/platforms that support remote control. It provides functions such as on/off key operation, board reset, setting boot mode, controlling GPIO, and power measurement through the debug cable.
------->Remote Control function: $ sudo ./bcu reset sd [-board=xxx] version bcu_1.0.158-0-gdb0a8e5 Auto recognized the board: imx8dxlevk set reset high successfully set onoff high successfully set ft_reset high successfully ENABLE remote control set sd_pwr high successfully set sd_wp high successfully set sd_cd high successfully set boot mode successfully set bootmode_sel low successfully Set ALL sense resistances to smaller ones rebooting... reset successfully done -------->Power measurement function: $ sudo ./bcu monitor -hz=1 [-board=xxx]
Here for the power measurement function support the boards have power measurement function.
This is the example for the power measurement for the i.MX93 EVK board:
1\Download the BCU tool
Releases · nxp-imx/bcu
Download the bcu_1.1.100 to Windows
2\Connect the i.MX93 EVK board to Windows PC
3\Open the teminal in the Windows PC
C:\Users \Desktop>bcu.exe monitor -board=imx93evk11b1 -hz=1
Use the bcu.exe monitor -board=imx93evk11b1 -hz=1
Make sure the board version is proper, current board is B1 version, so the board name is imx93evk11b1.
4\Run the command in the PC :
For others mode test can refer to the BCU.pdf file:
https://github.com/nxp-imx/bcu/releases/download/bcu_1.1.100/BCU.pdf
Note:
To make sure the board version are proper with the related command:
bcu.exe monitor -board=imx93evk11b1 -hz=1
For the i.MX93 SOM B2 version Board can use the above command.
If the board version is old, such as use the i.MX93 SOM B, here you need to use the command:
bcu.exe monitor -board=imx93evk11
If using the bcu.exe monitor -board=imx93evk11b1 the test result are not for this board, here can use the ./bcu eeprom -w -board=imx93evk11 to write the eeprom for the imx93evk11. Using the bcu eeprom -r -board=imx93evk11 see the present status.
If we met the problem as bellow we need to check and write to the eeprom again.
Measure the power in the DSM mode on the i.MX93 board with SOMB2(board name with the i.mx93evk11b1):
old EVK imx93evk11 use a 20m Ohms sensing resistor
new EVK imx93evk11b1 use a 5m Ohms sensing resistor
For the the i.MX93 board with SOM B
Measure the power in the DSM mode on the i.MX93 board with SOMB2 result, use the small and larger range test:
Measure the power in the DSM mode on the i.MX93 board with SOMB result:
Using the command bcu.exe monitor -board=imx93evk11 -hz=1
3 Questions from customer
a.The diff/patch between imx93-11x11-evk.dts and imx93-11x11-evk-dsm.dts
If customer use the Linux kernel version: L6.1.55 version BSP, they need to use the imx93-11x11-evk-dsm.dtb we supply. And if using the newer than it and newest BSP in our website, they do not need to change the dtb to the and imx93-11x11-evk-dsm.dtb, just using the imx93-11x11-evk.dts will be OK, as for the Atf also add the has_wakeup_irq = true;
And in the default imx93-11x11-evk.dts already support the linux-imx/arch/arm64/boot/dts/freescale/imx93-11x11-evk.dts at lf-6.12.y · nxp-imx/linux-imx · GitHub
So customer and directly use on their products.
b. NXP i.MX93 EVK DSM power measurement, the GROUP_SOC_FULL are some difference from our AN.
As different chips may show slight differences in static power consumption(SS TT FF) due to process corner variations.
記事全体を表示