Re: [PATCH 4/8] OMAP3+: ABB: Adaptive Body-Bias structures & data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux