15 Dec, 2011

1 commit

  • The Dialog PMIC has below featured regulators:-
    DA9052-BC - 4 DVS Buck converters 0.5V - 3.6V upto 1Amp.
    DA9053-AA/BX - 4 DVS Buck converters 0.5V - 2.5V upto 3Amp.
    DA9052/53 - 10 Programmable LDO's High PSSR, 1% accuracy.

    This patch support all the DA9052 and Da9053 regulators. The output voltages are
    fully programmable via I2C or SPI interface. The platform data with regulation
    constraints is passed down from the board to the regulator.

    Signed-off-by: David Dajun Chen
    Signed-off-by: Ashish Jangam
    Tested-by: Ying-Chun Liu (PaulLiu)
    Signed-off-by: Mark Brown

    Ashish Jangam
     

24 Nov, 2011

1 commit

  • 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 regulatorparent/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: Rajendra Nayak
    Signed-off-by: Mark Brown

    Rajendra Nayak
     

09 Oct, 2011

1 commit

  • 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: Heiko Stuebner
    Signed-off-by: Mark Brown

    Heiko Stübner
     

01 Aug, 2011

2 commits


27 May, 2011

1 commit

  • The regulator module consists of 3 DCDCs and 8 LDOs. The output
    voltages are configurable and are meant to supply power to the
    main processor and other components

    Signed-off-by: Graeme Gregory
    Signed-off-by: Jorge Eduardo Candelaria
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Graeme Gregory
     

25 May, 2011

1 commit

  • The DB8500 has ePOD:s (electronic power domains) which are possible
    to switch on/off to deactivate silicon blocks on the DB8500 SoC
    by cutting their power without retention. We model these as simple
    regulators with one bit on/off settings.

    Acked-by: Liam Girdwood
    Acked-by: Mark Brown
    Signed-off-by: Bengt Jonsson
    Signed-off-by: Sundar Iyer
    Signed-off-by: Jonas Aberg
    Signed-off-by: Virupax Sadashivpetimath
    Signed-off-by: Martin Persson
    Signed-off-by: Linus Walleij

    Bengt Jonsson
     

23 Mar, 2011

2 commits

  • This adds a subdriver for the regulator found inside the TPS61050
    and TPS61052 chips.

    Cc: Samuel Ortiz
    Cc: Ola Lilja
    Cc: Jonas Aberg
    Signed-off-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • This patch supports PMIC/Regulator part of MAX8997/MAX8966 MFD.
    In this initial release, selecting voltages or current-limit
    and switching on/off the regulators are supported.

    Controlling voltages for DVS with GPIOs is not implemented fully
    and requires more considerations: it controls multiple bucks (selection
    of 1, 2, and 5) at the same time with SET1~3 gpios. Thus, when DVS-GPIO
    is activated, we lose the ability to control the voltage of a single
    buck regulator independently; i.e., contolling a buck affects other two
    bucks. Therefore, using the conventional regulator framework directly
    might be problematic. However, in this driver, we try to choose
    a setting without such side effect of affecting other regulators and
    then try to choose a setting with the minimum side effect (the sum of
    voltage changes in other regulators).

    On the other hand, controlling all the three bucks simultenously based
    on the voltage set table may help build cpufreq and similar system
    more robust; i.e., all the three voltages are consistent every time
    without glitches during transition.

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Acked-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    MyungJoo Ham
     

12 Jan, 2011

3 commits


29 Oct, 2010

3 commits

  • Allow machine drivers to explicitly enable the use of the dummy regulator,
    enabling simpler support for systems with only a few specific supplies
    visible to software.

    It is strongly recommended that this is not used on systems with
    substantial software control over their PMICs, for maximum functionality
    constrints should be as fully specified as possible.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • This patch adds regulator drivers for National Semiconductors LP3972 PMIC.
    This LP3972 PMIC controller has 3 DC/DC voltage converters and 5 low drop-out
    (LDO) regulators. LP3972 PMIC controller uses I2C interface.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Axel Lin
     
  • MAX8952 PMIC is used to provide voltage output between 770mV - 1400mV
    with DVS support. In this initial release, users can set voltages for
    four DVS modes, RAMP delay values, and SYNC frequency.
    Controlling FPWM/SYNC_MODE/Pull-Down/Ramp Modes and reading CHIP_ID
    is not supported in this release.

    If GPIO of EN is not valid in platform data, the driver assumes that it
    is always-on. If GPIO of VID0 or VID1 is invalid, the driver pulls down
    VID0 and VID1 to fix DVS mode as 0 and disables DVS support.

    We assume that V_OUT is capable to provide every voltage from 770mV to
    1.40V in 10mV steps although the data sheet has some ambiguity on it.

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Acked-by: Mark Brown
    --
    v2:
    - Style correction
    - Can accept platform_data with invalid GPIOs
    - Removed unnecessary features
    - Improved error handling
    Signed-off-by: Liam Girdwood

    MyungJoo Ham
     

11 Aug, 2010

5 commits

  • Signed-off-by: Mike Rapoport
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mike Rapoport
     
  • Hi Mark,
    > I think that's everything.
    Please find the updated patch set as below.

    >From f4bf7eec4d210db5075c0bce4521d9be6bc76c8c Mon Sep 17 00:00:00 2001
    From: Sundar R Iyer
    Date: Sun, 6 Jun 2010 19:12:12 +0530
    Subject: [PATCH v3 1/2] regulator: add support for regulators on the ab8500 MFD

    Acked-by: Linus Walleij
    Acked-by: Bengt JONSSON
    Signed-off-by: Sundar R Iyer
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Sundar R IYER
     
  • Acked-by: Mark Brown

    This patch adds voltage regulator driver for Maxim 8998 chip. This chip
    is used on Samsung Aquila and GONI boards and provides following
    functionalities:
    - 4 BUCK voltage converters, 17 LDO power regulators and 5 other power
    controllers
    - battery charger

    This patch adds basic driver for voltage regulators and MAX 8998 MFD core.

    Signed-off-by: Kyungmin Park
    Signed-off-by: Marek Szyprowski
    Acked-by: Samuel Ortiz
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Kyungmin Park
     
  • This device is very simple, it supports one buck and two LDOs. The LDOs are
    fixed-voltage. Only the buck is programable over the I2C bus to 16 possible
    voltages.

    Signed-off-by: Marek Vasut
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Marek Vasut
     
  • The AD5398 and AD5821 are single 10-bit DAC with 120 mA output current
    sink capability. They feature an internal reference and operates from
    a single 2.7 V to 5.5 V supply.

    This driver supports both the AD5398 and the AD5821. It adapts into the
    voltage and current framework.

    Signed-off-by: Sonic Zhang
    Signed-off-by: Mike Frysinger
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Sonic Zhang
     

08 Mar, 2010

1 commit


03 Mar, 2010

3 commits

  • In order to ease transitions with drivers are boards start using regulators
    provide an option to cause all regulator_get() calls to succeed, with a
    dummy always on regulator being supplied where one has not been configured.
    A warning is printed whenever the dummy regulator is used to aid system
    development.

    This regulator does not implement any regulator operations but will allow
    simple consumers which only do enable() and disable() calls to run. It
    is kept separate from the fixed voltage regulator to avoid Kconfig
    confusion on the part of users when it is extended to allow boards to
    explicitly use the dummy regulator to simplify cases where the majority
    of supplies are from fixed regulators without software control.

    This option is currently only effective for systems which do not specify
    full constriants. If required an override could also be provided to allow
    these systems to use the dummy regulator, though it is likely that
    unconfigured supplies on such systems will lead to error due to
    regulators being powered down more aggressively when not in use.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • The WM8994 contains two LDOs with mixed hardware/software control to
    minimise the number of external supplies required while delivering
    optimal voltages to minimise power consumption.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • Signed-off-by: Haojian Zhuang
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Haojian Zhuang
     

17 Dec, 2009

3 commits

  • One annoying thing about the old name was that the module was just
    called mc13783 which caused wrong expectations (at least for me).

    Signed-off-by: Uwe Kleine-König
    Cc: Sascha Hauer
    Cc: Liam Girdwood
    Cc: Mark Brown
    Cc: Samuel Ortiz
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Uwe Kleine-König
     
  • Hi Liam,

    Since Samuel merged a new version of mfd 88pm8607 driver, I format a
    new patch on regulator 88pm8607. I paste the new patch in mail. Please
    help to review again. And I also attach the mfd driver in mail.

    From: Haojian Zhuang
    Date: Thu, 8 Oct 2009 09:36:53 -0400
    Subject: [PATCH] regulator: Add 88PM8607 PMIC driver

    This patch adds regulator drivers for Marvell 88PM8607 PMIC.
    This controller contains 3 DVC and 14 LDO regulators. This controller
    uses I2C interface.

    Signed-off-by: Haojian Zhuang
    Signed-off-by: Liam Girdwood

    Haojian Zhuang
     
  • Tested with a MX25-based custom board.

    Signed-off-by: Wolfram Sang
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Wolfram Sang
     

14 Dec, 2009

1 commit

  • The upcoming TWL6030 is companion chip for OMAP4 like the current TWL4030
    for OMAP3. The common modules like RTC, Regulator creates opportunity
    to re-use the most of the code from twl4030.

    This patch renames few common drivers twl4030* files to twl* to enable
    the code re-use.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Balaji T K
    Signed-off-by: Santosh Shilimkar
    Acked-by: Kevin Hilman
    Signed-off-by: Samuel Ortiz

    Santosh Shilimkar
     

22 Sep, 2009

1 commit


17 Sep, 2009

6 commits

  • This adds support for the regulators found in the AB3100
    Mixed-Signal IC.

    It further also defines platform data for the ST-Ericsson
    U300 platform and extends the AB3100 MFD driver so that
    platform/board data with regulation constraints and an init
    function can be passed down all the way from the board to
    the regulators.

    Signed-off-by: Linus Walleij
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • This driver provides basic support for the voltage regulators
    integrated into the Freescale MC13783 PMIC. It is currently
    only possible to enable/disable outputs, not to actually
    set the voltage.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Sascha Hauer
     
  • The WM831x series of PMICs provide two constant current sinks
    designed to drive strings of serially connected LEDs for applications
    such as backlights. This driver adds support for those regulators.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x series of devices provide three types of LDO:

    - General purpose LDOs supporting voltages from 0.9-3.3V
    - High performance analogue LDOs supporting voltages from 1-3.5V
    - Very low power consumption LDOs intended to support always on
    functionality.

    This patch adds support for all three kinds of LDO. Each regulator
    is probed as an individual platform device with resources used to
    provide the register map location of the regulator. Mixed hardware
    and software control of regulators is not current supported.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • The WM831x series of devices all have 3 DC-DC buck convertors. This
    driver implements software control for these regulators via the
    regulator API. Use with split hardware/software control of individual
    regulators is not supported, though regulators not controlled by
    software may be controlled via the hardware control interfaces.

    Signed-off-by: Mark Brown
    Acked-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Add (partial) support for the voltage regulators on the PCAP2 PMIC.

    Signed-off-by: Daniel Ribeiro
    Signed-off-by: Liam Girdwood
    Signed-off-by: Samuel Ortiz

    Daniel Ribeiro
     

15 Jun, 2009

3 commits

  • This patch adds regulator drivers for National Semiconductors LP3971 PMIC.
    This LP3971 PMIC controller has 3 DC/DC voltage converters and 5 low
    drop-out (LDO) regulators. LP3971 PMIC controller uses I2C interface.

    Reviewed-by: Kyungmin Park
    Signed-off-by: Marek Szyprowski
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Marek Szyprowski
     
  • The userspace-consumer driver allows control of voltage and current
    regulator state from userspace. This is required for fine-grained
    power management of devices that are completely controller by userspace
    applications, e.g. a GPS transciever connected to a serial port.

    Signed-off-by: Mike Rapoport
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mike Rapoport
     
  • The Maxim 1586 regulator is a voltage regulator with 2
    voltage outputs, specially suitable for Marvell PXA
    chips. One output is in the range of required VCC_CORE by
    the PXA27x chips, the other in the VCC_USIM required as well
    by PXA27x chips.

    The chip is controlled through the I2C bus.

    Signed-off-by: Robert Jarzmik
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Robert Jarzmik
     

31 Mar, 2009

1 commit

  • Support most of the LDO regulators in the twl4030 family chips.
    In the case of LDOs supporting MMC/SD, the voltage controls are
    used; but in most other cases, the regulator framework is only
    used to enable/disable a supplies, conserving power when a given
    voltage rail is not needed.

    The drivers/mfd/twl4030-core.c code already sets up the various
    regulators according to board-specific configuration, and knows
    that some chips don't provide the full set of voltage rails.

    The omitted regulators are intended to be under hardware control,
    such as during the hardware-mediated system powerup, powerdown,
    and suspend states. Unless/until software hooks are known to
    be safe, they won't be exported here.

    These regulators implement the new get_status() operation, but
    can't realistically implement get_mode(); the status output is
    effectively the result of a vote, with the relevant hardware
    inputs not exposed.

    Signed-off-by: David Brownell
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    David Brownell
     

11 Jan, 2009

1 commit