On Thursday, March 15, 2012, jean.pihet@xxxxxxxxxxxxxx wrote: > From: Jean Pihet <j-pihet@xxxxxx> > > After a clean-up of the interfaces the OMAP IP driver and class > support code 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 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@xxxxxx> > --- [...] > diff --git a/drivers/power/Makefile b/drivers/power/Makefile > index e429008..e4a8fd2 100644 > --- a/drivers/power/Makefile > +++ b/drivers/power/Makefile > @@ -41,3 +41,5 @@ obj-$(CONFIG_CHARGER_GPIO) += gpio-charger.o > obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o > obj-$(CONFIG_CHARGER_MAX8997) += max8997_charger.o > obj-$(CONFIG_CHARGER_MAX8998) += max8998_charger.o > + > +obj-$(CONFIG_POWER_AVS) += avs/ > diff --git a/drivers/power/avs/Kconfig b/drivers/power/avs/Kconfig > new file mode 100644 > index 0000000..35b21c4 > --- /dev/null > +++ b/drivers/power/avs/Kconfig > @@ -0,0 +1,45 @@ > +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. > + > +if POWER_AVS > + > +config POWER_AVS_OMAP I think it would be better to keep this and the next one in the OMAP arch Kconfig. > + bool "AVS support for the OMAP IP versions 1&2" > + depends on (ARCH_OMAP3 || ARCH_OMAP4) && PM > + help > + 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 and not enabled. To enable the automatic voltage > + compensation for vdd mpu and vdd core from user space, > + user must write 1 to > + /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 POWER_AVS_OMAP_CLASS3 > + bool "Class 3 mode of Smartreflex Implementation" > + 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 Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html