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

Commit f0c1bc95 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "Changes to existing drivers:

   - Rename child driver [axp288_battery => axp288_fuel_gauge]; axp20x
   - Rename child driver [max77693-flash => max77693-led]; max77693
   - Error handling fixes; intel_soc_pmic
   - GPIO tweaking; intel_soc_pmic
   - Remove non-DT code; vexpress-sysreg, tc3589x
   - Remove unused/legacy code; ti_am335x_tscadc, rts5249, rtsx_gops, rtsx_pcr,
                                rtc-s5m, sec-core, max77693, menelaus,
                                wm5102-tables
   - Trivial fixups; rtsx_pci, da9150-core, sec-core, max7769, max77693,
                     mc13xxx-core, dln2, hi6421-pmic-core, rk808, twl4030-power,
                     lpc_ich, menelaus, twl6040
   - Update register/address values; rts5227, rts5249
   - DT and/or binding document fixups; arizona, da9150, mt6397, axp20x,
                                        qcom-rpm, qcom-spmi-pmic
   - Couple of trivial core Kconfig fixups
   - Remove use of seq_printf return value; ab8500-debugfs
   - Remove __exit markups; menelaus, tps65010
   - Fix platform-device name collisions; mfd-core

  New drivers/supported devices:

   - Add support for wm8280/wm8281 into arizona
   - Add support for COMe-cBL6 into kempld-core
   - Add support for rts524a and rts525a into rts5249
   - Add support for ipq8064 into qcom_rpm
   - Add support for extcon into axp20x
   - New MediaTek MT6397 PMIC driver
   - New Maxim MAX77843 PMIC dirver
   - New Intel Quark X1000 I2C-GPIO driver
   - New Skyworks SKY81452 driver"

* tag 'mfd-for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (76 commits)
  mfd: sec: Fix RTC alarm interrupt number on S2MPS11
  mfd: wm5102: Remove registers for output 3R from readable list
  mfd: tps65010: Remove incorrect __exit markups
  mfd: devicetree: bindings: Add Qualcomm RPM regulator subnodes
  mfd: axp20x: Add support for extcon cell
  mfd: lpc_ich: Sort IDs
  mfd: twl6040: Remove wrong and unneeded "platform:twl6040" modalias
  mfd: qcom-spmi-pmic: Add specific compatible strings for Qualcomm's SPMI PMIC's
  mfd: axp20x: Fix duplicate const for model names
  mfd: menelaus: Use macro for magic number
  mfd: menelaus: Drop support for SW controller VCORE
  mfd: menelaus: Delete omap_has_menelaus
  mfd: arizona: Correct type of gpio_defaults
  mfd: lpc_ich: Sort IDs
  mfd: Fix a typo in Kconfig
  mfd: qcom_rpm: Add support for IPQ8064
  mfd: devicetree: qcom_rpm: Document IPQ8064 resources
  mfd: core: Fix platform-device name collisions
  mfd: intel_quark_i2c_gpio: Don't crash if !DMI
  dt-bindings: Add vendor-prefix for X-Powers
  ...
parents 1dcf58d6 e554a99e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ ricoh,rv5c386 I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
ricoh,rv5c387a		I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
samsung,24ad0xd1	S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power)
sii,s35390a		2-wire CMOS real-time clock
skyworks,sky81452	Skyworks SKY81452: Six-Channel White LED Driver with Touch Panel Bias Supply
st-micro,24c256		i2c serial eeprom  (24cxx)
stm,m41t00		Serial Access TIMEKEEPER
stm,m41t62		Serial real-time clock (RTC) with alarm
+27 −14
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@ Required properties:
  - compatible : One of the following chip-specific strings:
        "wlf,wm5102"
        "wlf,wm5110"
        "wlf,wm8280"
        "wlf,wm8997"
  - reg : I2C slave address when connected using I2C, chip select number when
    using SPI.
@@ -26,21 +27,27 @@ 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).

  - 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
  - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
    as covered in Documentation/devicetree/bindings/regulator/regulator.txt

  - DBVDD2-supply, DBVDD3-supply : Additional databus power supplies (wm5102,
    wm5110, wm8280)

  - SPKVDDL-supply, SPKVDDR-supply : Speaker driver power supplies (wm5102,
    wm5110, wm8280)

  - SPKVDD-supply : Speaker driver power supply (wm8997)

Optional properties:

  - wlf,reset : GPIO specifier for the GPIO controlling /RESET
  - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA

  - wlf,gpio-defaults : A list of GPIO configuration register values. If
    absent, no configuration of these registers is performed. If any
    entry has a value that is out of range for a 16 bit register then
    the chip default will be used.  If present exactly five values must
    be specified.
  - wlf,gpio-defaults : A list of GPIO configuration register values. Defines
    for the appropriate values can found in <dt-bindings/mfd/arizona.txt>. If
    absent, no configuration of these registers is performed. If any entry has
    a value that is out of range for a 16 bit register then the chip default
    will be used. If present exactly five values must be specified.

  - wlf,inmode : A list of INn_MODE register values, where n is the number
    of input signals. Valid values are 0 (Differential), 1 (Single-ended) and
@@ -49,6 +56,12 @@ Optional properties:
    input singals. If values less than the number of input signals, elements
    that has not been specifed are set to 0 by default.

  - wlf,dmic-ref : DMIC reference voltage source for each input, can be
    selected from either MICVDD or one of the MICBIAS's, defines
    (ARIZONA_DMIC_xxxx) are provided in <dt-bindings/mfd/arizona.txt>. If
    present, the number of values should be less than or equal to the
    number of inputs, unspecified inputs will use the chip default.

  - DCVDD-supply, MICVDD-supply : Power supplies, only need to be specified if
    they are being externally supplied. As covered in
    Documentation/devicetree/bindings/regulator/regulator.txt
@@ -73,10 +86,10 @@ codec: wm5102@1a {
	#gpio-cells = <2>;

	wlf,gpio-defaults = <
		0x00000000 /* AIF1TXLRCLK */
		0xffffffff
		0xffffffff
		0xffffffff
		0xffffffff
		ARIZONA_GP_FN_TXLRCLK
		ARIZONA_GP_DEFAULT
		ARIZONA_GP_DEFAULT
		ARIZONA_GP_DEFAULT
		ARIZONA_GP_DEFAULT
	>;
};
+96 −0
Original line number Diff line number Diff line
AXP202/AXP209 device tree bindings

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

Required properties:
- compatible: "x-powers,axp202" or "x-powers,axp209"
- 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
- interrupt-controller: axp20x has its own internal IRQs
- #interrupt-cells: Should be set to 1

Optional properties:
- x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz
		      (range: 750-1875). Default: 1.5MHz
- <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.

- regulators: A node that houses a sub-node for each regulator. Regulators
	      not used but preferred to be managed by the OS should be
	      listed as well.
	      See Documentation/devicetree/bindings/regulator/regulator.txt
	      for more information on standard regulator bindings.

Optional properties for DCDC regulators:
- x-powers,dcdc-workmode: 1 for PWM mode, 0 for AUTO (PWM/PFM) mode
			  Default: Current hardware setting
			  The DCDC regulators work in a mixed PWM/PFM mode,
			  using PFM under light loads and switching to PWM
			  for heavier loads. Forcing PWM mode trades efficiency
			  under light loads for lower output noise. This
			  probably makes sense for HiFi audio related
			  applications that aren't battery constrained.


AXP202/AXP209 regulators, type, and corresponding input supply names:

Regulator	  Type		  Supply Name		  Notes
---------	  ----		  -----------		  -----
DCDC2		: DC-DC buck	: vin2-supply
DCDC3		: DC-DC	buck	: vin3-supply
LDO1		: LDO		: acin-supply		: always on
LDO2		: LDO		: ldo24in-supply	: shared supply
LDO3		: LDO		: ldo3in-supply
LDO4		: LDO		: ldo24in-supply	: shared supply
LDO5		: LDO		: ldo5in-supply

Example:

axp209: pmic@34 {
	compatible = "x-powers,axp209";
	reg = <0x34>;
	interrupt-parent = <&nmi_intc>;
	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
	interrupt-controller;
	#interrupt-cells = <1>;

	regulators {
		x-powers,dcdc-freq = <1500>;

		vdd_cpu: dcdc2 {
			regulator-always-on;
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1450000>;
			regulator-name = "vdd-cpu";
		};

		vdd_int_dll: dcdc3 {
			regulator-always-on;
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1400000>;
			regulator-name = "vdd-int-dll";
		};

		vdd_rtc: ldo1 {
			regulator-always-on;
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1400000>;
			regulator-name = "vdd-rtc";
		};

		avcc: ldo2 {
			regulator-always-on;
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <3300000>;
			regulator-name = "avcc";
		};

		ldo3 {
			/* unused but preferred to be managed by OS */
		};
	};
};
+43 −0
Original line number Diff line number Diff line
Dialog Semiconductor DA9150 Combined Charger/Fuel-Gauge MFD bindings

DA9150 consists of a group of sub-devices:

Device			 Description
------			 -----------
da9150-gpadc		: General Purpose ADC
da9150-charger		: Battery Charger

======

Required properties:
- compatible : Should be "dlg,da9150"
- reg: Specifies the I2C slave address
- interrupt-parent: Specifies the phandle of the interrupt controller to which
  the IRQs from da9150 are delivered to.
- interrupts: IRQ line info for da9150 chip.
- interrupt-controller: da9150 has internal IRQs (own IRQ domain).
  (See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
   further information relating to interrupt properties)

Sub-devices:
- da9150-gpadc: See Documentation/devicetree/bindings/iio/adc/da9150-gpadc.txt
- da9150-charger: See Documentation/devicetree/bindings/power/da9150-charger.txt


Example:

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

		gpadc: da9150-gpadc {
			...
		};

		da9150-charger {
			...
		};
	};
+70 −0
Original line number Diff line number Diff line
MediaTek MT6397 Multifunction Device Driver

MT6397 is a multifunction device with the following sub modules:
- Regulator
- RTC
- Audio codec
- GPIO
- Clock

It is interfaced to host controller using SPI interface by a proprietary hardware
called PMIC wrapper or pwrap. MT6397 MFD is a child device of pwrap.
See the following for pwarp node definitions:
Documentation/devicetree/bindings/soc/pwrap.txt

This document describes the binding for MFD device and its sub module.

Required properties:
compatible: "mediatek,mt6397"

Optional subnodes:

- rtc
	Required properties:
		- compatible: "mediatek,mt6397-rtc"
- regulators
	Required properties:
		- compatible: "mediatek,mt6397-regulator"
	see Documentation/devicetree/bindings/regulator/mt6397-regulator.txt
- codec
	Required properties:
		- compatible: "mediatek,mt6397-codec"
- clk
	Required properties:
		- compatible: "mediatek,mt6397-clk"

Example:
	pwrap: pwrap@1000f000 {
		compatible = "mediatek,mt8135-pwrap";

		...

		pmic {
			compatible = "mediatek,mt6397";

			codec: mt6397codec {
				compatible = "mediatek,mt6397-codec";
			};

			regulators {
				compatible = "mediatek,mt6397-regulator";

				mt6397_vpca15_reg: buck_vpca15 {
					regulator-compatible = "buck_vpca15";
					regulator-name = "vpca15";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1400000>;
					regulator-ramp-delay = <12500>;
					regulator-always-on;
				};

				mt6397_vgp4_reg: ldo_vgp4 {
					regulator-compatible = "ldo_vgp4";
					regulator-name = "vgp4";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <3300000>;
					regulator-enable-ramp-delay = <218>;
				};
			};
		};
	};
Loading