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: Jean Pihet <j-pihet@ti.com> Signed-off-by: J Keerthy <j-keerthy@ti.com> Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Reviewed-by: Kevin Hilman <khilman@ti.com> Signed-off-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
parent
7fb149ffe3
commit
21ff63ad13
|
@ -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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
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.
|
|
@ -0,0 +1 @@
|
||||||
|
obj-$(CONFIG_POWER_AVS_OMAP) += smartreflex.o
|
|
@ -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 @@
|
||||||
#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
|
Loading…
Reference in New Issue