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 Original line 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 Original line 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 Original line Diff line number Diff line
@@ -59,6 +59,8 @@ Optional properties:
  in TPS6591X datasheet)
  in TPS6591X datasheet)
- ti,en-gpio-sleep: enable sleep control for gpios
- ti,en-gpio-sleep: enable sleep control for gpios
  There should be 9 entries here, one for each gpio.
  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:
Regulator Optional properties:
- ti,regulator-ext-sleep-control: enable external sleep
- ti,regulator-ext-sleep-control: enable external sleep
@@ -79,6 +81,8 @@ Example:
		#interrupt-cells = <2>;
		#interrupt-cells = <2>;
		interrupt-controller;
		interrupt-controller;


		ti,system-power-controller;

		ti,vmbch-threshold = 0;
		ti,vmbch-threshold = 0;
		ti,vmbch2-threshold = 0;
		ti,vmbch2-threshold = 0;
		ti,en-ck32k-xtal;
		ti,en-ck32k-xtal;
+46 −0
Original line number Original line 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 Original line Diff line number Diff line
Texas Instruments TWL6040 family
Texas Instruments TWL6040 family


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


@@ -10,6 +10,8 @@ Required properties:
- reg: must be 0x4b for i2c address
- reg: must be 0x4b for i2c address
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
- interrupt-parent: The parent interrupt controller
- 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
- twl6040,audpwron-gpio: Power on GPIO line for the twl6040


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


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

/include/ "twl6040.dtsi"
Loading