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

Commit 578f1ef9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD changes from Samuel Ortiz:
 "MFD bits for the 3.7 merge window.

  As usual we have a few new drivers:

   - TI LP8788
   - TI OMAP USB TLL
   - Maxim MAX8907
   - SMSC ECE1099
   - Dialog Semiconductor DA9055
   - A simpler syscon driver that allow us to get rid of the anatop one.

  Drivers are also gradually getting Device Tree and IRQ domain support.

  The following drivers got DT support:
   - palmas, 88pm860x, tc3589x and twl4030-audio

  And those ones now use the IRQ domain APIs:
   - 88pm860x, tc3589x, db8500_prcmu

  Also some other interesting changes:
   - Intel's ICH LPC now supports Lynx Point
   - TI's twl4030-audio added a GPO child
   - tps6527 enabled its backlight subdevice
   - The twl6030 pwm driver moved to the new PWM subsystem

  And finally a bunch of cleanup and casual fixes for mc13xxx, 88pm860x,
  palmas, ab8500, wm8994, wm5110, max8907 and the tps65xxx family."

Fix up various annoying conflicts: the DT and IRQ domain support came in
twice and was already in 3.6. And then it was apparently rebased.

Guys, DON'T REBASE!

* tag 'mfd-3.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (89 commits)
  ARM: dts: Enable 88pm860x pmic
  mfd: 88pm860x: Move gpadc init into touch
  mfd: 88pm860x: Device tree support
  mfd: 88pm860x: Use irqdomain
  mfd: smsc: Add support for smsc gpio io/keypad driver
  backlight: tps65217_bl: Add missing platform_set_drvdata in tps65217_bl_probe
  mfd: DA9055 core driver
  mfd: tps65910: Add alarm interrupt of TPS65910 RTC to mfd device list
  mfd: wm5110: Add register patches for revision B
  mfd: wm5110: Disable control interface error report for WM5110 rev B
  mfd: max8907: Remove regulator-compatible from DT docs
  backlight: Add TPS65217 WLED driver
  mfd: Add backlight as subdevice to the tps65217
  mfd: Provide the PRCMU with its own IRQ domain
  mfd: Fix max8907 sparse warning
  mfd: Add lp8788 mfd driver
  mfd: dbx500: Provide a more accurate smp_twd clock
  mfd: rc5t583: Fix warning messages
  regulator: palmas: Add DT support
  mfd: palmas: Change regulator defns to better suite DT
  ...
parents ecefbd94 74d83781
Loading
Loading
Loading
Loading
+85 −0
Original line number Diff line number Diff line
* Marvell 88PM860x Power Management IC

Required parent device properties:
- compatible : "marvell,88pm860x"
- reg : the I2C slave address for the 88pm860x chip
- interrupts : IRQ line for the 88pm860x chip
- interrupt-controller: describes the 88pm860x as an interrupt controller (has its own domain)
- #interrupt-cells : should be 1.
		- The cell is the 88pm860x local IRQ number

Optional parent device properties:
- marvell,88pm860x-irq-read-clr: inicates whether interrupt status is cleared by read
- marvell,88pm860x-slave-addr: 88pm860x are two chips solution. <reg> stores the I2C address
				of one chip, and this property stores the I2C address of
				another chip.

88pm860x consists of a large and varied group of sub-devices:

Device			 Supply Names	 Description
------			 ------------	 -----------
88pm860x-onkey		:		: On key
88pm860x-rtc		:		: RTC
88pm8607		:		: Regulators
88pm860x-backlight	:		: Backlight
88pm860x-led		:		: Led
88pm860x-touch		:		: Touchscreen

Example:

	pmic: 88pm860x@34 {
		compatible = "marvell,88pm860x";
		reg = <0x34>;
		interrupts = <4>;
		interrupt-parent = <&intc>;
		interrupt-controller;
		#interrupt-cells = <1>;

		marvell,88pm860x-irq-read-clr;
		marvell,88pm860x-slave-addr = <0x11>;

		regulators {
			BUCK1 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1500000>;
				regulator-boot-on;
				regulator-always-on;
			};
			LDO1 {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <2800000>;
				regulator-boot-on;
				regulator-always-on;
			};
		};
		rtc {
			marvell,88pm860x-vrtc = <1>;
		};
		touch {
			marvell,88pm860x-gpadc-prebias = <1>;
			marvell,88pm860x-gpadc-slot-cycle = <1>;
			marvell,88pm860x-tsi-prebias = <6>;
			marvell,88pm860x-pen-prebias = <16>;
			marvell,88pm860x-pen-prechg = <2>;
			marvell,88pm860x-resistor-X = <300>;
		};
		backlights {
			backlight-0 {
				marvell,88pm860x-iset = <4>;
				marvell,88pm860x-pwm = <3>;
			};
			backlight-2 {
			};
		};
		leds {
			led0-red {
				marvell,88pm860x-iset = <12>;
			};
			led0-green {
				marvell,88pm860x-iset = <12>;
			};
			led0-blue {
				marvell,88pm860x-iset = <12>;
			};
		};
	};
+20 −0
Original line number Diff line number Diff line
* System Controller Registers R/W driver

System controller node represents a register region containing a set
of miscellaneous registers. The registers are not cohesive enough to
represent as any specific type of device. The typical use-case is for
some other node's driver, or platform-specific code, to acquire a
reference to the syscon node (e.g. by phandle, node path, or search
using a specific compatible value), interrogate the node (or associated
OS driver) to determine the location of the registers, and access the
registers directly.

Required properties:
- compatible: Should contain "syscon".
- reg: the register region can be accessed from syscon

Examples:
gpr: iomuxc-gpr@020e0000 {
	compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
	reg = <0x020e0000 0x38>;
};
+4 −0
Original line number Diff line number Diff line
@@ -59,6 +59,8 @@ Optional properties:
  in TPS6591X datasheet)
- ti,en-gpio-sleep: enable sleep control for gpios
  There should be 9 entries here, one for each gpio.
- ti,system-power-controller: Telling whether or not this pmic is controlling
  the system power.

Regulator Optional properties:
- ti,regulator-ext-sleep-control: enable external sleep
@@ -79,6 +81,8 @@ Example:
		#interrupt-cells = <2>;
		interrupt-controller;

		ti,system-power-controller;

		ti,vmbch-threshold = 0;
		ti,vmbch2-threshold = 0;
		ti,en-ck32k-xtal;
+46 −0
Original line number Diff line number Diff line
Texas Instruments TWL family (twl4030) audio module

The audio module inside the TWL family consist of an audio codec and a vibra
driver.

Required properties:
- compatible : must be "ti,twl4030-audio"

Optional properties, nodes:

Audio functionality:
- codec { }: Need to be present if the audio functionality is used. Within this
	     section the following options can be used:
- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
		    from the start of the recorded sample (in ms)
-ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
-ti,hs_extmute: Use external mute for HS pop reduction
-ti,hs_extmute_gpio: Use external GPIO to control the external mute
-ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
		      valid values.

Vibra functionality
- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
		   missing or it is 0, the vibra functionality is disabled.

Example:
&i2c1 {
	clock-frequency = <2600000>;

	twl: twl@48 {
		reg = <0x48>;
		interrupts = <7>; /* SYS_NIRQ cascaded to intc */
		interrupt-parent = <&intc>;

		twl_audio: audio {
			compatible = "ti,twl4030-audio";

			ti,enable-vibra = <1>;

			codec {
				ti,ramp_delay_value = <3>;
			};

		};
	};
};
+6 −3
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.
The TWL6040s are 8-channel high quality low-power audio codecs providing audio,
vibra and GPO functionality on OMAP4+ platforms.
They are connected ot the host processor via i2c for commands, McPDM for audio
data and commands.

@@ -10,6 +10,8 @@ Required properties:
- reg: must be 0x4b for i2c address
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
- interrupt-parent: The parent interrupt controller
- gpio-controller:
- #gpio-cells = <1>: twl6040 provides GPO lines.
- twl6040,audpwron-gpio: Power on GPIO line for the twl6040

- vio-supply: Regulator for the twl6040 VIO supply
@@ -37,7 +39,6 @@ Example:
&i2c1 {
	twl6040: twl@4b {
		compatible = "ti,twl6040";
		reg = <0x4b>;

		interrupts = <0 119 4>;
		interrupt-parent = <&gic>;
@@ -60,3 +61,5 @@ Example:
		};
	};
};

/include/ "twl6040.dtsi"
Loading