Hi team,
I have some questions regarding the Sitara AM3359 FM support below.
Idle Power Management
I am trying to reduce power using the IDLE power management feature.
I realize there are deeper sleep states that save more power but we can not use them because the system must be up collecting data all the time. In case it is relevant my am335x-pm-firmware.bin reports CM3 Firmware Version 0x190.
First of all I notice only a very small difference with IDLE power management enabled in the kernel, roughly only 3-4% when sitting at a bash prompt with the MPU at 99% idle.
The idle power management relies on the processor WFI instruction which according to this article changed in armv7.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0008a/CJAHGJEF.html
This states: "WFI existed as a CP15 operation in many earlier processors. ARMv7 redefines the CP15 operation as a NOP."
The Sitara is cortex-a8 armv7-a, so maybe the WFI is moved to a new instruction?
It looks to me like the idle power management uses WFI and also memory autorefresh.
Is it possible that the WFI portion is acting as NO-OP?
I am using arm gcc version 4.7.3 with mtune=cortex-a8
Is it possible that I need a newer compiler to emit a newer WFI instruction code?
Also, we will be using the PRUs. Can the MPU enter the WFI state with the PRUs runing?
Thanks in advance.
Jared