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

Commit d26f552e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Drivers:
   - Freescale MXS Low Resolution ADC
   - Freescale i.MX23/i.MX28 LRADC touchscreen
   - Motorola CPCAP Power Button
   - TI LMU (Lighting Management Unit)
   - Atmel SMC (Static Memory Controller)

  New Device Support:
   - Add support for X-Powers AXP803 to axp20x
   - Add support for Dialog Semi DA9061 to da9062-core
   - Add support for Intel Cougar Mountain to lpc_ich
   - Add support for Intel Gemini Lake to lpc_ich

  New Functionality:
   - Add Device Tree support; wm831x-*, axp20x, ti-lmu, da9062, sun4i-gpadc
   - Add IRQ sense support; motorola-cpcap
   - Add ACPI support; cros_ec
   - Add Reset support; altera-a10sr
   - Add ADC support; axp20x
   - Add AC Power support; axp20x
   - Add Runtime PM support; atmel-ebi, exynos-lpass
   - Add Battery Power Supply support; axp20x
   - Add Clock support; exynos-lpass, hi655x-pmic

  Fix-ups:
   - Implicitly specify required headers; motorola-cpcap, intel_soc_pmic_bxtwc
   - Add .remove() method; stm32-timers, exynos-lpass
   - Remove unused code; intel_soc_pmic_core, intel-lpss-acpi, ipaq-micro, atmel-smc, menelaus
   - Rename variables for clarity; axp20x
   - Convert pr_warning() to pr_warn(); db8500-prcmu, sta2x11-mfd, twl4030-power
   - Improve formatting; arizona-core, axp20x
   - Use raw_spinlock_*() variants; asic3, t7l66xb, tc6393xb
   - Simplify/refactor code; arizona-core, atmel-ebi
   - Improve error checking; intel_soc_pmic_core

  Bug Fixes:
   - Ensure OMAP3630/3730 boards can successfully reboot; twl4030-power
   - Correct max-register value; stm32-timers
   - Extend timeout to account for clock stretching; cros_ec_spi
   - Use correct IRQ trigger type; motorola-cpcap
   - Fix bad use of IRQ sense register; motorola-cpcap
   - Logic error "||" should be "&&"; mxs-lradc-ts"

* tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits)
  input: touchscreen: mxs-lradc: || vs && typos
  dt-bindings: Add AXP803's regulator info
  mfd: axp20x: Support AXP803 variant
  dt-bindings: Add device tree binding for X-Powers AXP803 PMIC
  dt-bindings: Make AXP20X compatible strings one per line
  mfd: intel_soc_pmic_core: Fix unchecked return value
  mfd: menelaus: Remove obsolete local_irq_disable() and local_irq_enable()
  mfd: omap-usb-tll: Configure ULPIAUTOIDLE
  mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
  mfd: palmas: Fixed spelling mistake in error message
  mfd: lpc_ich: Add support for Intel Gemini Lake SoC
  mfd: hi655x: Add the clock cell to provide WiFi and Bluetooth
  mfd: intel_soc_pmic: Fix a mess with compilation units
  mfd: exynos-lpass: Add runtime PM support
  mfd: exynos-lpass: Add missing remove() function
  mfd: exynos-lpass: Add support for clocks
  mfd: exynos-lpass: Remove pad retention control
  iio: adc: add support for X-Powers AXP20X and AXP22X PMICs ADCs
  mfd: cpcap: Fix bad use of IRQ sense register
  mfd: cpcap: Use ack_invert interrupts
  ...
parents e897f267 ab6241ae
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
Motorola CPCAP on key

This module is part of the CPCAP. For more details about the whole
chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt.

This module provides a simple power button event via an Interrupt.

Required properties:
- compatible: should be one of the following
   - "motorola,cpcap-pwrbutton"
- interrupts: irq specifier for CPCAP's ON IRQ

Example:

&cpcap {
	cpcap_pwrbutton: pwrbutton {
		compatible = "motorola,cpcap-pwrbutton";
		interrupts = <23 IRQ_TYPE_NONE>;
	};
};
+11 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ The A10SR consists of these sub-devices:
Device                   Description
------                   ----------
a10sr_gpio               GPIO Controller
a10sr_rst                Reset Controller

Arria10 GPIO
Required Properties:
@@ -27,6 +28,11 @@ Required Properties:
                      the second cell is used to specify flags.
                      See ../gpio/gpio.txt for more information.

Arria10 Peripheral PHY Reset
Required Properties:
- compatible        : Should be "altr,a10sr-reset"
- #reset-cells      : Should be one.

Example:

        resource-manager@0 {
@@ -43,4 +49,9 @@ Example:
			gpio-controller;
			#gpio-cells = <2>;
		};

		a10sr_rst: reset-controller {
			compatible = "altr,a10sr-reset";
			#reset-cells = <1>;
		};
	};
+40 −3
Original line number Diff line number Diff line
@@ -6,12 +6,19 @@ axp202 (X-Powers)
axp209 (X-Powers)
axp221 (X-Powers)
axp223 (X-Powers)
axp803 (X-Powers)
axp809 (X-Powers)

Required properties:
- compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209",
	      "x-powers,axp221", "x-powers,axp223", "x-powers,axp806",
	      "x-powers,axp809"
- compatible: should be one of:
    * "x-powers,axp152"
    * "x-powers,axp202"
    * "x-powers,axp209"
    * "x-powers,axp221"
    * "x-powers,axp223"
    * "x-powers,axp803"
    * "x-powers,axp806"
    * "x-powers,axp809"
- reg: The I2C slave address or RSB hardware address for the AXP chip
- interrupt-parent: The parent interrupt controller
- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
@@ -28,6 +35,9 @@ Optional properties:
		  regulator to drive the OTG VBus, rather then as an input pin
		  which signals whether the board is driving OTG VBus or not.

- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
			wired for master mode. The default is slave mode.

- <input>-supply: a phandle to the regulator supply node. May be omitted if
		  inputs are unregulated, such as using the IPSOUT output
		  from the PMIC.
@@ -86,6 +96,33 @@ LDO_IO1 : LDO : ips-supply : GPIO 1
RTC_LDO		: LDO		: ips-supply		: always on
DRIVEVBUS	: Enable output	: drivevbus-supply	: external regulator

AXP803 regulators, type, and corresponding input supply names:

Regulator	  Type		  Supply Name		  Notes
---------	  ----		  -----------		  -----
DCDC1		: DC-DC buck	: vin1-supply
DCDC2		: DC-DC buck	: vin2-supply		: poly-phase capable
DCDC3		: DC-DC	buck	: vin3-supply		: poly-phase capable
DCDC4		: DC-DC	buck	: vin4-supply
DCDC5		: DC-DC	buck	: vin5-supply		: poly-phase capable
DCDC6		: DC-DC	buck	: vin6-supply		: poly-phase capable
DC1SW		: On/Off Switch	:			: DCDC1 secondary output
ALDO1		: LDO		: aldoin-supply		: shared supply
ALDO2		: LDO		: aldoin-supply		: shared supply
ALDO3		: LDO		: aldoin-supply		: shared supply
DLDO1		: LDO		: dldoin-supply		: shared supply
DLDO2		: LDO		: dldoin-supply		: shared supply
DLDO3		: LDO		: dldoin-supply		: shared supply
DLDO4		: LDO		: dldoin-supply		: shared supply
ELDO1		: LDO		: eldoin-supply		: shared supply
ELDO2		: LDO		: eldoin-supply		: shared supply
ELDO3		: LDO		: eldoin-supply		: shared supply
FLDO1		: LDO		: fldoin-supply		: shared supply
FLDO2		: LDO		: fldoin-supply		: shared supply
LDO_IO0		: LDO		: ips-supply		: GPIO 0
LDO_IO1		: LDO		: ips-supply		: GPIO 1
RTC_LDO		: LDO		: ips-supply		: always on

AXP806 regulators, type, and corresponding input supply names:

Regulator	  Type		  Supply Name		  Notes
+36 −13
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:
Product information for the DA9062 and DA9061 devices can be found here:
- http://www.dialog-semiconductor.com/products/da9062
- http://www.dialog-semiconductor.com/products/da9061

The DA9062 PMIC consists of:

Device                   Supply Names    Description
------                   ------------    -----------
da9062-regulator        :               : LDOs & BUCKs
da9062-rtc              :               : Real-Time Clock
da9062-onkey            :               : On Key
da9062-watchdog         :               : Watchdog Timer
da9062-thermal          :               : Thermal

The DA9061 PMIC consists of:

Device                   Supply Names    Description
------                   ------------    -----------
da9062-regulator        :               : LDOs & BUCKs
da9062-onkey            :               : On Key
da9062-watchdog         :               : Watchdog Timer
da9062-thermal          :               : Thermal

======

Required properties:

- compatible : Should be "dlg,da9062".
- compatible : Should be
    "dlg,da9062" for DA9062
    "dlg,da9061" for DA9061
- 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.
  the DA9062 or DA9061.
- interrupts : IRQ line information.
- interrupt-controller

@@ -25,8 +42,8 @@ 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:
- 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
@@ -37,19 +54,29 @@ Sub-nodes:
    ldo3     : LDO_3
    ldo4     : LDO_4

  The DA9061 regulators are bound using their names listed below:

    buck1    : BUCK_1
    buck2    : BUCK_2
    buck3    : BUCK_3
    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.
- onkey : See ../input/da9062-onkey.txt

- watchdog: See ../watchdog/da9062-watchdog.txt

- thermal : See ../thermal/da9062-thermal.txt

Example:

@@ -64,10 +91,6 @@ Example:
			compatible = "dlg,da9062-rtc";
		};

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

		regulators {
			DA9062_BUCK1: buck1 {
				regulator-name = "BUCK1";
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ MT6397/MT6323 is a multifunction device with the following sub modules:
- Audio codec
- GPIO
- Clock
- LED

It is interfaced to host controller using SPI interface by a proprietary hardware
called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
Loading