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

Commit 269d4301 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (40 commits)
  regulator: set constraints.apply_uV to 0 in of_get_fixed_voltage_config
  regulator: max8925: fix enabled/disabled judgement mistake
  regulator: add regulator_bulk_force_disable function
  regulator: pass regulator_register of_node in fixed voltage driver
  regulator: add regulator_force_disable() definition for !CONFIG_REGULATOR
  regulator: Enable supply regulator if child rail is enabled.
  regulator: mc13892: Convert to devm_kzalloc()
  regulator: mc13783: Convert to devm_kzalloc()
  regulator: Fix checking return value of create_regulator
  regulator: Fix the error handling if create_regulator fails
  regulator: Export regulator_is_supported_voltage()
  regulator: mc13892: add device tree probe support
  regulator: mc13892: remove the unnecessary prefix from regulator name
  regulator: Convert wm831x regulator drivers to devm_kzalloc()
  regulator: da9052: Staticize non-exported symbols
  regulator: Replace kzalloc with devm_kzalloc and if-else with a switch-case for da9052-regulator
  regulator: Update da9052-regulator for DT changes
  regulator: DA9052/53 Regulator support
  regulator: pass device_node to of_get_regulator_init_data()
  regulator: If a single voltage is set with device tree then set apply_uV
  ...
parents d52739c6 0c437c4a
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
Fixed Voltage regulators

Required properties:
- compatible: Must be "regulator-fixed";

Optional properties:
- gpio: gpio to use for enable control
- startup-delay-us: startup time in microseconds
- enable-active-high: Polarity of GPIO is Active high
If this property is missing, the default assumed is Active low.

Any property defined as part of the core regulator
binding, defined in regulator.txt, can also be used.
However a fixed voltage regulator is expected to have the
regulator-min-microvolt and regulator-max-microvolt
to be the same.

Example:

	abc: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "fixed-supply";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		gpio = <&gpio1 16 0>;
		startup-delay-us = <70000>;
		enable-active-high;
		regulator-boot-on
	};
+54 −0
Original line number Diff line number Diff line
Voltage/Current Regulators

Optional properties:
- regulator-name: A string used as a descriptive name for regulator outputs
- regulator-min-microvolt: smallest voltage consumers may set
- regulator-max-microvolt: largest voltage consumers may set
- regulator-microvolt-offset: Offset applied to voltages to compensate for voltage drops
- regulator-min-microamp: smallest current consumers may set
- regulator-max-microamp: largest current consumers may set
- regulator-always-on: boolean, regulator should never be disabled
- regulator-boot-on: bootloader/firmware enabled regulator
- <name>-supply: phandle to the parent supply/regulator node

Example:

	xyzreg: regulator@0 {
		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <2500000>;
		regulator-always-on;
		vin-supply = <&vin>;
	};

Regulator Consumers:
Consumer nodes can reference one or more of its supplies/
regulators using the below bindings.

- <name>-supply: phandle to the regulator node

These are the same bindings that a regulator in the above
example used to reference its own supply, in which case
its just seen as a special case of a regulator being a
consumer itself.

Example of a consumer device node (mmc) referencing two
regulators (twl_reg1 and twl_reg2),

	twl_reg1: regulator@0 {
		...
		...
		...
	};

	twl_reg2: regulator@1 {
		...
		...
		...
	};

	mmc: mmc@0x0 {
		...
		...
		vmmc-supply = <&twl_reg1>;
		vmmcaux-supply = <&twl_reg2>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ Drivers can register a regulator by calling :-

struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
	struct device *dev, struct regulator_init_data *init_data,
	void *driver_data);
	void *driver_data, struct device_node *of_node);

This will register the regulators capabilities and operations to the regulator
core.
+1 −1
Original line number Diff line number Diff line
@@ -427,7 +427,7 @@ static int __devinit pm8607_regulator_probe(struct platform_device *pdev)

	/* replace driver_data with info */
	info->regulator = regulator_register(&info->desc, &pdev->dev,
					     pdata, info);
					     pdata, info, NULL);
	if (IS_ERR(info->regulator)) {
		dev_err(&pdev->dev, "failed to register regulator %s\n",
			info->desc.name);
+8 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ config REGULATOR_MAX1586
config REGULATOR_MAX8649
	tristate "Maxim 8649 voltage regulator"
	depends on I2C
	select REGMAP_I2C
	help
	  This driver controls a Maxim 8649 voltage output regulator via
	  I2C bus.
@@ -177,6 +178,13 @@ config REGULATOR_DA903X
	  Say y here to support the BUCKs and LDOs regulators found on
	  Dialog Semiconductor DA9030/DA9034 PMIC.

config REGULATOR_DA9052
	tristate "Dialog DA9052/DA9053 regulators"
	depends on PMIC_DA9052
	help
	  This driver supports the voltage regulators of DA9052-BC and
	  DA9053-AA/Bx PMIC.

config REGULATOR_PCF50633
	tristate "PCF50633 regulator driver"
        depends on MFD_PCF50633
Loading