Commit 21ff63ad authored by Jean Pihet's avatar Jean Pihet Committed by Kevin Hilman

ARM: OMAP: SmartReflex: Move smartreflex driver to drivers/

After a clean-up of the interfaces the OMAP Smartreflex IP driver is now a
generic driver. Move it to drivers/power/avs/.

The build is controlled by the following Kconfig options:
 . CONFIG_POWER_AVS: general knob for Adaptive Voltage Scaling support,
 . CONFIG_POWER_AVS_OMAP: AVS(Adaptive Voltage Scaling)
   support on OMAP containing the version 1 or version 2 of the SmartReflex IP,
 . CONFIG_POWER_AVS_OMAP_CLASS3: Class 3 implementation of Smartreflex.
Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
Signed-off-by: default avatarJ Keerthy <j-keerthy@ti.com>
Acked-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
Reviewed-by: default avatarKevin Hilman <khilman@ti.com>
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 7fb149ff
...@@ -70,8 +70,8 @@ obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \ ...@@ -70,8 +70,8 @@ obj-$(CONFIG_ARCH_OMAP4) += pm44xx.o omap-mpuss-lowpower.o \
cpuidle44xx.o cpuidle44xx.o
obj-$(CONFIG_PM_DEBUG) += pm-debug.o obj-$(CONFIG_PM_DEBUG) += pm-debug.o
obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o smartreflex.o obj-$(CONFIG_POWER_AVS_OMAP) += sr_device.o
obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o obj-$(CONFIG_POWER_AVS_OMAP_CLASS3) += smartreflex-class3.o
AFLAGS_sleep24xx.o :=-Wa,-march=armv6 AFLAGS_sleep24xx.o :=-Wa,-march=armv6
AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec) AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
......
...@@ -45,26 +45,12 @@ config OMAP_DEBUG_LEDS ...@@ -45,26 +45,12 @@ config OMAP_DEBUG_LEDS
depends on OMAP_DEBUG_DEVICES depends on OMAP_DEBUG_DEVICES
default y if LEDS_CLASS default y if LEDS_CLASS
menuconfig POWER_AVS
tristate "Adaptive Voltage Scaling class support"
help
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
config POWER_AVS_OMAP config POWER_AVS_OMAP
bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2" bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM depends on POWER_AVS && (ARCH_OMAP3 || ARCH_OMAP4) && PM
help help
Say Y to enable AVS support on OMAP containing the version 1 or Say Y to enable AVS(Adaptive Voltage Scaling)
support on OMAP containing the version 1 or
version 2 of the SmartReflex IP. version 2 of the SmartReflex IP.
V1 is the 65nm version used in OMAP3430. V1 is the 65nm version used in OMAP3430.
V2 is the update for the 45nm version of the IP used in OMAP3630 V2 is the update for the 45nm version of the IP used in OMAP3630
...@@ -89,8 +75,6 @@ config POWER_AVS_OMAP_CLASS3 ...@@ -89,8 +75,6 @@ config POWER_AVS_OMAP_CLASS3
Class 3 implementation of Smartreflex employs continuous hardware Class 3 implementation of Smartreflex employs continuous hardware
voltage calibration. voltage calibration.
endif # POWER_AVS
config OMAP_RESET_CLOCKS config OMAP_RESET_CLOCKS
bool "Reset unused clocks during boot" bool "Reset unused clocks during boot"
depends on ARCH_OMAP depends on ARCH_OMAP
......
...@@ -308,3 +308,5 @@ config AB8500_BATTERY_THERM_ON_BATCTRL ...@@ -308,3 +308,5 @@ config AB8500_BATTERY_THERM_ON_BATCTRL
Say Y to enable battery temperature measurements using Say Y to enable battery temperature measurements using
thermistor connected on BATCTRL ADC. thermistor connected on BATCTRL ADC.
endif # POWER_SUPPLY endif # POWER_SUPPLY
source "drivers/power/avs/Kconfig"
...@@ -43,4 +43,5 @@ obj-$(CONFIG_CHARGER_GPIO) += gpio-charger.o ...@@ -43,4 +43,5 @@ obj-$(CONFIG_CHARGER_GPIO) += gpio-charger.o
obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o
obj-$(CONFIG_CHARGER_MAX8997) += max8997_charger.o obj-$(CONFIG_CHARGER_MAX8997) += max8997_charger.o
obj-$(CONFIG_CHARGER_MAX8998) += max8998_charger.o obj-$(CONFIG_CHARGER_MAX8998) += max8998_charger.o
obj-$(CONFIG_POWER_AVS) += avs/
obj-$(CONFIG_CHARGER_SMB347) += smb347-charger.o obj-$(CONFIG_CHARGER_SMB347) += smb347-charger.o
menuconfig POWER_AVS
tristate "Adaptive Voltage Scaling class support"
help
AVS 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.
obj-$(CONFIG_POWER_AVS_OMAP) += smartreflex.o
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Author: Thara Gopinath <thara@ti.com> * Author: Thara Gopinath <thara@ti.com>
* *
* Copyright (C) 2010 Texas Instruments, Inc. * Copyright (C) 2012 Texas Instruments, Inc.
* Thara Gopinath <thara@ti.com> * Thara Gopinath <thara@ti.com>
* *
* Copyright (C) 2008 Nokia Corporation * Copyright (C) 2008 Nokia Corporation
...@@ -27,9 +27,6 @@ ...@@ -27,9 +27,6 @@
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include <linux/power/smartreflex.h> #include <linux/power/smartreflex.h>
#include "common.h"
#include "pm.h"
#define SMARTREFLEX_NAME_LEN 16 #define SMARTREFLEX_NAME_LEN 16
#define NVALUE_NAME_LEN 40 #define NVALUE_NAME_LEN 40
#define SR_DISABLE_TIMEOUT 200 #define SR_DISABLE_TIMEOUT 200
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment