mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
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>
This commit is contained in:
parent
308d1bd0a7
commit
7fb149ffe3
@ -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)
|
||||
|
@ -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
|
||||
|
@ -45,37 +45,52 @@ config OMAP_DEBUG_LEDS
|
||||
depends on OMAP_DEBUG_DEVICES
|
||||
default y if LEDS_CLASS
|
||||
|
||||
config OMAP_SMARTREFLEX
|
||||
bool "SmartReflex support"
|
||||
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
|
||||
bool "AVS(Adaptive Voltage Scaling) support for OMAP IP versions 1&2"
|
||||
depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM
|
||||
help
|
||||
Say Y if you want to enable SmartReflex.
|
||||
|
||||
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.
|
||||
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
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user