[RFC][PATCH v4? 0/7] Adaptive Body-Bias for OMAP

Mike Turquette mturquette at ti.com
Wed Oct 3 21:26:07 EDT 2012


From: Mike Turquette <mturquette at linaro.org>

Adaptive Body-Bias ldos are present for some voltage domains starting
with OMAP3630.  They have three modes of operation:

 * Bypass - the default, it just follows the vdd voltage
 * Foward Body-Bias - applies voltage bias to increase transistor
   performance at the cost of power.  Used to operate safely at high
   OPPs
 * Reverse Body-Bias - applies voltage bias to decrease leakage and save
   power.  Used to save power at lower OPPs

This series adds the ABB code and per-voltage domain data for OMAP3630
and OMAP4430.  Newer OMAP4 chips and OMAP5 will need this data populated
once those platforms have OPP and voltage tables.  The voltage domain
scaling sequence is modified use these new functions.

This series build on top my previous series, "Introduce .get_voltage
callback into voltdm"[1].  While not strictly necessary that series does
take some steps to eliminate one combination of ABB and VP/VC modes that
is out-of-spec.

[1] http://marc.info/?l=linux-omap&m=134931341818379&w=2

Mike Turquette (7):
  ARM: omap: add 3630 PRM register definitions
  ARM: omap: add ABB PRM_IRQSTATUS handlers
  ARM: omap: Adaptive Body-Bias structures & data
  ARM: omap: opp: add ABB data to voltage tables
  ARM: omap: voltage: per-voltage domain ABB data
  ARM: omap: abb: init & transition functions
  ARM: omap: voltage: add ABB to voltage scaling

 arch/arm/mach-omap2/Makefile                  |    8 +-
 arch/arm/mach-omap2/abb.c                     |  322 +++++++++++++++++++++++++
 arch/arm/mach-omap2/abb.h                     |   94 ++++++++
 arch/arm/mach-omap2/abb36xx_data.c            |   39 +++
 arch/arm/mach-omap2/abb44xx_data.c            |   45 ++++
 arch/arm/mach-omap2/omap_opp_data.h           |    5 +-
 arch/arm/mach-omap2/opp3xxx_data.c            |   37 +--
 arch/arm/mach-omap2/opp4xxx_data.c            |   25 +-
 arch/arm/mach-omap2/prm-regbits-34xx.h        |   34 +++
 arch/arm/mach-omap2/prm2xxx_3xxx.c            |   36 +++
 arch/arm/mach-omap2/prm2xxx_3xxx.h            |    8 +
 arch/arm/mach-omap2/prm44xx.c                 |   44 ++++
 arch/arm/mach-omap2/prm44xx.h                 |    4 +
 arch/arm/mach-omap2/voltage.c                 |   28 ++-
 arch/arm/mach-omap2/voltage.h                 |    1 +
 arch/arm/mach-omap2/voltagedomains3xxx_data.c |    2 +
 arch/arm/mach-omap2/voltagedomains44xx_data.c |    3 +
 arch/arm/plat-omap/include/plat/voltage.h     |    1 +
 18 files changed, 699 insertions(+), 37 deletions(-)
 create mode 100644 arch/arm/mach-omap2/abb.c
 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

-- 
1.7.9.5




More information about the linux-arm-kernel mailing list