ARM: OMAP: AM33XX: PM: Manipulate MPU voltage in suspend-resume
authorVaibhav Bedia <vaibhav.bedia@ti.com>
Mon, 12 Mar 2012 18:15:27 +0000 (23:45 +0530)
committerVaibhav Bedia <vaibhav.bedia@ti.com>
Tue, 13 Mar 2012 04:25:44 +0000 (09:55 +0530)
commit63214b3bc64a4f4bbdca08a94eaeb394feb9ef90
treeb271322fe1465351713c12d8534e7e8f98468e37
parent3491cfa6f7f4ae06efaa8e3bc3b5d9063bf4b56c
ARM: OMAP: AM33XX: PM: Manipulate MPU voltage in suspend-resume

As per the AM335x datasheet, when going to the lowest power
mode, DeepSleep0 in the docs, MPU and CORE voltages should be
scaled down to 0.95V. This is currently done via clk and regulator
APIs in the suspend-resume code.

Since the I2C driver implements aggressive RPM, we also need
to disable this during the suspend process.

Note: We are a little bit paranoid and currently scale down the
voltage to 0.965V instead of 0.95V to accomodate for some IR drop
that was earlier seen on the EVMs.

TODO:
1. Add some more error handling here
2. Check if MPU change can be moved into the cpufreq driver
3. Check if there's a better way of keeping I2C enabled very late
   in the suspend process.
4. Scale the CORE voltage also.

Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Signed-off-by: Vaibhav Bedia <vaibhav.bedia@ti.com>
arch/arm/mach-omap2/pm33xx.c