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

Commit e5744abb authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull MFD updates from Lee Jones:
 "Changes to existing drivers:
   - Use of managed resources - omap, twl4030, ti_am335x_tscadc
   - Advanced error handling - omap
   - Rework clk management - omap
   - Device Tree (re-)work - tc3589x, pm8921, da9055, sec
   - IRC management overhaul and !BROKEN - pm8921
   - Convert to regmap - ssbi, pm8921
   - Use simple power-management ops - ucb1x00
   - Include file clean-up - adp5520, cs5535, janz, lpc_ich,
      - lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583,
      	rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc,
	tps65912, vexpress-config, wm8350, ywm8350
   - Various bug fixes across the subsystem
      - NULL/invalid pointer dereference prevention
      - Resource leak mitigation,
      - Variable used initialised
      - Staticise various containers
      - Enforce return value checks

  New drivers/supported devices:
   - Add support for s2mps14 and s2mpa01 to sec
   - Add support for da9063 (v5) to da9063
   - Add support for atom-c2000 to gpio-ich
   - Add support for come-{mbt10,cbt6,chl6} to kempld
   - Add support for da9053 to da9052
   - Add support for itco-wdt (v3) and baytrail to lpc_ich
   - Add new drivers for tps65218, rtsx_usb, bcm590xx

  (Re-)moved drivers:
   - twl4030 ==> drivers/iio
   - ti-ssp  ==> /dev/null"

* tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits)
  mfd: wm5110: Correct default for HEADPHONE_DETECT_1
  mfd: arizona: Correct small errors in the DT binding documentation
  mfd: arizona: Mark DSP clocking register as volatile
  mfd: devicetree: bindings: Add pm8xxx RTC description
  mfd: kempld-core: Fix potential hang-up during boot
  mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01
  mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
  mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail
  mfd: sec-core: Fix I2C dummy device resource leak on probe failure
  mfd: sec-core: Add of_compatible strings for clock MFD cells
  mfd: Remove obsolete ti-ssp driver
  Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
  mfd: bcm590xx: Fix type argument for module device table
  mfd: lpc_ich: Add support for Intel Bay Trail SoC
  mfd: lpc_ich: Add support for NM10 GPIO
  mfd: lpc_ich: Change Avoton to iTCO v3
  watchdog: iTCO_wdt: Add support for v3 silicon
  mfd: lpc_ich: Add support for iTCO v3
  mfd: lpc_ich: Remove lpc_ich_cfg struct use
  mfd: lpc_ich: Only configure watchdog or GPIO when present
  ...
parents c29aa153 2d28ca73
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
* TWL4030 Monitoring Analog to Digital Converter (MADC)

The MADC subsystem in the TWL4030 consists of a 10-bit ADC
combined with a 16-input analog multiplexer.

Required properties:
  - compatible: Should contain "ti,twl4030-madc".
  - interrupts: IRQ line for the MADC submodule.
  - #io-channel-cells: Should be set to <1>.

Optional properties:
  - ti,system-uses-second-madc-irq: boolean, set if the second madc irq register
				    should be used, which is intended to be used
				    by Co-Processors (e.g. a modem).

Example:

&twl {
	madc {
		compatible = "ti,twl4030-madc";
		interrupts = <3>;
		#io-channel-cells = <1>;
	};
};
+13 −10
Original line number Diff line number Diff line
@@ -5,9 +5,10 @@ of analogue I/O.

Required properties:

  - compatible : one of the following chip-specific strings:
  - compatible : One of the following chip-specific strings:
        "wlf,wm5102"
        "wlf,wm5110"
        "wlf,wm8997"
  - reg : I2C slave address when connected using I2C, chip select number when
    using SPI.

@@ -25,8 +26,9 @@ Required properties:
  - #gpio-cells : Must be 2. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).

  - AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply,
    SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered
  - AVDD-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply (wm5102, wm5110),
    CPVDD-supply, SPKVDDL-supply (wm5102, wm5110), SPKVDDR-supply (wm5102,
    wm5110), SPKVDD-supply (wm8997) : Power supplies for the device, as covered
    in Documentation/devicetree/bindings/regulator/regulator.txt

Optional properties:
@@ -46,6 +48,7 @@ codec: wm5102@1a {
	compatible = "wlf,wm5102";
	reg = <0x1a>;
	interrupts = <347>;
	interrupt-controller;
	#interrupt-cells = <2>;
        interrupt-parent = <&gic>;

@@ -53,10 +56,10 @@ codec: wm5102@1a {
	#gpio-cells = <2>;

	wlf,gpio-defaults = <
		0x00000000, /* AIF1TXLRCLK */
		0xffffffff,
		0xffffffff,
		0xffffffff,
		0xffffffff,
		0x00000000 /* AIF1TXLRCLK */
		0xffffffff
		0xffffffff
		0xffffffff
		0xffffffff
	>;
};
+37 −0
Original line number Diff line number Diff line
-------------------------------
BCM590xx Power Management Units
-------------------------------

Required properties:
- compatible: "brcm,bcm59056"
- reg: I2C slave address
- interrupts: interrupt for the PMU. Generic interrupt client node bindings
  are described in interrupt-controller/interrupts.txt

------------------
Voltage Regulators
------------------

Optional child nodes:
- regulators: container node for regulators following the generic
  regulator binding in regulator/regulator.txt

  The valid regulator node names for BCM59056 are:
  	rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
	mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
	csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr

Example:
	pmu: bcm59056@8 {
		compatible = "brcm,bcm59056";
		reg = <0x08>;
		interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
		regulators {
			rfldo_reg: rfldo {
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
			};

			...
		};
	};
+72 −0
Original line number Diff line number Diff line
* Dialog DA9055 Power Management Integrated Circuit (PMIC)

DA9055 consists of a large and varied group of sub-devices (I2C Only):

Device			 Supply Names	 Description
------			 ------------	 -----------
da9055-gpio		:		: GPIOs
da9055-regulator	:		: Regulators
da9055-onkey		:		: On key
da9055-rtc		:		: RTC
da9055-hwmon		:		: ADC
da9055-watchdog		:		: Watchdog

The CODEC device in DA9055 has a separate, configurable I2C address and so
is instantiated separately from the PMIC.

For details on accompanying CODEC I2C device, see the following:
Documentation/devicetree/bindings/sound/da9055.txt

======

Required properties:
- compatible : Should be "dlg,da9055-pmic"
- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
- interrupt-parent: Specifies the phandle of the interrupt controller to which
  the IRQs from da9055 are delivered to.
- interrupts: IRQ line info for da9055 chip.
- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
- #interrupt-cells: Should be 1, is the local IRQ number for da9055.

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

    buck1     : regulator BUCK1
    buck2     : regulator BUCK2
    ldo1      : regulator LDO1
    ldo2      : regulator LDO2
    ldo3      : regulator LDO3
    ldo4      : regulator LDO4
    ldo5      : regulator LDO5
    ldo6      : regulator LDO6

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


Example:

	pmic: da9055-pmic@5a {
		compatible = "dlg,da9055-pmic";
		reg = <0x5a>;
		interrupt-parent = <&intc>;
		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;
		#interrupt-cells = <1>;

		regulators {
			buck1: BUCK1 {
				regulator-min-microvolt = <725000>;
				regulator-max-microvolt = <2075000>;
			};
			buck2: BUCK2 {
				regulator-min-microvolt = <925000>;
				regulator-max-microvolt = <2500000>;
			};
			ldo1: LDO1 {
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <3300000>;
			};
		};
	};
+23 −0
Original line number Diff line number Diff line
@@ -32,6 +32,29 @@ Optional properties:
- single-ulpi-bypass: Must be present if the controller contains a single
  ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1

- clocks: a list of phandles and clock-specifier pairs, one for each entry in
  clock-names.

- clock-names: should include:
  For OMAP3
  * "usbhost_120m_fck" - 120MHz Functional clock.

  For OMAP4+
  * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux
  * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux.
  * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux
  * "utmi_p1_gfclk" - Port 1 UTMI clock mux.
  * "utmi_p2_gfclk" - Port 2 UTMI clock mux.
  * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate.
  * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate.
  * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate.
  * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate.
  * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate.
  * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate.
  * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate.
  * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate.
  * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate.

Required properties if child node exists:

- #address-cells: Must be 1
Loading