]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options
authorJean Pihet <j-pihet@ti.com>
Tue, 24 Apr 2012 06:08:50 +0000 (11:38 +0530)
committerKevin Hilman <khilman@ti.com>
Thu, 31 May 2012 23:03:45 +0000 (16:03 -0700)
Add a Kconfig menu (POWER_AVS) and rename the Kconfig options
for the OMAP SmartReflex implementation:
CONFIG_OMAP_SMARTREFLEX renames to CONFIG_POWER_AVS_OMAP
CONFIG_OMAP_SMARTREFLEX_CLASS3 renames to CONFIG_POWER_AVS_OMAP_CLASS3

This change makes the SmartReflex implementation ready for the move
to drivers/.

Signed-off-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: J Keerthy <j-keerthy@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
arch/arm/mach-omap2/Makefile
arch/arm/mach-omap2/pm.h
arch/arm/plat-omap/Kconfig
include/linux/power/smartreflex.h

index 385c083d24b2fbfc960a95826719457614a643f8..518444acc90f2837b4d3c4f227601e48e1457038 100644 (file)
@@ -69,8 +69,9 @@ obj-$(CONFIG_ARCH_OMAP3)              += pm34xx.o sleep34xx.o \
 obj-$(CONFIG_ARCH_OMAP4)               += pm44xx.o omap-mpuss-lowpower.o \
                                           cpuidle44xx.o
 obj-$(CONFIG_PM_DEBUG)                 += pm-debug.o
-obj-$(CONFIG_OMAP_SMARTREFLEX)          += sr_device.o smartreflex.o
-obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3)  += smartreflex-class3.o
+
+obj-$(CONFIG_POWER_AVS_OMAP)           += sr_device.o smartreflex.o
+obj-$(CONFIG_POWER_AVS_OMAP_CLASS3)    += smartreflex-class3.o
 
 AFLAGS_sleep24xx.o                     :=-Wa,-march=armv6
 AFLAGS_sleep34xx.o                     :=-Wa,-march=armv7-a$(plus_sec)
index 78564895e9144c327420034d5a4f3f6c9b3f44b8..9fac67d6c985a3ca36489f8a536e385f0b60eb86 100644 (file)
@@ -88,7 +88,7 @@ extern void enable_omap3630_toggle_l2_on_restore(void);
 static inline void enable_omap3630_toggle_l2_on_restore(void) { }
 #endif         /* defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) */
 
-#ifdef CONFIG_OMAP_SMARTREFLEX
+#ifdef CONFIG_POWER_AVS_OMAP
 extern int omap_devinit_smartreflex(void);
 extern void omap_enable_smartreflex_on_init(void);
 #else
index ad95c7a5d00926f933864cb9a9285e95ae1f7f10..bba384dfbcf691d36b8e9bcf71b02cada92b510d 100644 (file)
@@ -45,37 +45,52 @@ config OMAP_DEBUG_LEDS
        depends on OMAP_DEBUG_DEVICES
        default y if LEDS_CLASS
 
-config OMAP_SMARTREFLEX
-       bool "SmartReflex support"
-       depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
+menuconfig POWER_AVS
+       tristate "Adaptive Voltage Scaling class support"
        help
-         Say Y if you want to enable SmartReflex.
+         AVS(Adaptive Voltage Scaling) is a power management technique which
+         finely controls the operating voltage of a device in order to optimize
+          (i.e. reduce) its power consumption.
+         At a given operating point the voltage is adapted depending on
+         static factors (chip manufacturing process) and dynamic factors
+         (temperature depending performance).
+         AVS is also called SmartReflex on OMAP devices.
+
+         Say Y here to enable Adaptive Voltage Scaling class support.
+
+if POWER_AVS
 
-         SmartReflex can perform continuous dynamic voltage
-         scaling around the nominal operating point voltage
-         according to silicon characteristics and operating
-         conditions. Enabling SmartReflex reduces power
-         consumption.
+config POWER_AVS_OMAP
+       bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
+       depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
+       help
+         Say Y to enable AVS support on OMAP containing the version 1 or
+         version 2 of the SmartReflex IP.
+         V1 is the 65nm version used in OMAP3430.
+         V2 is the update for the 45nm version of the IP used in OMAP3630
+         and OMAP4430
 
          Please note, that by default SmartReflex is only
-         initialized. To enable the automatic voltage
-         compensation for vdd mpu  and vdd core from user space,
+         initialized and not enabled. To enable the automatic voltage
+         compensation for vdd mpu and vdd core from user space,
          user must write 1 to
-               /debug/voltage/vdd_<X>/smartreflex/autocomp,
-         where X is mpu or core for OMAP3.
+               /debug/smartreflex/sr_<X>/autocomp,
+         where X is mpu_iva or core for OMAP3.
          Optionally autocompensation can be enabled in the kernel
          by default during system init via the enable_on_init flag
          which an be passed as platform data to the smartreflex driver.
 
-config OMAP_SMARTREFLEX_CLASS3
+config POWER_AVS_OMAP_CLASS3
        bool "Class 3 mode of Smartreflex Implementation"
-       depends on OMAP_SMARTREFLEX && TWL4030_CORE
+       depends on POWER_AVS_OMAP && TWL4030_CORE
        help
          Say Y to enable Class 3 implementation of Smartreflex
 
          Class 3 implementation of Smartreflex employs continuous hardware
          voltage calibration.
 
+endif # POWER_AVS
+
 config OMAP_RESET_CLOCKS
        bool "Reset unused clocks during boot"
        depends on ARCH_OMAP
index 222f90183712308c1d4331a0c9b66bb67eaf07af..3101e62a121319a2a33eff98083aacd2e258569b 100644 (file)
@@ -207,7 +207,7 @@ struct omap_smartreflex_dev_attr {
        const char      *sensor_voltdm_name;
 };
 
-#ifdef CONFIG_OMAP_SMARTREFLEX
+#ifdef CONFIG_POWER_AVS_OMAP
 /*
  * The smart reflex driver supports CLASS1 CLASS2 and CLASS3 SR.
  * The smartreflex class driver should pass the class type.