1. 18 7月, 2013 1 次提交
  2. 25 6月, 2013 1 次提交
  3. 08 6月, 2013 1 次提交
  4. 12 5月, 2013 1 次提交
    • A
      regulator: Introduce TI Adaptive Body Bias(ABB) on-chip LDO driver · 40b1936e
      Andrii.Tseglytskyi 提交于
      Adaptive Body Biasing (ABB) modulates transistor bias voltages
      dynamically in order to optimize switching speed versus leakage.
      
      Texas Instruments' SmartReflex 2 technology provides support for this
      power management technique with Forward Body Biasing (FBB) and Reverse
      Body Biasing (RBB). These modulate the body voltage of transistor
      cells or blocks dynamically to gain performance and reduce leakage.
      TI's SmartReflex white paper[1] has further information for usage in
      conjunction with other power management techniques.
      
      The application of FBB/RBB technique is determined for each unique
      device in some process nodes, whereas, they are mandated on other
      process nodes.
      
      In a nutshell, ABB technique is implemented on TI SoC as an on-chip
      LDO which has ABB module controlling the bias voltage. However, the
      voltage is unique per device. These vary per SoC family and the manner
      in which these techniques are used may vary depending on the Operating
      Performance Point (OPP) voltage targeted. For example:
      OMAP3630/OMAP4430: certain OPPs mandate usage of FBB independent of
      	devices.
      OMAP4460/OMAP4470: certain OPPs mandate usage of FBB, while others may
      	optionally use FBB or optimization with RBB.
      OMAP5: ALL OPPs may optionally use ABB, and ABB biasing voltage is
      	influenced by vset fused in s/w and requiring s/w override of
      	default values.
      
      Further, two generations of ABB module are used in various TI SoCs.
      They have remained mostly register field compatible, however the
      register offset had switched between versions.
      
      We introduce ABB LDO support in the form of a regulator which is
      controlled by voltages denoting the desired Operating Performance
      Point which is targeted. However, since ABB transition is part of OPP
      change sequence, the sequencing required to ensure sane operation
      w.r.t OPP change is left to the controlling driver (example: cpufreq
      SoC driver) using standard regulator operations.
      
      The driver supports all ABB modes and ability to override ABB LDO vset
      control efuse based ABB mode detection etc.
      
      Current implementation is heavily influenced by the original patch
      series [2][3] from Mike Turquette. However, the current implementation
      supports only device tree based information.
      
      [1] http://www.ti.com/pdfs/wtbu/smartreflex_whitepaper.pdf
      [2] http://marc.info/?l=linux-omap&m=134931341818379&w=2
      [3] http://marc.info/?l=linux-arm-kernel&m=134931402406853&w=2
      
      [nm@ti.com: co-developer]
      Signed-off-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NAndrii.Tseglytskyi <andrii.tseglytskyi@ti.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      40b1936e
  5. 30 3月, 2013 1 次提交
  6. 25 12月, 2012 1 次提交
  7. 23 11月, 2012 1 次提交
  8. 19 11月, 2012 1 次提交
  9. 15 11月, 2012 1 次提交
  10. 13 11月, 2012 1 次提交
  11. 15 10月, 2012 2 次提交
  12. 10 9月, 2012 1 次提交
  13. 29 8月, 2012 1 次提交
    • G
      regulator: add MAX8907 driver · ffee1909
      Gyungoh Yoo 提交于
      The MAX8907 is an I2C-based power-management IC containing voltage
      regulators, a reset controller, a real-time clock, and a touch-screen
      controller.
      
      The original driver was written by:
      * Gyungoh Yoo <jack.yoo@maxim-ic.com>
      
      Various fixes and enhancements by:
      * Jin Park <jinyoungp@nvidia.com>
      * Tom Cherry <tcherry@nvidia.com>
      * Prashant Gaikwad <pgaikwad@nvidia.com>
      * Dan Willemsen <dwillemsen@nvidia.com>
      * Laxman Dewangan <ldewangan@nvidia.com>
      
      During upstreaming, I (swarren):
      * Converted to regmap.
      * Allowed probing from device tree.
      * Reworked the regulator driver to be represented as a single device that
        provides multiple regulators, rather than as a device per regulator.
      * Replaced many regulator ops with standard functions.
      * Added ability to specify supplies for each regulator.
      * Removed the WLED regulator. If/when we expose this in the driver, it
        should be a backlight object not a regulator object.
      * Renamed from max8907c->max8907, since the driver covers at least the
        C and B revisions.
      * General cleanup.
      Signed-off-by: NGyungoh Yoo <jack.yoo@maxim-ic.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      ffee1909
  14. 20 7月, 2012 1 次提交
  15. 11 7月, 2012 1 次提交
  16. 25 6月, 2012 1 次提交
  17. 20 6月, 2012 2 次提交
  18. 03 6月, 2012 1 次提交
  19. 19 5月, 2012 1 次提交
  20. 04 4月, 2012 2 次提交
  21. 01 4月, 2012 1 次提交
  22. 14 3月, 2012 1 次提交
  23. 12 3月, 2012 1 次提交
  24. 07 3月, 2012 1 次提交
  25. 04 3月, 2012 1 次提交
  26. 20 1月, 2012 4 次提交
  27. 15 12月, 2011 1 次提交
  28. 24 11月, 2011 1 次提交
    • R
      regulator: helper routine to extract regulator_init_data · 8f446e6f
      Rajendra Nayak 提交于
      The helper routine is meant to be used by the regulator drivers
      to extract the regulator_init_data structure from the data
      that is passed from device tree.
      'consumer_supplies' which is part of regulator_init_data is not extracted
      as the regulator consumer mappings are passed through DT differently,
      implemented in subsequent patches.
      Similarly the regulator<-->parent/supply mapping is handled in
      subsequent patches.
      
      Also add documentation for regulator bindings to be used to pass
      regulator_init_data struct information from device tree.
      
      Some of the regulator properties which are linux and board specific,
      are left out since its not clear if they can
      be in someway embedded into the kernel or passed in from DT.
      They will be revisited later.
      Signed-off-by: NRajendra Nayak <rnayak@ti.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      8f446e6f
  29. 09 10月, 2011 1 次提交
    • H
      regulator: Add driver for gpio-controlled regulators · 3f0292ae
      Heiko Stübner 提交于
      This patch adds support for regulators that can be controlled via gpios.
      
      Examples for such regulators are the TI-tps65024x voltage regulators
      with 4 fixed and 1 runtime-switchable voltage regulators
      or the TI-bq240XX charger regulators.
      
      The number of controlling gpios is not limited, the mapping between
      voltage/current and target gpio state is done via the states map
      and the driver can be used for either voltage or current regulators.
      
      A mapping for a regulator with two GPIOs could look like:
      
      gpios = {
      	{ .gpio = GPIO1, .flags = GPIOF_OUT_INIT_HIGH, .label = "gpio name 1" },
      	{ .gpio = GPIO2, .flags = GPIOF_OUT_INIT_LOW,  .label = "gpio name 2" },
      }
      
      The flags element of the gpios array determines the initial state of
      the gpio, set during probe. The initial state of the regulator is also
      calculated from these values
      
      states = {
      	{ .value = volt_or_cur1, .gpios = (0 << 1) | (0 << 0) },
      	{ .value = volt_or_cur2, .gpios = (0 << 1) | (1 << 0) },
      	{ .value = volt_or_cur3, .gpios = (1 << 1) | (0 << 0) },
      	{ .value = volt_or_cur4, .gpios = (1 << 1) | (1 << 0) },
      }
      
      The target-state for the n-th gpio is determined by the n-th bit
      in the bitfield of the target-value.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      3f0292ae
  30. 01 8月, 2011 2 次提交
  31. 27 5月, 2011 1 次提交
  32. 25 5月, 2011 1 次提交
  33. 23 3月, 2011 1 次提交