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

Commit 8ded8d4e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "The diffstat and changelog here is dominated by Lee Jones' heroic
  efforts to sync the ab8500 driver that's been maintained out of tree
  with mainline (plus Axel's cleanup work on the results) but there's a
  few other things here:

   - Axel Lin added regulator_map_voltage_ascend() optimising a common
     pattern for drivers using the core code.
   - Milo Kim tought the regulator core to handle regulators sharing an
     enable GPIO, avoiding the need to do hacks to support such systems.
   - Andrew Bresticker added code to handle missing supplies for
     regulators more sensibly for device tree systems, reducing the need
     for stubbing there.

  plus the usual batch of driver specific updates and fixes"

* tag 'regulator-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (152 commits)
  regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel
  regulator: Remove NULL test before calling regulator_unregister()
  regulator: mc13783: Add device tree probe support
  regulator: mc13xxx: Add warning of incorrect names of regulators
  regulator: max77686: Don't update max77686->opmode if update register fails
  regulator: max8952: Add missing config.of_node setting for regulator register
  regulator: ab3100: Fix regulator register error handling
  regulator: tps6524x: Use regulator_map_voltage_ascend
  regulator: lp8788-buck: Use regulator_map_voltage_ascend
  regulator: lp872x: Use regulator_map_voltage_ascend
  regulator: mc13892: Use regulator_map_voltage_ascend for mc13892_sw_regulator_ops
  regulator: tps65023: Use regulator_map_voltage_ascend
  regulator: tps65023: Merge tps65020 ldo1 and ldo2 vsel table
  regulator: tps6507x: Use regulator_map_voltage_ascend
  regulator: mc13892: Fix MC13892_SWITCHERS0_SWxHI bit in set_voltage_sel
  regulator: ab3100: device tree support
  regulator: ab3100: refactor probe to use IDs
  regulator: max8973: Don't override control1 variable when set ramp delay bits
  regulator: tps80031: Convert tps80031_dcdc_ops to [get|set]_voltage_sel_regmap
  regulator: tps80031: Fix LDO2 track mode for TPS80031 or TPS80032-ES1.0
  ...
parents 7b053842 bee54658
Loading
Loading
Loading
Loading
+33 −3
Original line number Diff line number Diff line
@@ -10,10 +10,40 @@ Optional properties:
- fsl,mc13xxx-uses-touch : Indicate the touchscreen controller is being used

Sub-nodes:
- regulators : Contain the regulator nodes.  The MC13892 regulators are
  bound using their names as listed below with their registers and bits
  for enabling.
- regulators : Contain the regulator nodes. The regulators are bound using
  their names as listed below with their registers and bits for enabling.

MC13783 regulators:
    sw1a      : regulator SW1A      (register 24, bit 0)
    sw1b      : regulator SW1B      (register 25, bit 0)
    sw2a      : regulator SW2A      (register 26, bit 0)
    sw2b      : regulator SW2B      (register 27, bit 0)
    sw3       : regulator SW3       (register 29, bit 20)
    vaudio    : regulator VAUDIO    (register 32, bit 0)
    viohi     : regulator VIOHI     (register 32, bit 3)
    violo     : regulator VIOLO     (register 32, bit 6)
    vdig      : regulator VDIG      (register 32, bit 9)
    vgen      : regulator VGEN      (register 32, bit 12)
    vrfdig    : regulator VRFDIG    (register 32, bit 15)
    vrfref    : regulator VRFREF    (register 32, bit 18)
    vrfcp     : regulator VRFCP     (register 32, bit 21)
    vsim      : regulator VSIM      (register 33, bit 0)
    vesim     : regulator VESIM     (register 33, bit 3)
    vcam      : regulator VCAM      (register 33, bit 6)
    vrfbg     : regulator VRFBG     (register 33, bit 9)
    vvib      : regulator VVIB      (register 33, bit 11)
    vrf1      : regulator VRF1      (register 33, bit 12)
    vrf2      : regulator VRF2      (register 33, bit 15)
    vmmc1     : regulator VMMC1     (register 33, bit 18)
    vmmc2     : regulator VMMC2     (register 33, bit 21)
    gpo1      : regulator GPO1      (register 34, bit 6)
    gpo2      : regulator GPO2      (register 34, bit 8)
    gpo3      : regulator GPO3      (register 34, bit 10)
    gpo4      : regulator GPO4      (register 34, bit 12)
    pwgt1spi  : regulator PWGT1SPI  (register 34, bit 15)
    pwgt2spi  : regulator PWGT2SPI  (register 34, bit 16)

MC13892 regulators:
    vcoincell : regulator VCOINCELL (register 13, bit 23)
    sw1       : regulator SW1	    (register 24, bit 0)
    sw2       : regulator SW2	    (register 25, bit 0)
+52 −0
Original line number Diff line number Diff line
Maxim MAX8952 voltage regulator

Required properties:
- compatible: must be equal to "maxim,max8952"
- reg: I2C slave address, usually 0x60
- max8952,dvs-mode-microvolt: array of 4 integer values defining DVS voltages
  in microvolts. All values must be from range <770000, 1400000>
- any required generic properties defined in regulator.txt

Optional properties:
- max8952,vid-gpios: array of two GPIO pins used for DVS voltage selection
- max8952,en-gpio: GPIO used to control enable status of regulator
- max8952,default-mode: index of default DVS voltage, from <0, 3> range
- max8952,sync-freq: sync frequency, must be one of following values:
    - 0: 26 MHz
    - 1: 13 MHz
    - 2: 19.2 MHz
  Defaults to 26 MHz if not specified.
- max8952,ramp-speed: voltage ramp speed, must be one of following values:
    - 0: 32mV/us
    - 1: 16mV/us
    - 2: 8mV/us
    - 3: 4mV/us
    - 4: 2mV/us
    - 5: 1mV/us
    - 6: 0.5mV/us
    - 7: 0.25mV/us
  Defaults to 32mV/us if not specified.
- any available generic properties defined in regulator.txt

Example:

	vdd_arm_reg: pmic@60 {
		compatible = "maxim,max8952";
		reg = <0x60>;

		/* max8952-specific properties */
		max8952,vid-gpios = <&gpx0 3 0>, <&gpx0 4 0>;
		max8952,en-gpio = <&gpx0 1 0>;
		max8952,default-mode = <0>;
		max8952,dvs-mode-microvolt = <1250000>, <1200000>,
						<1050000>, <950000>;
		max8952,sync-freq = <0>;
		max8952,ramp-speed = <0>;

		/* generic regulator properties */
		regulator-name = "vdd_arm";
		regulator-min-microvolt = <770000>;
		regulator-max-microvolt = <1400000>;
		regulator-always-on;
		regulator-boot-on;
	};
+1 −1
Original line number Diff line number Diff line
@@ -8732,7 +8732,7 @@ F: drivers/scsi/vmw_pvscsi.c
F:	drivers/scsi/vmw_pvscsi.h

VOLTAGE AND CURRENT REGULATOR FRAMEWORK
M:	Liam Girdwood <lrg@ti.com>
M:	Liam Girdwood <lgirdwood@gmail.com>
M:	Mark Brown <broonie@kernel.org>
W:	http://opensource.wolfsonmicro.com/node/15
W:	http://www.slimlogic.co.uk/?p=48
+14 −13
Original line number Diff line number Diff line
@@ -97,16 +97,7 @@ static struct s3c2410_uartcfg universal_uartcfgs[] __initdata = {
static struct regulator_consumer_supply max8952_consumer =
	REGULATOR_SUPPLY("vdd_arm", NULL);

static struct max8952_platform_data universal_max8952_pdata __initdata = {
	.gpio_vid0	= EXYNOS4_GPX0(3),
	.gpio_vid1	= EXYNOS4_GPX0(4),
	.gpio_en	= -1, /* Not controllable, set "Always High" */
	.default_mode	= 0, /* vid0 = 0, vid1 = 0 */
	.dvs_mode	= { 48, 32, 28, 18 }, /* 1.25, 1.20, 1.05, 0.95V */
	.sync_freq	= 0, /* default: fastest */
	.ramp_speed	= 0, /* default: fastest */

	.reg_data	= {
static struct regulator_init_data universal_max8952_reg_data = {
	.constraints	= {
		.name		= "VARM_1.2V",
		.min_uV		= 770000,
@@ -117,7 +108,17 @@ static struct max8952_platform_data universal_max8952_pdata __initdata = {
	},
	.num_consumer_supplies	= 1,
	.consumer_supplies	= &max8952_consumer,
	},
};

static struct max8952_platform_data universal_max8952_pdata __initdata = {
	.gpio_vid0	= EXYNOS4_GPX0(3),
	.gpio_vid1	= EXYNOS4_GPX0(4),
	.gpio_en	= -1, /* Not controllable, set "Always High" */
	.default_mode	= 0, /* vid0 = 0, vid1 = 0 */
	.dvs_mode	= { 48, 32, 28, 18 }, /* 1.25, 1.20, 1.05, 0.95V */
	.sync_freq	= 0, /* default: fastest */
	.ramp_speed	= 0, /* default: fastest */
	.reg_data	= &universal_max8952_reg_data,
};

static struct regulator_consumer_supply lp3974_buck1_consumer =
+714 −60

File changed.

Preview size limit exceeded, changes collapsed.

Loading