Power management, turning stuff off..

Hi,

I am attempting to reduce overall power consumption on the Beagle.
I am using the 2.6.39-pm kernel.

Here is my system as it stands now:
# cat /debug/pm_debug/count
usbhost_pwrdm (ON),OFF:0,RET:3,INA:1,ON:5,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0
per_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:
0
dss_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:
0
cam_pwrdm (RET),OFF:0,RET:2,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0
core_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0,RET-MEMBANK2-OFF:0
neon_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0
mpu_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:
0
iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0
per_clkdm->per_pwrdm (20)
usbhost_clkdm->usbhost_pwrdm (3)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (1)
core_l4_clkdm->core_pwrdm (23)
core_l3_clkdm->core_pwrdm (4)
d2d_clkdm->core_pwrdm (0)
sgx_clkdm->sgx_pwrdm (0)
iva2_clkdm->iva2_pwrdm (0)
neon_clkdm->neon_pwrdm (0)
mpu_clkdm->mpu_pwrdm (0)
prm_clkdm->wkup_pwrdm (0)
cm_clkdm->core_pwrdm (0)

I was wondering if it is possible or even beneficial to turn off:
dss_pwrdm
neon_pwrdm
mpu_pwrdm

I don't use dss.. and have removed the code from the kernel board
file.
Is this using power?
How do I set it to off?
I also will not be using the MPU or NEON systems.

My goal is to knock off another 100mA.

Any other tips or additional things I can look at to further reduce
power?

Regards,
CJ

You won't be using the ARM?!?!?

Hi Koen,

Mmm .. maybe I will need that.

Is everything I said ridiculous? or is this the concept of 'turning
stuff off' a path I could pursue..

Cheers,
CJ

Hi,

I am attempting to reduce overall power consumption on the Beagle.
I am using the 2.6.39-pm kernel.

:smiley: there are toooo many 2.6.39-pm kernels :wink: which branches are you using?

Here is my system as it stands now:
# cat /debug/pm_debug/count
usbhost_pwrdm (ON),OFF:0,RET:3,INA:1,ON:5,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0
sgx_pwrdm (OFF),OFF:1,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0
per_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:
0
dss_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:
0
cam_pwrdm (RET),OFF:0,RET:2,INA:0,ON:2,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0
core_pwrdm (ON),OFF:0,RET:0,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0,RET-MEMBANK2-OFF:0
neon_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0
mpu_pwrdm (ON),OFF:0,RET:3,INA:0,ON:4,RET-LOGIC-OFF:0,RET-MEMBANK1-OFF:
0
iva2_pwrdm (RET),OFF:0,RET:1,INA:0,ON:1,RET-LOGIC-OFF:0,RET-MEMBANK1-
OFF:0,RET-MEMBANK2-OFF:0,RET-MEMBANK3-OFF:0,RET-MEMBANK4-OFF:0
per_clkdm->per_pwrdm (20)
usbhost_clkdm->usbhost_pwrdm (3)
cam_clkdm->cam_pwrdm (0)
dss_clkdm->dss_pwrdm (1)
core_l4_clkdm->core_pwrdm (23)
core_l3_clkdm->core_pwrdm (4)
d2d_clkdm->core_pwrdm (0)
sgx_clkdm->sgx_pwrdm (0)
iva2_clkdm->iva2_pwrdm (0)
neon_clkdm->neon_pwrdm (0)
mpu_clkdm->mpu_pwrdm (0)
prm_clkdm->wkup_pwrdm (0)
cm_clkdm->core_pwrdm (0)

I was wondering if it is possible or even beneficial to turn off:
dss_pwrdm
neon_pwrdm
mpu_pwrdm

I don't use dss.. and have removed the code from the kernel board
file.
Is this using power?
How do I set it to off?
I also will not be using the MPU or NEON systems.

you'd need MPU as you already heard..
tried setting CONFIG_OMAP_RESET_CLOCKS=y? removed the display drivers? "#CONFIG_OMAP2_DSS is not set"?

My goal is to knock off another 100mA.

Any other tips or additional things I can look at to further reduce
power?

aah the black art of power management :wink: I think you should start on linux-omap mailing list :slight_smile:

How does echo "mem">/sys/power/state look like?

Hi,

I am attempting to reduce overall power consumption on the Beagle.
I am using the 2.6.39-pm kernel.

:smiley: there are toooo many 2.6.39-pm kernels :wink: which branches are you using?

Indeed! Which one you use matters a lot.

I don't use dss.. and have removed the code from the kernel board
file.
Is this using power?
How do I set it to off?
I also will not be using the MPU or NEON systems.

you'd need MPU as you already heard..
tried setting CONFIG_OMAP_RESET_CLOCKS=y? removed the display drivers?
"#CONFIG_OMAP2_DSS is not set"?

Good suggestions,

My goal is to knock off another 100mA.

Any other tips or additional things I can look at to further reduce
power?

For some sample results on another OMAP3 board (Overo):

http://sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-2639-pm.html

That was done using the stock omap2plus_defconfig (with a few
additions noted in the article). I plan to do another article showing
the effects of turning off various subsystems (like DSS)

Steve

Hi Nishanth

> Hi,

> I am attempting to reduce overall power consumption on the Beagle.
> I am using the 2.6.39-pm kernel.

:smiley: there are toooo many 2.6.39-pm kernels :wink: which branches are you using?

I am using the latest from:
http://sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=shortlog;h=refs/heads/omap-2.6.39-pm

Is this the best option?

> I don't use dss.. and have removed the code from the kernel board
> file.
> Is this using power?
> How do I set it to off?
> I also will not be using the MPU or NEON systems.

you'd need MPU as you already heard..
tried setting CONFIG_OMAP_RESET_CLOCKS=y? removed the display drivers?
"#CONFIG_OMAP2_DSS is not set"?

Already in place - but thanks very much for the tip!

> My goal is to knock off another 100mA.
> Any other tips or additional things I can look at to further reduce
> power?

aah the black art of power management :wink: I think you should start on
linux-omap mailing list :slight_smile:

Thanks again for the tips, will see if I can shine some light in
there :wink:

How does echo "mem">/sys/power/state look like?

Works well. Would still like to squeeze a bit more off.
Have about 140mA at present in this state.

Will let you know how I go.

Cheers,
CJ

Hi Steve,

>> Any other tips or additional things I can look at to further reduce
>> power?
For some sample results on another OMAP3 board (Overo):
http://sakoman.com/OMAP/an-overiew-of-omap3-power-management-with-263

That has been very helpful!

That was done using the stock omap2plus_defconfig (with a few
additions noted in the article). I plan to do another article showing
the effects of turning off various subsystems (like DSS)

Will look forward to it!!

Many thanks!
CJ

CJNZ, can you tell me how you built the omap-2.6.39-pm kernel?
Thanks.

Grab it with git and build using the omap2 def config.
I think I had to tweak it a bit for my board which is not exactly like
the BeagleXM but pretty close.

I can't find the defconfig you mentioned anywhere in the git
repository.

Thanks.

I think it is here:
arch/arm/configs/omap2plus_defconfig