Hi Mike, On Thu, Jun 30, 2011 at 2:25 AM, Mike Turquette <mturquette@xxxxxx> wrote: > Due to voltage domain trimming and silicon characterstics some silicon > may experience instability when operating at a high voltage. To > compensate for this an Adaptive Body-Bias ldo exists. First featured in > OMAP3630, the purpose of this ldo is to provide a voltage boost to PMOS > backgates when a voltage domain is operating at a high OPP. In this > mode the ldo is said to be in Forward Body-Bias. At OPPs within a > nominal voltage range the ABB ldo is bypassed. > > This patch introduces the data structures needed to represent the ABB > ldo's in the voltage layer, and populates the appropriate data for 3630 > and OMAP4. Not all voltage domains have an ABB ldo, and OMAP34xx does > not have it at all; in such cases the voltage data will be marked with > OMAP_ABB_NO_LDO. The OMAP_ABB_ macros are defined but not used in this patch set. Is this intentional? Should the opp_sel field get tested against OMAP_ABB_NO_LDO and if true should the ABB operations be no-ops? > > Signed-off-by: Mike Turquette <mturquette@xxxxxx> > --- > arch/arm/mach-omap2/Makefile | 5 +- > arch/arm/mach-omap2/abb.h | 85 ++++++++++++++++++++++++++++++++++++ > arch/arm/mach-omap2/abb36xx_data.c | 38 ++++++++++++++++ > arch/arm/mach-omap2/abb44xx_data.c | 44 ++++++++++++++++++ > 4 files changed, 170 insertions(+), 2 deletions(-) > create mode 100644 arch/arm/mach-omap2/abb.h > create mode 100644 arch/arm/mach-omap2/abb36xx_data.c > create mode 100644 arch/arm/mach-omap2/abb44xx_data.c > > diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile > index 2cbef35..7dbb4d5 100644 > --- a/arch/arm/mach-omap2/Makefile > +++ b/arch/arm/mach-omap2/Makefile > @@ -79,14 +79,15 @@ endif > # PRCM > obj-$(CONFIG_ARCH_OMAP2) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o > obj-$(CONFIG_ARCH_OMAP3) += prcm.o cm2xxx_3xxx.o prm2xxx_3xxx.o \ > - vc3xxx_data.o vp3xxx_data.o > + vc3xxx_data.o vp3xxx_data.o \ > + abb36xx_data.o > # XXX The presence of cm2xxx_3xxx.o on the line below is temporary and > # will be removed once the OMAP4 part of the codebase is converted to > # use OMAP4-specific PRCM functions. > obj-$(CONFIG_ARCH_OMAP4) += prcm.o cm2xxx_3xxx.o cminst44xx.o \ > cm44xx.o prcm_mpu44xx.o \ > prminst44xx.o vc44xx_data.o \ > - vp44xx_data.o > + vp44xx_data.o abb44xx_data.o > > # OMAP voltage domains > ifeq ($(CONFIG_PM),y) > diff --git a/arch/arm/mach-omap2/abb.h b/arch/arm/mach-omap2/abb.h > new file mode 100644 > index 0000000..74f2044 > --- /dev/null > +++ b/arch/arm/mach-omap2/abb.h > @@ -0,0 +1,85 @@ > +/* > + * OMAP Adaptive Body-Bias structure and macro definitions > + * > + * Copyright (C) 2011 Texas Instruments, Inc. > + * Mike Turquette <mturquette@xxxxxx> > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef __ARCH_ARM_MACH_OMAP2_ABB_H > +#define __ARCH_ARM_MACH_OMAP2_ABB_H > + > +#include <linux/kernel.h> > + > +#include "voltage.h" > + > +/* NOMINAL_OPP bypasses the ABB ldo, FAST_OPP sets it to Forward Body-Bias */ > +#define OMAP_ABB_NOMINAL_OPP 0 > +#define OMAP_ABB_FAST_OPP 1 > +#define OMAP_ABB_NO_LDO ~0 Regards, Jean -- 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