aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorJean Pihet <j-pihet@ti.com>2012-04-24 02:08:50 -0400
committerKevin Hilman <khilman@ti.com>2012-05-31 19:03:45 -0400
commit7fb149ffe357d6ad672cf9325181530b4c478a81 (patch)
tree66c71ad6a275a6a63e0625af22de6cca58e41219 /arch/arm
parent308d1bd0a7e6fedafacc389b134ef54458e39f4d (diff)
ARM: OMAP2+: SmartReflex: add POWER_AVS Kconfig options
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>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/Makefile5
-rw-r--r--arch/arm/mach-omap2/pm.h2
-rw-r--r--arch/arm/plat-omap/Kconfig45
3 files changed, 34 insertions, 18 deletions
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
index 385c083d24b2..518444acc90f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -69,8 +69,9 @@ obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o \
69obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \ 69obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \
70 cpuidle44xx.o 70 cpuidle44xx.o
71obj-$(CONFIG_PM_DEBUG) += pm-debug.o 71obj-$(CONFIG_PM_DEBUG) += pm-debug.o
72obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o 72
73obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o 73obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o smartreflex.o
74obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o
74 75
75AFLAGS_sleep24xx.o :=-Wa,-march=armv6 76AFLAGS_sleep24xx.o :=-Wa,-march=armv6
76AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) 77AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 78564895e914..9fac67d6c985 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -88,7 +88,7 @@ extern void enable_omap3630_toggle_l2_on_restore(void);
88static inline void enable_omap3630_toggle_l2_on_restore(void) { } 88static inline void enable_omap3630_toggle_l2_on_restore(void) { }
89#endif /* defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) */ 89#endif /* defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3) */
90 90
91#ifdef CONFIG_OMAP_SMARTREFLEX 91#ifdef CONFIG_POWER_AVS_OMAP
92extern int omap_devinit_smartreflex(void); 92extern int omap_devinit_smartreflex(void);
93extern void omap_enable_smartreflex_on_init(void); 93extern void omap_enable_smartreflex_on_init(void);
94#else 94#else
diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
index ad95c7a5d009..bba384dfbcf6 100644
--- a/arch/arm/plat-omap/Kconfig
+++ b/arch/arm/plat-omap/Kconfig
@@ -45,37 +45,52 @@ config OMAP_DEBUG_LEDS
45 depends on OMAP_DEBUG_DEVICES 45 depends on OMAP_DEBUG_DEVICES
46 default y if LEDS_CLASS 46 default y if LEDS_CLASS
47 47
48config OMAP_SMARTREFLEX 48menuconfig POWER_AVS
49 bool "SmartReflex support" 49 tristate "Adaptive Voltage Scaling class support"
50 depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
51 help 50 help
52 Say Y if you want to enable SmartReflex. 51 AVS(Adaptive Voltage Scaling) is a power management technique which
52 finely controls the operating voltage of a device in order to optimize
53 (i.e. reduce) its power consumption.
54 At a given operating point the voltage is adapted depending on
55 static factors (chip manufacturing process) and dynamic factors
56 (temperature depending performance).
57 AVS is also called SmartReflex on OMAP devices.
58
59 Say Y here to enable Adaptive Voltage Scaling class support.
60
61if POWER_AVS
53 62
54 SmartReflex can perform continuous dynamic voltage 63config POWER_AVS_OMAP
55 scaling around the nominal operating point voltage 64 bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
56 according to silicon characteristics and operating 65 depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
57 conditions. Enabling SmartReflex reduces power 66 help
58 consumption. 67 Say Y to enable AVS support on OMAP containing the version 1 or
68 version 2 of the SmartReflex IP.
69 V1 is the 65nm version used in OMAP3430.
70 V2 is the update for the 45nm version of the IP used in OMAP3630
71 and OMAP4430
59 72
60 Please note, that by default SmartReflex is only 73 Please note, that by default SmartReflex is only
61 initialized. To enable the automatic voltage 74 initialized and not enabled. To enable the automatic voltage
62 compensation for vdd mpu and vdd core from user space, 75 compensation for vdd mpu and vdd core from user space,
63 user must write 1 to 76 user must write 1 to
64 /debug/voltage/vdd_<X>/smartreflex/autocomp, 77 /debug/smartreflex/sr_<X>/autocomp,
65 where X is mpu or core for OMAP3. 78 where X is mpu_iva or core for OMAP3.
66 Optionally autocompensation can be enabled in the kernel 79 Optionally autocompensation can be enabled in the kernel
67 by default during system init via the enable_on_init flag 80 by default during system init via the enable_on_init flag
68 which an be passed as platform data to the smartreflex driver. 81 which an be passed as platform data to the smartreflex driver.
69 82
70config OMAP_SMARTREFLEX_CLASS3 83config POWER_AVS_OMAP_CLASS3
71 bool "Class 3 mode of Smartreflex Implementation" 84 bool "Class 3 mode of Smartreflex Implementation"
72 depends on OMAP_SMARTREFLEX && TWL4030_CORE 85 depends on POWER_AVS_OMAP && TWL4030_CORE
73 help 86 help
74 Say Y to enable Class 3 implementation of Smartreflex 87 Say Y to enable Class 3 implementation of Smartreflex
75 88
76 Class 3 implementation of Smartreflex employs continuous hardware 89 Class 3 implementation of Smartreflex employs continuous hardware
77 voltage calibration. 90 voltage calibration.
78 91
92endif # POWER_AVS
93
79config OMAP_RESET_CLOCKS 94config OMAP_RESET_CLOCKS
80 bool "Reset unused clocks during boot" 95 bool "Reset unused clocks during boot"
81 depends on ARCH_OMAP 96 depends on ARCH_OMAP