29 Nov, 2011

1 commit

  • SMPS regulator voltage control differs from the one of the LDO ones.
    Current TWL code was using LDO regulator ops for controlling the SMPS
    regulators, which fails. This was fixed fixed by adding separate
    regulator type which uses correct logic and calculations for the
    voltage levels.

    Signed-off-by: Tero Kristo
    Signed-off-by: Mark Brown
    Cc: stable@kernel.org

    Tero Kristo
     

28 Nov, 2011

2 commits


23 Nov, 2011

1 commit

  • Count of selector voltage is required for regulator_set_voltage
    to work via set_voltage_sel. VDD1/2 currently have it as zero,
    so regulator_set_voltage won't work for VDD1/2.
    Update count (n_voltages) for VDD1/2.

    Output Voltage = (step value * 12.5 mV + 562.5 mV) * gain

    With above expr, number of voltages that can be selected is
    step value count * gain count

    constant for gain count will be called VDD1_2_NUM_VOLT_COARSE

    existing constant for step value count is VDD1_2_NUM_VOLTS,
    use VDD1_2_NUM_VOLT_FINE instead to make clear that step value
    is not the only component in deciding selectable voltage count

    Signed-off-by: Afzal Mohammed
    Signed-off-by: Mark Brown

    Afzal Mohammed
     

07 Nov, 2011

1 commit

  • * 'modsplit-Oct31_2011' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux: (230 commits)
    Revert "tracing: Include module.h in define_trace.h"
    irq: don't put module.h into irq.h for tracking irqgen modules.
    bluetooth: macroize two small inlines to avoid module.h
    ip_vs.h: fix implicit use of module_get/module_put from module.h
    nf_conntrack.h: fix up fallout from implicit moduleparam.h presence
    include: replace linux/module.h with "struct module" wherever possible
    include: convert various register fcns to macros to avoid include chaining
    crypto.h: remove unused crypto_tfm_alg_modname() inline
    uwb.h: fix implicit use of asm/page.h for PAGE_SIZE
    pm_runtime.h: explicitly requires notifier.h
    linux/dmaengine.h: fix implicit use of bitmap.h and asm/page.h
    miscdevice.h: fix up implicit use of lists and types
    stop_machine.h: fix implicit use of smp.h for smp_processor_id
    of: fix implicit use of errno.h in include/linux/of.h
    of_platform.h: delete needless include
    acpi: remove module.h include from platform/aclinux.h
    miscdevice.h: delete unnecessary inclusion of module.h
    device_cgroup.h: delete needless include
    net: sch_generic remove redundant use of
    net: inet_timewait_sock doesnt need
    ...

    Fix up trivial conflicts (other header files, and removal of the ab3550 mfd driver) in
    - drivers/media/dvb/frontends/dibx000_common.c
    - drivers/media/video/{mt9m111.c,ov6650.c}
    - drivers/mfd/ab3550-core.c
    - include/linux/dmaengine.h

    Linus Torvalds
     

04 Nov, 2011

1 commit

  • * 'for-next' of git://git.infradead.org/users/sameo/mfd-2.6: (80 commits)
    mfd: Fix missing abx500 header file updates
    mfd: Add missing include to intel_msic
    x86, mrst: add platform support for MSIC MFD driver
    mfd: Expose TurnOnStatus in ab8500 sysfs
    mfd: Remove support for early drop ab8500 chip
    mfd: Add support for ab8500 v3.3
    mfd: Add ab8500 interrupt disable hook
    mfd: Convert db8500-prcmu panic() into pr_crit()
    mfd: Refactor db8500-prcmu request_clock() function
    mfd: Rename db8500-prcmu init function
    mfd: Fix db5500-prcmu defines
    mfd: db8500-prcmu voltage domain consumers additions
    mfd: db8500-prcmu reset code retrieval
    mfd: db8500-prcmu tweak for modem wakeup
    mfd: Add db8500-pcmu watchdog accessor functions for watchdog
    mfd: hwacc power state db8500-prcmu accessor
    mfd: Add db8500-prcmu accessors for PLL and SGA clock
    mfd: Move to the new db500 PRCMU API
    mfd: Create a common interface for dbx500 PRCMU drivers
    mfd: Initialize DB8500 PRCMU regs
    ...

    Fix up trivial conflicts in
    arch/arm/mach-imx/mach-mx31moboard.c
    arch/arm/mach-omap2/board-omap3beagle.c
    arch/arm/mach-u300/include/mach/irqs.h
    drivers/mfd/wm831x-spi.c

    Linus Torvalds
     

02 Nov, 2011

1 commit

  • * 'for-linus' of git://opensource.wolfsonmicro.com/regulator: (22 commits)
    regulator: Constify constraints name
    regulator: Fix possible nullpointer dereference in regulator_enable()
    regulator: gpio-regulator add dependency on GENERIC_GPIO
    regulator: Add module.h include to gpio-regulator
    regulator: Add driver for gpio-controlled regulators
    regulator: remove duplicate REG_CTRL2 defines in tps65023
    regulator: Clarify documentation for regulator-regulator supplies
    regulator: Fix some bitrot in the machine driver documentation
    regulator: tps65023: Added support for the similiar TPS65020 chip
    regulator: tps65023: Setting correct core regulator for tps65021
    regulator: tps65023: Set missing bit for update core-voltage
    regulator: tps65023: Fixes i2c configuration issues
    regulator: Add debugfs file showing the supply map table
    regulator: tps6586x: add SMx slew rate setting
    regulator: tps65023: Fixes i2c configuration issues
    regulator: tps6507x: Remove num_voltages array
    regulator: max8952: removed unused mutex.
    regulator: fix regulator/consumer.h kernel-doc warning
    regulator: Ensure enough enable time for max8649
    regulator: 88pm8607: Fix off-by-one value range checking in the case of no id is matched
    ...

    Linus Torvalds
     

01 Nov, 2011

2 commits


24 Oct, 2011

2 commits


15 Oct, 2011

1 commit


12 Oct, 2011

1 commit


11 Oct, 2011

1 commit


09 Oct, 2011

2 commits

  • 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
     
  • There are two sets of defines for the REG_CTRL2 bitfields and one
    of them has TPS65023_REG_CTRL2_DCDC1 defined incorrectly. Remove
    the duplicates and leave the correct one for TPS65023_REG_CTRL2_DCDC1.

    This fixes the following sparse warnings:

    drivers/regulator/tps65023-regulator.c:77:9: warning: preprocessor token TPS65023_REG_CTRL2_DCDC1 redefined
    drivers/regulator/tps65023-regulator.c:70:9: this was the original definition

    Signed-off-by: H Hartley Sweeten
    Signed-off-by: Mark Brown

    H Hartley Sweeten
     

07 Oct, 2011

1 commit


04 Oct, 2011

1 commit


14 Sep, 2011

1 commit

  • It is a reasonably common pattern for hardware to require some delay after
    being quiesced before the disable has finalised, especially in mixed signal
    devices. For example, an active discharge may be required to ensure that
    the circuit starts up again in a known state. Avoid having to implement
    such delays in the regulator API by providing regulator_deferred_disable()
    which will do a regulator_disable() a specified number of milliseconds
    after it is called.

    Due to the reference counting done on regulators a deferred disable can
    be cancelled by doing another regulator_enable().

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

    Mark Brown
     

29 Aug, 2011

6 commits


09 Aug, 2011

7 commits


02 Aug, 2011

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (23 commits)
    regulator: Improve WM831x DVS VSEL selection algorithm
    regulator: Bootstrap wm831x DVS VSEL value from ON VSEL if not already set
    regulator: Set up GPIO for WM831x VSEL before enabling VSEL mode
    regulator: Add EPEs to the MODULE_ALIAS() for wm831x-dcdc
    regulator: Fix WM831x DCDC DVS VSEL bootstrapping
    regulator: Fix WM831x regulator ID lookups for multiple WM831xs
    regulator: Fix argument format type errors in error prints
    regulator: Fix memory leak in set_machine_constraints() error paths
    regulator: Make core more chatty about some errors
    regulator: tps65910: Fix array access out of bounds bug
    regulator: tps65910: Add missing breaks in switch/case
    regulator: tps65910: Fix a memory leak in tps65910_probe error path
    regulator: TWL: Remove entry of RES_ID for 6030 macros
    ASoC: tlv320aic3x: Add correct hw registers to Line1 cross connect muxes
    regulator: Add basic per consumer debugfs
    regulator: Add rdev_crit() macro
    regulator: Refactor supply implementation to work as regular consumers
    regulator: Include the device name in the microamps_requested_ file
    regulator: Increase the limit on sysfs file names
    regulator: Properly register dummy regulator driver
    ...

    Linus Torvalds
     
  • Liam Girdwood
     

01 Aug, 2011

3 commits


28 Jul, 2011

3 commits