OMAP3: PM: Adding smartreflex driver support.
authorThara Gopinath <thara@ti.com>
Sat, 29 May 2010 16:32:22 +0000 (21:32 +0530)
committerKevin Hilman <khilman@deeprootsystems.com>
Wed, 22 Dec 2010 22:31:35 +0000 (14:31 -0800)
commit984aa6dbf4ca5be806fee217311c9cc68e8f2e88
tree43092ea19c597efdaff5f7f7e2a9cc9cd59527fc
parent3b92408c7dfeb918fdd2f9fadc73177a59ad621c
OMAP3: PM: Adding smartreflex driver support.

SmartReflex modules do adaptive voltage control for real-time
voltage adjustments. With Smartreflex the power supply voltage
can be adapted to the silicon performance(manufacturing process,
temperature induced performance, age induced performance etc).

There are differnet classes of smartreflex implementation.
Class-0: Manufacturing Test Calibration
Class-1: Boot-Time Software Calibration
Class-2: Continuous Software Calibration
Class-3: Continuous Hardware Calibration
Class-4: Fully Integrated Power Management

OMAP3 has two smartreflex modules one associated with VDD MPU and the
other associated with VDD CORE.
This patch adds support for  smartreflex driver. The driver is designed
for Class-1 , Class-2 and Class-3 support and is  a platform driver.
Smartreflex driver can be enabled through a Kconfig option
"SmartReflex support" under "System type"->"TI OMAP implementations" menu.

Smartreflex autocompensation feature can be enabled runtime through
a debug fs option.
To enable smartreflex autocompensation feature
echo 1 > /debug/voltage/vdd_<X>/smartreflex/autocomp
To disable smartreflex autocompensation feature
echo 0 > /debug/voltage/vdd_<X>/smartreflex/autocomp

where X can be mpu, core , iva etc.

This patch contains code originally in linux omap pm branch.
Major contributors to this driver are
Lesly A M, Rajendra Nayak, Kalle Jokiniemi, Paul Walmsley,
Nishant Menon, Kevin Hilman.

Signed-off-by: Thara Gopinath <thara@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/smartreflex.c [new file with mode: 0644]
arch/arm/plat-omap/Kconfig
arch/arm/plat-omap/include/plat/smartreflex.h [new file with mode: 0644]