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

Commit 3e701cdf authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD bits from Samuel Ortiz:
 "We have support for a few new drivers:
   - Samsung s2mps11
   - Wolfson Microelectronics wm5102 and wm5110
   - Marvell 88PM800 and 88PM805
   - TI twl6041

  We also have our regular driver improvements:
   - Device tree and IRQ domain support for STE AB8500
   - Regmap and devm_* API conversion for TI tps6586x
   - Device tree support for Samsung max77686
   - devm_* API conversion for STE AB3100

  Besides that, quite a lot of fixing and cleanup for mc13xxx, tps65910,
  tps65090, da9052 and twl-core."

Fix up mostly trivial conflicts, with the exception of
drivers/usb/host/ehci-omap.c in particular, which had some
re-organization of the reset sequence (commit 1a49e2ac: "EHCI:
centralize controller initialization") that clashed with commit
2761a639 ("mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix
issues").

In particular, commit 2761a639 moved the usb_add_hcd() to the
*middle* of the reset sequence, which clashes fairly badly with the
reset sequence re-organization (although it could have been done inside
the new omap_ehci_init() function).

I left that part of commit 2761a639 just undone.

* tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (110 commits)
  mfd: Ensure AB8500 platform data is passed through db8500-prcmu to MFD Core
  mfd: Arizone core should select MFD_CORE
  mfd: Fix arizona-irq.c build by selecting REGMAP_IRQ
  mfd: Add debug trace on entering and leaving arizone runtime suspend
  mfd: Correct tps65090 cell names
  mfd: Remove gpio support from tps6586x core driver
  ARM: tegra: defconfig: Enable tps6586x gpio
  gpio: tps6586x: Add gpio support through platform driver
  mfd: Cache tps6586x register through regmap
  mfd: Use regmap for tps6586x register access.
  mfd: Use devm managed resources for tps6586x
  input: Add onkey support for 88PM80X PMIC
  mfd: Add support for twl6041
  mfd: Fix twl6040 revision information
  mfd: Matches should be NULL when populate anatop child devices
  input: ab8500-ponkey: Create AB8500 domain IRQ mapping
  mfd: Add missing out of memory check for pcf50633
  Documentation: Describe the AB8500 Device Tree bindings
  mfd: Add tps65910 32-kHz-crystal-input init
  mfd: Drop modifying mc13xxx driver's id_table in probe
  ...
parents 7d3d09b0 3c1534c7
Loading
Loading
Loading
Loading
+123 −0
Original line number Diff line number Diff line
* AB8500 Multi-Functional Device (MFD)

Required parent device properties:
- compatible             : contains "stericsson,ab8500";
- interrupts             : contains the IRQ line for the AB8500
- interrupt-controller   : describes the AB8500 as an Interrupt Controller (has its own domain)
- #interrupt-cells       : should be 2, for 2-cell format
                            - The first cell is the AB8500 local IRQ number
                            - The second cell is used to specify optional parameters
                              - bits[3:0] trigger type and level flags:
                                  1 = low-to-high edge triggered
                                  2 = high-to-low edge triggered
                                  4 = active high level-sensitive
                                  8 = active low level-sensitive

Optional parent device properties:
- reg                    : contains the PRCMU mailbox address for the AB8500 i2c port

The AB8500 consists of a large and varied group of sub-devices:

Device                     IRQ Names              Supply Names   Description
------                     ---------              ------------   -----------
ab8500-bm                :                      :              : Battery Manager
ab8500-btemp             :                      :              : Battery Temperature
ab8500-charger           :                      :              : Battery Charger
ab8500-fg                :                      :              : Fuel Gauge
ab8500-gpadc             : HW_CONV_END          : vddadc       : Analogue to Digital Converter
                           SW_CONV_END          :              :
ab8500-gpio              :                      :              : GPIO Controller
ab8500-ponkey            : ONKEY_DBF            :              : Power-on Key
                           ONKEY_DBR            :              :
ab8500-pwm               :                      :              : Pulse Width Modulator
ab8500-regulator         :                      :              : Regulators
ab8500-rtc               : 60S                  :              : Real Time Clock
                         : ALARM                :              :
ab8500-sysctrl           :                      :              : System Control
ab8500-usb               : ID_WAKEUP_R          : vddulpivio18 : Universal Serial Bus
                         : ID_WAKEUP_F          : v-ape        :
                         : VBUS_DET_F           : musb_1v8     :
                         : VBUS_DET_R           :              :
                         : USB_LINK_STATUS      :              :
                         : USB_ADP_PROBE_PLUG   :              :
                         : USB_ADP_PROBE_UNPLUG :              :

Required child device properties:
- compatible             : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey|
                                               pwm|regulator|rtc|sysctrl|usb]";

Optional child device properties:
- interrupts             : contains the device IRQ(s) using the 2-cell format (see above)
- interrupt-names        : contains names of IRQ resource in the order in which they were
                           supplied in the interrupts property
- <supply_name>-supply   : contains a phandle to the regulator supply node in Device Tree

ab8500@5 {
         compatible = "stericsson,ab8500";
         reg = <5>; /* mailbox 5 is i2c */
         interrupts = <0 40 0x4>;
         interrupt-controller;
         #interrupt-cells = <2>;

         ab8500-rtc {
                 compatible = "stericsson,ab8500-rtc";
                 interrupts = <17 0x4
                               18 0x4>;
                 interrupt-names = "60S", "ALARM";
         };

        ab8500-gpadc {
                compatible = "stericsson,ab8500-gpadc";
                interrupts = <32 0x4
                              39 0x4>;
                interrupt-names = "HW_CONV_END", "SW_CONV_END";
                vddadc-supply = <&ab8500_ldo_tvout_reg>;
        };

        ab8500-usb {
                compatible = "stericsson,ab8500-usb";
                interrupts = < 90 0x4
                               96 0x4
                               14 0x4
                               15 0x4
                               79 0x4
                               74 0x4
                               75 0x4>;
                interrupt-names = "ID_WAKEUP_R",
                                  "ID_WAKEUP_F",
                                  "VBUS_DET_F",
                                  "VBUS_DET_R",
                                  "USB_LINK_STATUS",
                                  "USB_ADP_PROBE_PLUG",
                                  "USB_ADP_PROBE_UNPLUG";
                vddulpivio18-supply = <&ab8500_ldo_initcore_reg>;
                v-ape-supply = <&db8500_vape_reg>;
                musb_1v8-supply = <&db8500_vsmps2_reg>;
        };

        ab8500-ponkey {
                compatible = "stericsson,ab8500-ponkey";
                interrupts = <6 0x4
                              7 0x4>;
                interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
        };

        ab8500-sysctrl {
                compatible = "stericsson,ab8500-sysctrl";
        };

        ab8500-pwm {
                compatible = "stericsson,ab8500-pwm";
        };

        ab8500-regulators {
                compatible = "stericsson,ab8500-regulator";

                ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
                        /*
                         * See: Documentation/devicetree/bindings/regulator/regulator.txt
                         * for more information on regulators
                         */
                };
        };
};
+59 −0
Original line number Diff line number Diff line
Maxim MAX77686 multi-function device

MAX77686 is a Mulitifunction device with PMIC, RTC and Charger on chip. It is
interfaced to host controller using i2c interface. PMIC and Charger submodules
are addressed using same i2c slave address whereas RTC submodule uses
different i2c slave address,presently for which we are statically creating i2c
client while probing.This document describes the binding for mfd device and
PMIC submodule.

Required properties:
- compatible : Must be "maxim,max77686";
- reg : Specifies the i2c slave address of PMIC block.
- interrupts : This i2c device has an IRQ line connected to the main SoC.
- interrupt-parent : The parent interrupt controller.

Optional node:
- voltage-regulators : The regulators of max77686 have to be instantiated
  under subnode named "voltage-regulators" using the following format.

	regulator_name {
		regulator-compatible = LDOn/BUCKn
		standard regulator constraints....
	};
	refer Documentation/devicetree/bindings/regulator/regulator.txt

  The regulator-compatible property of regulator should initialized with string
to get matched with their hardware counterparts as follow:

	-LDOn 	:	for LDOs, where n can lie in range 1 to 26.
		 	example: LDO1, LDO2, LDO26.
	-BUCKn 	:	for BUCKs, where n can lie in range 1 to 9.
			example: BUCK1, BUCK5, BUCK9.

Example:

	max77686@09 {
		compatible = "maxim,max77686";
		interrupt-parent = <&wakeup_eint>;
		interrupts = <26 0>;
		reg = <0x09>;

		voltage-regulators {
			ldo11_reg {
				regulator-compatible = "LDO11";
				regulator-name = "vdd_ldo11";
				regulator-min-microvolt = <1900000>;
				regulator-max-microvolt = <1900000>;
				regulator-always-on;
			};

			buck1_reg {
				regulator-compatible = "BUCK1";
				regulator-name = "vdd_mif";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
				regulator-boot-on;
			};
	}
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ Example:

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

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

		vcc1-supply = <&reg_parent>;
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ They are connected ot the host processor via i2c for commands, McPDM for audio
data and commands.

Required properties:
- compatible : Must be "ti,twl6040";
- compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041
- reg: must be 0x4b for i2c address
- interrupts: twl6040 has one interrupt line connecteded to the main SoC
- interrupt-parent: The parent interrupt controller
+10 −0
Original line number Diff line number Diff line
@@ -5912,6 +5912,16 @@ L: linux-fbdev@vger.kernel.org
S:	Maintained
F:	drivers/video/s3c-fb.c

SAMSUNG MULTIFUNCTION DEVICE DRIVERS
M:	Sangbeom Kim <sbkim73@samsung.com>
L:	linux-kernel@vger.kernel.org
S:	Supported
F:	drivers/mfd/sec*.c
F:	drivers/regulator/s2m*.c
F:	drivers/regulator/s5m*.c
F:	drivers/rtc/rtc-sec.c
F:	include/linux/mfd/samsung/

SERIAL DRIVERS
M:	Alan Cox <alan@linux.intel.com>
L:	linux-serial@vger.kernel.org
Loading