Quantcast
Channel: Xilinx Wiki : Xilinx Wiki - all changes
Viewing all 11776 articles
Browse latest View live

Qspipsu Standalone driver

$
0
0
...
Performance Details
Single
...
is 870 KBPS, Time is 294KBPS
Qspipsu read
...
is 7555 KBPS, Time is 1084KBPS
Dual-Parallel
...
is 1700 KBPS, Time is 301KBPS
Qspipsu read
...
is 14933 KBPS, Time is 1097KBPS
Change Log
2016.3

Embedded SW Support

$
0
0
...
table below. All other content on the Wiki is provided "as is" and support is only available via the Embedded Forums.
Software
aaaaaaaaaaaaaaaaaaaaaa

Embedded SW Support

$
0
0
...
support is only available via
Software
aaaaaaaaaaaaaaaaaaaaaa

Zynq UltraScale+ MPSoC Power Management - ZCU102 SW Design Examples

$
0
0
Zynq UltraScale+ MPSoC Power Management - ZCU102 Software Design Examples
This page provides some power management software design examples that can be implemented on the ZCU102 development board.
Before You Start
Prerequisites
You have a ZCU102 development board.
...
You have installed Petalinux (2017.1 release).
You have used PetaLinux to customize, build and boot Linux.
Tips
Refer to UG1137 "Zynq UltraScale+ MPSoC Software Developer Guide" Chapter 9 for more information about power management APIs.
See here on how to generate the Config Object file.

Refer to UG1209 "Zynq UltraScale+ MPSoC: Embedded Design Tutorial" for more details.
Google "Xilinx UGXXXX" to find the latest version of the Xilinx document.
Getting Started - Hello World
This is an empty application that prints "Hello World!" to the UART. Please use this as a starting point for creating new RPU applications for other design examples provided here.

Zynq UltraScale+ MPSoC Ubuntu part 2 - Building and Running the Ubuntu Desktop From Sources

$
0
0
...
Device Drivers->Sound card support->Advanced Linux Sound Architecture’ enabling ALSA support
Kernel hacking > Tracers > Kernel Function Tracer
...
the kernel configuration, there is .config file also provided for reference to cross check the configuration optionsconfiguration.
Creating bootable linux images
Change directory to Petalinux project xilinx-zcu102-2017.1 and enter the following command to build Linux Images. Output binaries can be found in xilinx-zcu102-2017.1/images/linux directory.

Zynq UltraScale+ MPSoC Ubuntu part 2 - Building and Running the Ubuntu Desktop From Sources:

$
0
0
we have not created the Ubuntu rootfs with Petalinux tools.It was downloaded from linaro website.

ZU+ Example - Typical Power States

$
0
0
ZU+ Example - Typical Power States
Under Construction
Important! Tag the page
Important! All External Links should open in a new tab/window; all Internal Links to Xilinx wiki pages, should open in the same tab/window.
<Insert introduction text here>

1. Create petalinux project
Run below commands from bash terminal to create project petalinux.

ZU+ Example - Typical Power States

$
0
0
...
3. Minimum kernel configuration
follow below steps if latency is to be measured with minimum kernel configuration:
...
config file (config_kernel_min)(defconfig) to project-spec/meta-user/recipes-kernel/linux/files/defconfig
Rename file as defconfig

Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
SRC_URI_append = " file://deconfig"
...
xsdb% con
6. Measure Power values
Use readpower command from systestPower Advantage tool to measure power for each mode.
[systest] # readpower
7.
values.
[[code]]
=7.
All on (PS + PL)PL)=
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. ThisUse Power Advantage tool to measure power values. That will give
...
on (PS+PL)
8.

=8.
PS all ON
8.1
ON=
===8.1
Turn off PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
8.2===8.2 Turn ON PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
9.=9. 3 APUs on/off
9.1
on/off=
===9.1
Power OFF 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
9.2===9.2 Power ON 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
10.=10. Frequency scaling (min freuquency)freuquency)=
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
10.1===10.1 Set minimum frequencyfrequency===
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
10.2===10.2 Set maximum frequencyfrequency===
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
11.=11. Suspend to
...
and FPD offoff=
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
Note:**Note:** Above loop
...
for latency.
12.

=12.
R5 Sleep and Deep-Sleep modemode=
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
Note:**Note:"time" command
...
from time command.
13.
command.**
=13.
Steps to
...
dimmer mode table
Perform
table=
# Perform
steps 1
...
RPU application
Perform

# Perform
step 7
...
load APU
run

# run
"readpower" command
...
on mode.
Perform

# Perform
step 8.1
...
off PL.
run

# run
"readpower" command
...
all ON.
Perform

# Perform
step 9.1
...
3 APUs.
run

# run
"readpower" command
...
off) mode.
Perform

# Perform
step 10.1
...
scaling(min frequency)
run

# run
"readpower" command
...
minimum frequency.
Perform

# Perform
step 11
...
sleep mode.
14.

=14.
Steps to
...
dimmer mode table
Step
table=
# Step
11 and
...
dimmer table.
Perform

# Perform
10.2 to
...
frequency) .
Perform

# Perform
9.2 to
...
all APUs.
Perform

# Perform
8.2 to
...
on PL.
15.

=15.
Example loglog=
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States (Reverted to Nov 22, 2017 5:32 pm: Changes Reverted)

$
0
0
...
3. Minimum kernel configuration
follow below steps if latency is to be measured with minimum kernel configuration:
...
config file (defconfig)(config_kernel_min) to project-spec/meta-user/recipes-kernel/linux/files/defconfig
Rename file as defconfig

Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
SRC_URI_append = " file://deconfig"
...
xsdb% con
6. Measure Power values
Use Power Advantage toolreadpower command from systest to measure power values.
[[code]]
=7.
for each mode.
[systest] # readpower
7.
All on (PS + PL)= PL)
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Use Power Advantage tool to measure power values. ThatRun "readpower" command from systest. This will give
...
on (PS+PL)
=8.

8.
PS all ON=
===8.1
ON
8.1
Turn off PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
===8.28.2 Turn ON PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
=9.9. 3 APUs on/off=
===9.1
on/off
9.1
Power OFF 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
===9.29.2 Power ON 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
=10.10. Frequency scaling (min freuquency)= freuquency)
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
===10.110.1 Set minimum frequency=== frequency
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
===10.210.2 Set maximum frequency=== frequency
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
=11.11. Suspend to
...
and FPD off= off
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
**Note:**Note: Above loop
...
for latency.
=12.

12.
R5 Sleep and Deep-Sleep mode= mode
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
**Note:Note:"time" command
...
from time command.**
=13.
command.
13.
Steps to
...
dimmer mode table=
# Perform
table
Perform
steps 1
...
RPU application
# Perform

Perform
step 7
...
load APU
# run

run
"readpower" command
...
on mode.
# Perform

Perform
step 8.1
...
off PL.
# run

run
"readpower" command
...
all ON.
# Perform

Perform
step 9.1
...
3 APUs.
# run

run
"readpower" command
...
off) mode.
# Perform

Perform
step 10.1
...
scaling(min frequency)
# run

run
"readpower" command
...
minimum frequency.
# Perform

Perform
step 11
...
sleep mode.
=14.

14.
Steps to
...
dimmer mode table=
# Step
table
Step
11 and
...
dimmer table.
# Perform

Perform
10.2 to
...
frequency) .
# Perform

Perform
9.2 to
...
all APUs.
# Perform

Perform
8.2 to
...
on PL.
=15.

15.
Example log= log
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States

$
0
0
ZU+ Example - Typical Power States
Under Construction
1. Create1.Create petalinux project
Run below commands from bash terminal to create project petalinux.
source <petalinux-install-dir>/settings.sh
...
3. Minimum kernel configuration
follow below steps if latency is to be measured with minimum kernel configuration:
...
config file (config_kernel_min)(defconfig) to project-spec/meta-user/recipes-kernel/linux/files/defconfig
Rename file as defconfig

Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
SRC_URI_append = " file://deconfig"
...
xsdb% con
6. Measure Power values
Use readpower command from systestPower Advantage Tool to measure power for each mode.
[systest] # readpower
7.
values.
[[code]]
=7.
All on (PS + PL)PL)=
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. This will give power values for All on (PS+PL)
8.=8. PS all ON
8.1
ON=
===8.1
Turn off PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
8.2===8.2 Turn ON PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
9.=9. 3 APUs on/off
9.1
on/off=
===9.1
Power OFF 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
9.2===9.2 Power ON 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
10.=10. Frequency scaling (min freuquency)freuquency)=
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
10.1===10.1 Set minimum frequencyfrequency===
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
10.2===10.2 Set maximum frequencyfrequency===
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
11.=11. Suspend to
...
and FPD offoff=
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
Note:**Note:** Above loop
...
for latency.
12.

=12.
R5 Sleep and Deep-Sleep modemode=
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
Note:**Note:"time" command
...
from time command.
13.
command.**
=13.
Steps to
...
dimmer mode table
Perform
table=
# Perform
steps 1
...
RPU application
Perform

# Perform
step 7
...
load APU
run

# run
"readpower" command
...
on mode.
Perform

# Perform
step 8.1
...
off PL.
run

# run
"readpower" command
...
all ON.
Perform

# Perform
step 9.1
...
3 APUs.
run

# run
"readpower" command
...
off) mode.
Perform

# Perform
step 10.1
...
scaling(min frequency)
run

# run
"readpower" command
...
minimum frequency.
Perform

# Perform
step 11
...
sleep mode.
14.

=14.
Steps to
...
dimmer mode table
Step
table=
# Step
11 and
...
dimmer table.
Perform

# Perform
10.2 to
...
frequency) .
Perform

# Perform
9.2 to
...
all APUs.
Perform

# Perform
8.2 to
...
on PL.
15.

=15.
Example loglog=
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States (Reverted to Nov 22, 2017 5:34 pm: Changes Reverted)

$
0
0
ZU+ Example - Typical Power States
Under Construction
1.Create1. Create petalinux project
Run below commands from bash terminal to create project petalinux.
source <petalinux-install-dir>/settings.sh
...
3. Minimum kernel configuration
follow below steps if latency is to be measured with minimum kernel configuration:
...
config file (defconfig)(config_kernel_min) to project-spec/meta-user/recipes-kernel/linux/files/defconfig
Rename file as defconfig

Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
SRC_URI_append = " file://deconfig"
...
xsdb% con
6. Measure Power values
Use Power Advantage Toolreadpower command from systest to measure power values.
[[code]]
=7.
for each mode.
[systest] # readpower
7.
All on (PS + PL)= PL)
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. This will give power values for All on (PS+PL)
=8.8. PS all ON=
===8.1
ON
8.1
Turn off PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
===8.28.2 Turn ON PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
=9.9. 3 APUs on/off=
===9.1
on/off
9.1
Power OFF 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
===9.29.2 Power ON 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
=10.10. Frequency scaling (min freuquency)= freuquency)
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
===10.110.1 Set minimum frequency=== frequency
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
===10.210.2 Set maximum frequency=== frequency
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
=11.11. Suspend to
...
and FPD off= off
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
**Note:**Note: Above loop
...
for latency.
=12.

12.
R5 Sleep and Deep-Sleep mode= mode
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
**Note:Note:"time" command
...
from time command.**
=13.
command.
13.
Steps to
...
dimmer mode table=
# Perform
table
Perform
steps 1
...
RPU application
# Perform

Perform
step 7
...
load APU
# run

run
"readpower" command
...
on mode.
# Perform

Perform
step 8.1
...
off PL.
# run

run
"readpower" command
...
all ON.
# Perform

Perform
step 9.1
...
3 APUs.
# run

run
"readpower" command
...
off) mode.
# Perform

Perform
step 10.1
...
scaling(min frequency)
# run

run
"readpower" command
...
minimum frequency.
# Perform

Perform
step 11
...
sleep mode.
=14.

14.
Steps to
...
dimmer mode table=
# Step
table
Step
11 and
...
dimmer table.
# Perform

Perform
10.2 to
...
frequency) .
# Perform

Perform
9.2 to
...
all APUs.
# Perform

Perform
8.2 to
...
on PL.
=15.

15.
Example log= log
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States

$
0
0
...
xsdb% con
6. Measure Power values
Use readpower command from systest to measure powerPower Advantage tool for each mode.
[systest] # readpower
7.
measuring power values.
[[code]]
=7.
All on (PS + PL)PL)=
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. This will give power values for All on (PS+PL)
8.=8. PS all ON
8.1
ON=
===8.1
Turn off PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
8.2===8.2 Turn ON PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
9.=9. 3 APUs on/off
9.1
on/off=
===9.1
Power OFF 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
9.2===9.2 Power ON 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
10.=10. Frequency scaling (min freuquency)freuquency)=
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
10.1===10.1 Set minimum frequencyfrequency===
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
10.2===10.2 Set maximum frequencyfrequency===
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
11.=11. Suspend to
...
and FPD offoff=
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
Note:**Note:** Above loop
...
for latency.
12.

=12.
R5 Sleep and Deep-Sleep modemode=
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
Note:**Note:"time" command
...
from time command.
13.
command.**
=13.
Steps to
...
dimmer mode table
Perform
table=
# Perform
steps 1
...
RPU application
Perform

# Perform
step 7
...
load APU
run

# run
"readpower" command
...
on mode.
Perform

# Perform
step 8.1
...
off PL.
run

# run
"readpower" command
...
all ON.
Perform

# Perform
step 9.1
...
3 APUs.
run

# run
"readpower" command
...
off) mode.
Perform

# Perform
step 10.1
...
scaling(min frequency)
run

# run
"readpower" command
...
minimum frequency.
Perform

# Perform
step 11
...
sleep mode.
14.

=14.
Steps to
...
dimmer mode table
Step
table=
# Step
11 and
...
dimmer table.
Perform

# Perform
10.2 to
...
frequency) .
Perform

# Perform
9.2 to
...
all APUs.
Perform

# Perform
8.2 to
...
on PL.
15.

=15.
Example loglog=
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States (Reverted to Nov 22, 2017 5:36 pm: Changes Reverted)

$
0
0
...
xsdb% con
6. Measure Power values
Use Power Advantage tool for measuringreadpower command from systest to measure power values.
[[code]]
=7.
for each mode.
[systest] # readpower
7.
All on (PS + PL)= PL)
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. This will give power values for All on (PS+PL)
=8.8. PS all ON=
===8.1
ON
8.1
Turn off PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
===8.28.2 Turn ON PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
=9.9. 3 APUs on/off=
===9.1
on/off
9.1
Power OFF 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
===9.29.2 Power ON 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
=10.10. Frequency scaling (min freuquency)= freuquency)
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
===10.110.1 Set minimum frequency=== frequency
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
===10.210.2 Set maximum frequency=== frequency
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
=11.11. Suspend to
...
and FPD off= off
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
**Note:**Note: Above loop
...
for latency.
=12.

12.
R5 Sleep and Deep-Sleep mode= mode
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
**Note:Note:"time" command
...
from time command.**
=13.
command.
13.
Steps to
...
dimmer mode table=
# Perform
table
Perform
steps 1
...
RPU application
# Perform

Perform
step 7
...
load APU
# run

run
"readpower" command
...
on mode.
# Perform

Perform
step 8.1
...
off PL.
# run

run
"readpower" command
...
all ON.
# Perform

Perform
step 9.1
...
3 APUs.
# run

run
"readpower" command
...
off) mode.
# Perform

Perform
step 10.1
...
scaling(min frequency)
# run

run
"readpower" command
...
minimum frequency.
# Perform

Perform
step 11
...
sleep mode.
=14.

14.
Steps to
...
dimmer mode table=
# Step
table
Step
11 and
...
dimmer table.
# Perform

Perform
10.2 to
...
frequency) .
# Perform

Perform
9.2 to
...
all APUs.
# Perform

Perform
8.2 to
...
on PL.
=15.

15.
Example log= log
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States

$
0
0
...
xsdb% con
6. Measure Power values
Use readpower command from systestPower Advantage Tool to measure power for each mode.
[systest] # readpower
7.
values
[[code]]
=7.
All on (PS + PL)PL)=
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. This will give power values for All on (PS+PL)
8.=8. PS all ON
8.1
ON=
===8.1
Turn off PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
8.2===8.2 Turn ON PLPL===
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
9.=9. 3 APUs on/off
9.1
on/off=
===9.1
Power OFF 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
9.2===9.2 Power ON 3 APUsAPUs===
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
10.=10. Frequency scaling (min freuquency)freuquency)=
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
10.1===10.1 Set minimum frequencyfrequency===
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
10.2===10.2 Set maximum frequencyfrequency===
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
11.=11. Suspend to
...
and FPD offoff=
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
Note:**Note:** Above loop
...
for latency.
12.

=12.
R5 Sleep and Deep-Sleep modemode=
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
Note:**Note:"time" command
...
from time command.
13.
command.**
=13.
Steps to
...
dimmer mode table
Perform
table=
# Perform
steps 1
...
RPU application
Perform

# Perform
step 7
...
load APU
run

# run
"readpower" command
...
on mode.
Perform

# Perform
step 8.1
...
off PL.
run

# run
"readpower" command
...
all ON.
Perform

# Perform
step 9.1
...
3 APUs.
run

# run
"readpower" command
...
off) mode.
Perform

# Perform
step 10.1
...
scaling(min frequency)
run

# run
"readpower" command
...
minimum frequency.
Perform

# Perform
step 11
...
sleep mode.
14.

=14.
Steps to
...
dimmer mode table
Step
table=
# Step
11 and
...
dimmer table.
Perform

# Perform
10.2 to
...
frequency) .
Perform

# Perform
9.2 to
...
all APUs.
Perform

# Perform
8.2 to
...
on PL.
15.

=15.
Example loglog=
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States (Reverted to Nov 22, 2017 5:38 pm: Changes Reverted)

$
0
0
...
xsdb% con
6. Measure Power values
Use Power Advantage Toolreadpower command from systest to measure power values
[[code]]
=7.
for each mode.
[systest] # readpower
7.
All on (PS + PL)= PL)
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. This will give power values for All on (PS+PL)
=8.8. PS all ON=
===8.1
ON
8.1
Turn off PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo release_node 69 > /sys/kernel/debug/zynqmp_pm/power
===8.28.2 Turn ON PL=== PL
Run below command from Linux terminal on board to power off PL (force power down unused PU).
root@plnx_aarch64:~# echo request_wakeup 8 1 0 1 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# echo force_powerdown 8 > /sys/kernel/debug/zynqmp_pm/power
root@plnx_aarch64:~# time echo request_node 69 > /sys/kernel/debug/zynqmp_pm/power
=9.9. 3 APUs on/off=
===9.1
on/off
9.1
Power OFF 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 0 > /sys/devices/system/cpu/cpu3/online
===9.29.2 Power ON 3 APUs=== APUs
Run below command from Linux terminal on board to power off 3 APUs.
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu1/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu2/online
root@plnx_aarch64:~# time echo 1 > /sys/devices/system/cpu/cpu3/online
=10.10. Frequency scaling (min freuquency)= freuquency)
Run following command to get available frequencies.
root@plnx_aarch64:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
===10.110.1 Set minimum frequency=== frequency
Run following command to set minimum frequency
root@plnx_aarch64:~# time echo <min freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
===10.210.2 Set maximum frequency=== frequency
Run following command to set maximum frequency
root@plnx_aarch64:~# time echo <max freq. from above command> > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
=11.11. Suspend to
...
and FPD off= off
Run following command from Linux terminal to suspend Linux(with FPD on):
root@plnx_aarch64:~# echo 0 > /sys/module/printk/parameters/console_suspend
...
RPU0: Resuming APU.
On console, you should able to see suspend/wakeup latency of APU from RPU print message.
**Note:**Note: Above loop
...
for latency.
=12.

12.
R5 Sleep and Deep-Sleep mode= mode
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
To measure power with R5 sleep mode, run "readpower" command from systest in these 10 seconds.
...
RPU0: Running in Split mode
After 10 seconds timer will generate interrupt and Resumes RPU. Then RPU resumes APU. This state is same as 3 APU off with minimum frequency.
**Note:Note:"time" command
...
from time command.**
=13.
command.
13.
Steps to
...
dimmer mode table=
# Perform
table
Perform
steps 1
...
RPU application
# Perform

Perform
step 7
...
load APU
# run

run
"readpower" command
...
on mode.
# Perform

Perform
step 8.1
...
off PL.
# run

run
"readpower" command
...
all ON.
# Perform

Perform
step 9.1
...
3 APUs.
# run

run
"readpower" command
...
off) mode.
# Perform

Perform
step 10.1
...
scaling(min frequency)
# run

run
"readpower" command
...
minimum frequency.
# Perform

Perform
step 11
...
sleep mode.
=14.

14.
Steps to
...
dimmer mode table=
# Step
table
Step
11 and
...
dimmer table.
# Perform

Perform
10.2 to
...
frequency) .
# Perform

Perform
9.2 to
...
all APUs.
# Perform

Perform
8.2 to
...
on PL.
=15.

15.
Example log= log
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Min: 4456, Max: 5301, Avg: 4774
RPU0: FPD off Latency in useconds of Node NODE_APU_0: Min: 74, Max: 75, Avg: 74
...
RPU0: APU0 Wakeup Latency in useconds of Node NODE_APU_0: Min: 9083, Max: 9092, Avg: 9088
RPU0: Wakeup Latency in useconds of Node NODE_APU_0: Min: 15163, Max: 121539, Avg: 48056
code
Here,
RPU0: Request Suspend Latency in useconds of Node NODE_APU_0: Latency for power state transition from "3 APU off (min frequency)" to "Suspend to RAM".

ZU+ Example - Typical Power States

$
0
0
...
xsdb% con
6. Measure Power values
Use readpower command from systest to measure powerPower Advantage tool for each mode.
[systest] # readpower
measuring power values.
7. All on (PS + PL)
Run below command to load all APU from Linux terminal on board

ZU+ Example - Typical Power States

$
0
0
...
3. Minimum kernel configuration
follow below steps if latency is to be measured with minimum kernel configuration:
...
config file (config_kernel_min)(defconfig) to project-spec/meta-user/recipes-kernel/linux/files/defconfig
Rename file as defconfig

Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
SRC_URI_append = " file://deconfig"
...
Run below command to load all APU from Linux terminal on board
root@plnx_aarch64:~# fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & };fulload; read;
Run "readpower" command from systest. ThisUse Power Advantage tool for measuring power values. That will give
8. PS all ON
8.1 Turn off PL
...
RPU0: Go to deep sleep
After 10 seconds RPU gets timer interrupt after that it suspend itself and goes to deep sleep mode for 10 seconds.
...
to deep sleep, run "readpower" command from systest to measure powersleep,Use Power Advantage tool for deep sleep withingmeasuring power values within these 10
Following are two print messages to identify these 10 second window.
RPU0: Go to deep sleep

ZU+ Example - Typical Power States

$
0
0
...
root@plnx_aarch64:~# echo MMIO_WRITE 0xFFD80064 1 1 > /sys/kernel/debug/zynqmp_pm/power
Now, Linux will be suspended and it will be resumed by RPU after suspend. RPU has requested NODE_SATA from FPD, so Linux will be suspended with FPD on.
...
be off. Run "readpower" command command from systestUse Power Advantage Tool in these
Following are two print messages to identify these 10 second window.
RPU0: Suspended to RAM, FPD is on
(10 seconds delay)
RPU0: Release NODE_SATA, FPD will be off after releasing NODE_SATA
...
FPD off, run "readpower" command command from systestUse Power Advantage Tool in these
Following are two print messages to identify these 10 second window.
RPU0: Suspended.
...
12. R5 Sleep and Deep-Sleep mode
Once above measurements are done, RPU puts FPD in off state and goes to idle mode (wfi state) for 10 seconds.
...
sleep mode, run "readpower" command from systestUse Power Advantage Tool in these
Following are two print messages to identify these 10 second window.
RPU0: Go to RPU Sleep mode
...
Perform steps 1 to 5 to start Linux and RPU application
Perform step 7 to load APU
run "readpower" command from systestUse Power Advantage Tool to measure
Perform step 8.1 to turn off PL.
run "readpower" command from systestUse Power Advantage Tool to measure
Perform step 9.1 to turn of 3 APUs.
run "readpower" command from systestUse Power Advantage Tool to measure
Perform step 10.1 to frequency scaling(min frequency)
run "readpower" command from systestUse Power Advantage Tool to measure
Perform step 11 and 12 to measure power/latency for suspend to RAM, FPD off, RPU sleep, Deep sleep mode.
14. Steps to Measure latency/power from right to left of dimmer mode table

ZU+ Example - Typical Power States

$
0
0
...
follow below steps if latency is to be measured with minimum kernel configuration:
Copy kernel min config file (defconfig) to project-spec/meta-user/recipes-kernel/linux/files/defconfig
{defconfig}
Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
SRC_URI_append = " file://deconfig"
...
5.2. Run RPU app
If XSDB method is used to start linux, this step should be skipped.
...
Application source) (rpu_host.elf)(rpu_deep_sleep.elf) when Linux is up
{rpu_deep_sleep.elf}

Perform following command on xsdb
xsdb% connect

ZU+ Example - Typical Power States

$
0
0
...
{defconfig}
Add below line in project-spec/meta-user/recipes-kernel/linux/linux-xlnx_%.bbappend file:
...
= " file://deconfig"file://defconfig"
4. Build petalinux
petalinux-build -c kernel
Viewing all 11776 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>