Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d15d7644 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates for 3.4 from Mark Brown:
 "This has been a fairly quiet release from a regulator point of view,
  the only real framework features added were devm support and a
  convenience helper for setting up fixed voltage regulators.

  We also added a couple of drivers (but will drop the BQ240022 driver
  via the arm-soc tree as it's been replaced by the more generic
  gpio-regulator driver) and Axel Lin continued his relentless and
  generally awesome stream of fixes and cleanups."

* tag 'regulator-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (93 commits)
  regulator: Fix up a confusing dev_warn when DT lookup fails
  regulator: Convert tps6507x to set_voltage_sel
  regulator: Refactor tps6507x to use one tps6507x_pmic_ops for all LDOs and DCDCs
  regulator: Make s5m8767_get_voltage_register always return correct register
  regulator: s5m8767: Check pdata->buck[2|3|4]_gpiodvs earlier
  regulator: tps65910: Provide settling time for DCDC voltage change
  regulator: Add Anatop regulator driver
  regulator: Simplify implementation of tps65912_get_voltage_dcdc
  regulator: Use tps65912_set_voltage_sel for both DCDCx and LDOx
  regulator: tps65910: Provide settling time for enabling rails
  regulator: max8925: Use DIV_ROUND_UP macro
  regulator: tps65912: Use simple equations to get register address
  regulator: Fix the logic of tps65910_get_mode
  regulator: Merge tps65217_pmic_ldo234_ops and tps65217_pmic_dcdc_ops to tps65217_pmic_ops
  regulator: Use DIV_ROUND_CLOSEST in wm8350_isink_get_current
  regulator: Use array to store dcdc_range settings for tps65912
  regulator: Rename s5m8767_convert_voltage to s5m8767_convert_voltage_to_sel
  regulator: tps6524x: Remove unneeded comment for N_REGULATORS
  regulator: Rename set_voltage_sel callback function name to *_sel
  regulator: Fix s5m8767_set_voltage_time_sel calculation value
  ...
parents 0c2fe82a 4992fa1f
Loading
Loading
Loading
Loading
+68 −0
Original line number Diff line number Diff line
TWL family of regulators

Required properties:
For twl6030 regulators/LDOs
- compatible:
  - "ti,twl6030-vaux1" for VAUX1 LDO
  - "ti,twl6030-vaux2" for VAUX2 LDO
  - "ti,twl6030-vaux3" for VAUX3 LDO
  - "ti,twl6030-vmmc" for VMMC LDO
  - "ti,twl6030-vpp" for VPP LDO
  - "ti,twl6030-vusim" for VUSIM LDO
  - "ti,twl6030-vana" for VANA LDO
  - "ti,twl6030-vcxio" for VCXIO LDO
  - "ti,twl6030-vdac" for VDAC LDO
  - "ti,twl6030-vusb" for VUSB LDO
  - "ti,twl6030-v1v8" for V1V8 LDO
  - "ti,twl6030-v2v1" for V2V1 LDO
  - "ti,twl6030-clk32kg" for CLK32KG RESOURCE
  - "ti,twl6030-vdd1" for VDD1 SMPS
  - "ti,twl6030-vdd2" for VDD2 SMPS
  - "ti,twl6030-vdd3" for VDD3 SMPS
For twl6025 regulators/LDOs
- compatible:
  - "ti,twl6025-ldo1" for LDO1 LDO
  - "ti,twl6025-ldo2" for LDO2 LDO
  - "ti,twl6025-ldo3" for LDO3 LDO
  - "ti,twl6025-ldo4" for LDO4 LDO
  - "ti,twl6025-ldo5" for LDO5 LDO
  - "ti,twl6025-ldo6" for LDO6 LDO
  - "ti,twl6025-ldo7" for LDO7 LDO
  - "ti,twl6025-ldoln" for LDOLN LDO
  - "ti,twl6025-ldousb" for LDOUSB LDO
  - "ti,twl6025-smps3" for SMPS3 SMPS
  - "ti,twl6025-smps4" for SMPS4 SMPS
  - "ti,twl6025-vio" for VIO SMPS
For twl4030 regulators/LDOs
- compatible:
  - "ti,twl4030-vaux1" for VAUX1 LDO
  - "ti,twl4030-vaux2" for VAUX2 LDO
  - "ti,twl5030-vaux2" for VAUX2 LDO
  - "ti,twl4030-vaux3" for VAUX3 LDO
  - "ti,twl4030-vaux4" for VAUX4 LDO
  - "ti,twl4030-vmmc1" for VMMC1 LDO
  - "ti,twl4030-vmmc2" for VMMC2 LDO
  - "ti,twl4030-vpll1" for VPLL1 LDO
  - "ti,twl4030-vpll2" for VPLL2 LDO
  - "ti,twl4030-vsim" for VSIM LDO
  - "ti,twl4030-vdac" for VDAC LDO
  - "ti,twl4030-vintana2" for VINTANA2 LDO
  - "ti,twl4030-vio" for VIO LDO
  - "ti,twl4030-vdd1" for VDD1 SMPS
  - "ti,twl4030-vdd2" for VDD2 SMPS
  - "ti,twl4030-vintana1" for VINTANA1 LDO
  - "ti,twl4030-vintdig" for VINTDIG LDO
  - "ti,twl4030-vusb1v5" for VUSB1V5 LDO
  - "ti,twl4030-vusb1v8" for VUSB1V8 LDO
  - "ti,twl4030-vusb3v1" for VUSB3V1 LDO

Optional properties:
- Any optional property defined in bindings/regulator/regulator.txt

Example:

	xyz: regulator@0 {
		compatible = "ti,twl6030-vaux1";
		regulator-min-microvolt  = <1000000>;
		regulator-max-microvolt  = <3000000>;
	};
+5 −0
Original line number Diff line number Diff line
@@ -271,3 +271,8 @@ IOMAP
  pcim_iounmap()
  pcim_iomap_table()	: array of mapped addresses indexed by BAR
  pcim_iomap_regions()	: do request_region() and iomap() on multiple BARs

REGULATOR
  devm_regulator_get()
  devm_regulator_put()
  devm_regulator_bulk_get()
+9 −0
Original line number Diff line number Diff line
@@ -32,6 +32,8 @@
#include <linux/usb/ulpi.h>
#include <linux/gfp.h>
#include <linux/memblock.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/fixed.h>

#include <media/soc_camera.h>

@@ -570,6 +572,11 @@ static int __init pcm037_otg_mode(char *options)
}
__setup("otg_mode=", pcm037_otg_mode);

static struct regulator_consumer_supply dummy_supplies[] = {
	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
	REGULATOR_SUPPLY("vddvario", "smsc911x"),
};

/*
 * Board specific initialization.
 */
@@ -579,6 +586,8 @@ static void __init pcm037_init(void)

	imx31_soc_init();

	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));

	mxc_iomux_set_gpr(MUX_PGP_UH2, 1);

	mxc_iomux_setup_multiple_pins(pcm037_pins, ARRAY_SIZE(pcm037_pins),
+0 −2
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ static struct regulator_consumer_supply supply_ldo_c[] = {
 */
static struct regulator_consumer_supply supply_ldo_d[] = {
	{
		.dev = NULL,
		.supply = "vana15", /* Powers the SoC (CPU etc) */
	},
};
@@ -92,7 +91,6 @@ static struct regulator_consumer_supply supply_ldo_k[] = {
 */
static struct regulator_consumer_supply supply_ldo_ext[] = {
	{
		.dev = NULL,
		.supply = "vext", /* External power */
	},
};
+9 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@
#include <linux/platform_device.h>
#include <linux/gpio.h>
#include <linux/smsc911x.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/fixed.h>

#include <mach/hardware.h>

@@ -148,6 +150,11 @@ static struct irq_chip expio_irq_chip = {
	.irq_unmask = expio_unmask_irq,
};

static struct regulator_consumer_supply dummy_supplies[] = {
	REGULATOR_SUPPLY("vdd33a", "smsc911x"),
	REGULATOR_SUPPLY("vddvario", "smsc911x"),
};

int __init mxc_expio_init(u32 base, u32 p_irq)
{
	int i;
@@ -188,6 +195,8 @@ int __init mxc_expio_init(u32 base, u32 p_irq)
	irq_set_chained_handler(p_irq, mxc_expio_irq_handler);

	/* Register Lan device on the debugboard */
	regulator_register_fixed(0, dummy_supplies, ARRAY_SIZE(dummy_supplies));

	smsc911x_resources[0].start = LAN9217_BASE_ADDR(base);
	smsc911x_resources[0].end = LAN9217_BASE_ADDR(base) + 0x100 - 1;
	platform_device_register(&smsc_lan9217_device);
Loading