diff options
author | Jean Pihet <j-pihet@ti.com> | 2012-04-24 02:08:50 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@ti.com> | 2012-05-31 19:03:45 -0400 |
commit | 7fb149ffe357d6ad672cf9325181530b4c478a81 (patch) | |
tree | 66c71ad6a275a6a63e0625af22de6cca58e41219 /arch/arm | |
parent | 308d1bd0a7e6fedafacc389b134ef54458e39f4d (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/Makefile | 5 | ||||
-rw-r--r-- | arch/arm/mach-omap2/pm.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/Kconfig | 45 |
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 \ | |||
69 | obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \ | 69 | obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \ |
70 | cpuidle44xx.o | 70 | cpuidle44xx.o |
71 | obj-$(CONFIG_PM_DEBUG) += pm-debug.o | 71 | obj-$(CONFIG_PM_DEBUG) += pm-debug.o |
72 | obj-$(CONFIG_OMAP_SMARTREFLEX) += sr_device.o smartreflex.o | 72 | |
73 | obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o | 73 | obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o smartreflex.o |
74 | obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o | ||
74 | 75 | ||
75 | AFLAGS_sleep24xx.o :=-Wa,-march=armv6 | 76 | AFLAGS_sleep24xx.o :=-Wa,-march=armv6 |
76 | AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) | 77 | AFLAGS_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); | |||
88 | static inline void enable_omap3630_toggle_l2_on_restore(void) { } | 88 | static 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 |
92 | extern int omap_devinit_smartreflex(void); | 92 | extern int omap_devinit_smartreflex(void); |
93 | extern void omap_enable_smartreflex_on_init(void); | 93 | extern 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 | ||
48 | config OMAP_SMARTREFLEX | 48 | menuconfig 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 | |||
61 | if POWER_AVS | ||
53 | 62 | ||
54 | SmartReflex can perform continuous dynamic voltage | 63 | config 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 | ||
70 | config OMAP_SMARTREFLEX_CLASS3 | 83 | config 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 | ||
92 | endif # POWER_AVS | ||
93 | |||
79 | config OMAP_RESET_CLOCKS | 94 | config 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 |