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

Commit 8bd8fd0a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Device Support:
   - New Clocksource driver from ST
   - New MFD/ACPI/DMA drivers for Intel's Sunrisepoint PCH based platforms
   - Add support for Arizona WM8998 and WM1814
   - Add support for Dialog Semi DA9062 and DA9063
   - Add support for Kontron COMe-bBL6 and COMe-cBW6
   - Add support for X-Powers AXP152
   - Add support for Atmel, many
   - Add support for STMPE, many
   - Add support for USB in X-Powers AXP22X

  Core Frameworks:
   - New Base API to traverse devices and their children in reverse order

  Bug Fixes:
   - Fix race between runtime-suspend and IRQs
   - Obtain platform data form more reliable source

  Fix-ups:
   - Constifying things
   - Variable signage changes
   - Kconfig depends|selects changes
   - Make use of BIT() macro
   - Do not supply .owner attribute in *_driver structures
   - MAINTAINERS entries
   - Stop using set_irq_flags()
   - Start using irq_set_chained_handler_and_data()
   - Export DT device ID structures"

* tag 'mfd-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
  mfd: jz4740-adc: Init mask cache in generic IRQ chip
  mfd: cros_ec: spi: Add OF match table
  mfd: stmpe: Add OF match table
  mfd: max77686: Split out regulator part from the DT binding
  mfd: Add DT binding for Maxim MAX77802 IC
  mfd: max77686: Use a generic name for the PMIC node in the example
  mfd: max77686: Don't suggest in binding to use a deprecated property
  mfd: Add MFD_CROS_EC dependencies
  mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers
  mfd: axp20x: Add a cell for the usb power_supply part of the axp20x PMICs
  mfd: axp20x: Add missing registers, and mark more registers volatile
  mfd: arizona: Fixup some formatting/white space errors
  mfd: wm8994: Fix NULL pointer exception on missing pdata
  of: Add vendor prefix for Nuvoton
  mfd: mt6397: Implement wake handler and suspend/resume to handle wake up event
  mfd: atmel-hlcdc: Add support for new SoCs
  mfd: Export OF module alias information in missing drivers
  mfd: stw481x: Export I2C module alias information
  mfd: da9062: Support for the DA9063 OnKey in the DA9062 core
  mfd: max899x: Avoid redundant irq_data lookup
  ...
parents 35271227 5a688c45
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2,7 +2,11 @@ Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver

Required properties:
 - compatible: value should be one of the following:
   "atmel,at91sam9n12-hlcdc"
   "atmel,at91sam9x5-hlcdc"
   "atmel,sama5d2-hlcdc"
   "atmel,sama5d3-hlcdc"
   "atmel,sama5d4-hlcdc"
 - reg: base address and size of the HLCDC device registers.
 - clock-names: the name of the 3 clocks requested by the HLCDC device.
   Should contain "periph_clk", "sys_clk" and "slow_clk".
+3 −1
Original line number Diff line number Diff line
AXP family PMIC device tree bindings

The axp20x family current members :
axp152 (X-Powers)
axp202 (X-Powers)
axp209 (X-Powers)
axp221 (X-Powers)

Required properties:
- compatible: "x-powers,axp202", "x-powers,axp209", "x-powers,axp221"
- compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209",
	      "x-powers,axp221"
- reg: The I2C slave address for the AXP chip
- interrupt-parent: The parent interrupt controller
- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
+88 −0
Original line number Diff line number Diff line
* Dialog DA9062 Power Management Integrated Circuit (PMIC)

DA9062 consists of a large and varied group of sub-devices:

Device                   Supply Names    Description
------                   ------------    -----------
da9062-regulator        :               : LDOs & BUCKs
da9062-rtc              :               : Real-Time Clock
da9062-watchdog         :               : Watchdog Timer

======

Required properties:

- compatible : Should be "dlg,da9062".
- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
  modified to match the chip's OTP settings).
- interrupt-parent : Specifies the reference to the interrupt controller for
  the DA9062.
- interrupts : IRQ line information.
- interrupt-controller

See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
further information on IRQ bindings.

Sub-nodes:

- regulators : This node defines the settings for the LDOs and BUCKs. The
  DA9062 regulators are bound using their names listed below:

    buck1    : BUCK_1
    buck2    : BUCK_2
    buck3    : BUCK_3
    buck4    : BUCK_4
    ldo1     : LDO_1
    ldo2     : LDO_2
    ldo3     : LDO_3
    ldo4     : LDO_4

  The component follows the standard regulator framework and the bindings
  details of individual regulator device can be found in:
  Documentation/devicetree/bindings/regulator/regulator.txt


- rtc : This node defines settings required for the Real-Time Clock associated
  with the DA9062. There are currently no entries in this binding, however
  compatible = "dlg,da9062-rtc" should be added if a node is created.

- watchdog: This node defines the settings for the watchdog driver associated
  with the DA9062 PMIC. The compatible = "dlg,da9062-watchdog" should be added
  if a node is created.


Example:

	pmic0: da9062@58 {
		compatible = "dlg,da9062";
		reg = <0x58>;
		interrupt-parent = <&gpio6>;
		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;

		rtc {
			compatible = "dlg,da9062-rtc";
		};

		watchdog {
			compatible = "dlg,da9062-watchdog";
		};

		regulators {
			DA9062_BUCK1: buck1 {
				regulator-name = "BUCK1";
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1570000>;
				regulator-min-microamp = <500000>;
				regulator-max-microamp = <2000000>;
				regulator-boot-on;
			};
			DA9062_LDO1: ldo1 {
				regulator-name = "LDO_1";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <3600000>;
				regulator-boot-on;
			};
		};
	};
+5 −60
Original line number Diff line number Diff line
@@ -7,8 +7,9 @@ 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.

Binding for the built-in 32k clock generator block is defined separately
in bindings/clk/maxim,max77686.txt file.
Bindings for the built-in 32k clock generator block and
regulators are defined in ../clk/maxim,max77686.txt and
../regulator/max77686.txt respectively.

Required properties:
- compatible : Must be "maxim,max77686";
@@ -16,67 +17,11 @@ Required properties:
- 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.

  Regulators which can be turned off during system suspend:
	-LDOn	:	2, 6-8, 10-12, 14-16,
	-BUCKn	:	1-4.
  Use standard regulator bindings for it ('regulator-off-in-suspend').

  LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
  control. To turn this feature on this property must be added to the regulator
  sub-node:
	- maxim,ena-gpios :	one GPIO specifier enable control (the gpio
				flags are actually ignored and always
				ACTIVE_HIGH is used)

Example:

	max77686@09 {
	max77686: pmic@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;
			};

			buck9_reg {
				regulator-compatible = "BUCK9";
				regulator-name = "CAM_ISP_CORE_1.2V";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1200000>;
				maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
	};
	}
+26 −0
Original line number Diff line number Diff line
Maxim MAX77802 multi-function device

The Maxim MAX77802 is a Power Management IC (PMIC) that contains 10 high
efficiency Buck regulators, 32 Low-DropOut (LDO) regulators used to power
up application processors and peripherals, a 2-channel 32kHz clock outputs,
a Real-Time-Clock (RTC) and a I2C interface to program the individual
regulators, clocks outputs and the RTC.

Bindings for the built-in 32k clock generator block and
regulators are defined in ../clk/maxim,max77802.txt and
../regulator/max77802.txt respectively.

Required properties:
- compatible		: Must be "maxim,max77802"
- reg			: Specifies the I2C slave address of PMIC block.
- interrupts		: I2C device IRQ line connected to the main SoC.
- interrupt-parent	: The parent interrupt controller.

Example:

	max77802: pmic@09 {
		compatible = "maxim,max77802";
		interrupt-parent = <&intc>;
		interrupts = <26 IRQ_TYPE_NONE>;
		reg = <0x09>;
	};
Loading