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

Commit 4b781474 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD changes from Samuel Ortiz:
 "Besides the usual cleanups, this one brings:

   * Support for 5 new chipsets: Intel's ICH LPC and SCH Centerton,
     ST-E's STAX211, Samsung's MAX77693 and TI's LM3533.

   * Device tree support for the twl6040, tps65910, da9502 and ab8500
     drivers.

   * Fairly big tps56910, ab8500 and db8500 updates.

   * i2c support for mc13xxx.

   * Our regular update for the wm8xxx driver from Mark."

Fix up various conflicts with other trees, largely due to ab5500 removal
etc.

* tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits)
  mfd: Fix build break of max77693 by adding REGMAP_I2C option
  mfd: Fix twl6040 build failure
  mfd: Fix max77693 build failure
  mfd: ab8500-core should depend on MFD_DB8500_PRCMU
  gpio: tps65910: dt: process gpio specific device node info
  mfd: Remove the parsing of dt info for tps65910 gpio
  mfd: Save device node parsed platform data for tps65910 sub devices
  mfd: Add r_select to lm3533 platform data
  gpio: Add Intel Centerton support to gpio-sch
  mfd: Emulate active low IRQs as well as active high IRQs for wm831x
  mfd: Mark two lm3533 zone registers as volatile
  mfd: Fix return type of lm533 attribute is_visible
  mfd: Enable Device Tree support in the ab8500-pwm driver
  mfd: Enable Device Tree support in the ab8500-sysctrl driver
  mfd: Add support for Device Tree to twl6040
  mfd: Register the twl6040 child for the ASoC codec unconditionally
  mfd: Allocate twl6040 IRQ numbers dynamically
  mfd: twl6040 code cleanup in interrupt initialization part
  mfd: Enable ab8500-gpadc driver for Device Tree
  mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver
  ...
parents 53f2c4a8 29f772d4
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
What:		/sys/bus/i2c/devices/.../output_hvled[n]
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the controlling backlight device for high-voltage current
		sink HVLED[n] (n = 1, 2) (0, 1).

What:		/sys/bus/i2c/devices/.../output_lvled[n]
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the controlling led device for low-voltage current sink
		LVLED[n] (n = 1..5) (0..3).
+60 −0
Original line number Diff line number Diff line
* Dialog DA9052/53 Power Management Integrated Circuit (PMIC)

Required properties:
- compatible : Should be "dlg,da9052", "dlg,da9053-aa",
			 "dlg,da9053-ab", or "dlg,da9053-bb"

Sub-nodes:
- regulators : Contain the regulator nodes. The DA9052/53 regulators are
  bound using their names as listed below:

    buck0     : regulator BUCK0
    buck1     : regulator BUCK1
    buck2     : regulator BUCK2
    buck3     : regulator BUCK3
    ldo4      : regulator LDO4
    ldo5      : regulator LDO5
    ldo6      : regulator LDO6
    ldo7      : regulator LDO7
    ldo8      : regulator LDO8
    ldo9      : regulator LDO9
    ldo10     : regulator LDO10
    ldo11     : regulator LDO11
    ldo12     : regulator LDO12
    ldo13     : regulator LDO13

  The bindings details of individual regulator device can be found in:
  Documentation/devicetree/bindings/regulator/regulator.txt

Examples:

i2c@63fc8000 { /* I2C1 */
	status = "okay";

	pmic: dialog@48 {
		compatible = "dlg,da9053-aa";
		reg = <0x48>;

		regulators {
			buck0 {
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2075000>;
			};

			buck1 {
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2075000>;
			};

			buck2 {
				regulator-min-microvolt = <925000>;
				regulator-max-microvolt = <2500000>;
			};

			buck3 {
				regulator-min-microvolt = <925000>;
				regulator-max-microvolt = <2500000>;
			};
		};
	};
};
+133 −0
Original line number Diff line number Diff line
TPS65910 Power Management Integrated Circuit

Required properties:
- compatible: "ti,tps65910" or "ti,tps65911"
- reg: I2C slave address
- interrupts: the interrupt outputs of the controller
- #gpio-cells: number of cells to describe a GPIO, this should be 2.
  The first cell is the GPIO number.
  The second cell is used to specify additional options <unused>.
- gpio-controller: mark the device as a GPIO controller
- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
  The first cell is the IRQ number.
  The second cell is the flags, encoded as the trigger masks from
  Documentation/devicetree/bindings/interrupts.txt
- regulators: This is the list of child nodes that specify the regulator
  initialization data for defined regulators. Not all regulators for the given
  device need to be present. The definition for each of these nodes is defined
  using the standard binding for regulators found at
  Documentation/devicetree/bindings/regulator/regulator.txt.

  The valid names for regulators are:
  tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
            vaux2, vaux33, vmmc
  tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
            ldo6, ldo7, ldo8

Optional properties:
- ti,vmbch-threshold: (tps65911) main battery charged threshold
  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
- ti,vmbch2-threshold: (tps65911) main battery discharged threshold
  comparator. (see VMBCH_VSEL in TPS65910 datasheet)
- ti,en-gpio-sleep: enable sleep control for gpios
  There should be 9 entries here, one for each gpio.

Regulator Optional properties:
- ti,regulator-ext-sleep-control: enable external sleep
  control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)]
  If this property is not defined, it defaults to 0 (not enabled).

Example:

	pmu: tps65910@d2 {
		compatible = "ti,tps65910";
		reg = <0xd2>;
		interrupt-parent = <&intc>;
		interrupts = < 0 118 0x04 >;

		#gpio-cells = <2>;
		gpio-controller;

		#interrupt-cells = <2>;
		interrupt-controller;

		ti,vmbch-threshold = 0;
		ti,vmbch2-threshold = 0;

		ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;

		regulators {
			vdd1_reg: vdd1 {
				regulator-min-microvolt = < 600000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-boot-on;
				ti,regulator-ext-sleep-control = <0>;
			};
			vdd2_reg: vdd2 {
				regulator-min-microvolt = < 600000>;
				regulator-max-microvolt = <1500000>;
				regulator-always-on;
				regulator-boot-on;
				ti,regulator-ext-sleep-control = <4>;
			};
			vddctrl_reg: vddctrl {
				regulator-min-microvolt = < 600000>;
				regulator-max-microvolt = <1400000>;
				regulator-always-on;
				regulator-boot-on;
				ti,regulator-ext-sleep-control = <0>;
			};
			vio_reg: vio {
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;
				ti,regulator-ext-sleep-control = <1>;
			};
			ldo1_reg: ldo1 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				ti,regulator-ext-sleep-control = <0>;
			};
			ldo2_reg: ldo2 {
				regulator-min-microvolt = <1050000>;
				regulator-max-microvolt = <1050000>;
				ti,regulator-ext-sleep-control = <0>;
			};
			ldo3_reg: ldo3 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				ti,regulator-ext-sleep-control = <0>;
			};
			ldo4_reg: ldo4 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				ti,regulator-ext-sleep-control = <0>;
			};
			ldo5_reg: ldo5 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				ti,regulator-ext-sleep-control = <0>;
			};
			ldo6_reg: ldo6 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				ti,regulator-ext-sleep-control = <0>;
			};
			ldo7_reg: ldo7 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-always-on;
				regulator-boot-on;
				ti,regulator-ext-sleep-control = <1>;
			};
			ldo8_reg: ldo8 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				ti,regulator-ext-sleep-control = <1>;
			};
		};
	};
+62 −0
Original line number Diff line number Diff line
Texas Instruments TWL6040 family

The TWL6040s are 8-channel high quality low-power audio codecs providing audio
and vibra functionality on OMAP4+ platforms.
They are connected ot the host processor via i2c for commands, McPDM for audio
data and commands.

Required properties:
- compatible : Must be "ti,twl6040";
- reg: must be 0x4b for i2c address
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
- interrupt-parent: The parent interrupt controller
- twl6040,audpwron-gpio: Power on GPIO line for the twl6040

- vio-supply: Regulator for the twl6040 VIO supply
- v2v1-supply: Regulator for the twl6040 V2V1 supply

Optional properties, nodes:
- enable-active-high: To power on the twl6040 during boot.

Vibra functionality
Required properties:
- vddvibl-supply: Regulator for the left vibra motor
- vddvibr-supply: Regulator for the right vibra motor
- vibra { }: Configuration section for vibra parameters containing the following
	     properties:
- ti,vibldrv-res: Resistance parameter for left driver
- ti,vibrdrv-res: Resistance parameter for right driver
- ti,viblmotor-res: Resistance parameter for left motor
- ti,viblmotor-res: Resistance parameter for right motor

Optional properties within vibra { } section:
- vddvibl_uV: If the vddvibl default voltage need to be changed
- vddvibr_uV: If the vddvibr default voltage need to be changed

Example:
&i2c1 {
	twl6040: twl@4b {
		compatible = "ti,twl6040";
		reg = <0x4b>;

		interrupts = <0 119 4>;
		interrupt-parent = <&gic>;
		twl6040,audpwron-gpio = <&gpio4 31 0>;

		vio-supply = <&v1v8>;
		v2v1-supply = <&v2v1>;
		enable-active-high;

		/* regulators for vibra motor */
		vddvibl-supply = <&vbat>;
		vddvibr-supply = <&vbat>;

		vibra {
			/* Vibra driver, motor resistance parameters */
			ti,vibldrv-res = <8>;
			ti,vibrdrv-res = <3>;
			ti,viblmotor-res = <10>;
			ti,vibrmotor-res = <10>;
		};
	};
};
+6 −0
Original line number Diff line number Diff line
@@ -3382,6 +3382,12 @@ W: http://www.developer.ibm.com/welcome/netfinity/serveraid.html
S:	Supported
F:	drivers/scsi/ips.*

ICH LPC AND GPIO DRIVER
M:	Peter Tyser <ptyser@xes-inc.com>
S:	Maintained
F:	drivers/mfd/lpc_ich.c
F:	drivers/gpio/gpio-ich.c

IDE SUBSYSTEM
M:	"David S. Miller" <davem@davemloft.net>
L:	linux-ide@vger.kernel.org
Loading