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

Commit 12e7b0a6 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Drivers:
   - Freescale Touch Screen ADC
   - X-Powers AXP PMIC with RSB
   - TI TPS65086 Power Management IC (PMIC)

  New Device Support:
   - Supply device PCI IDs for Intel Broxton

  Fix-ups:
   - Move to clkdev_create() API; intel_quark_i2c_gpio
   - Complete re-write of TI's TPS65912 Power Management IC (PMIC)
   - Remove unnecessary function argument; axp20x
   - Separate out bus related code; axp20x
   - Coding Style changes; axp20x
   - Allow more drivers to be compiled as modules
   - Work around false positive 'used uninitialised' warning; db8500-prcmu

  Bug Fixes:
   - Remove do_div(); fsl-imx25-gcq
   - Fix driver init when built-in; tps65010
   - Fix clock-unregister leak; intel-lpss"

* tag 'mfd-for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (53 commits)
  mfd: intel-lpss: Pass I2C configuration via properties on BXT
  mfd: imx6sx: Add PCIe register definitions for iomuxc gpr
  mfd: ipaq-micro: Use __maybe_unused to hide pm functions
  mfd: max77686: Add max77802 to I2C device ID table
  mfd: max77686: Export OF module alias information
  mfd: max77686: Allow driver to be built as a module
  mfd: stmpe: Add the proper PWM resources
  mfd: tps65090: Set regmap config reg counts properly
  mfd: syscon: Return ENOTSUPP instead of ENOSYS when disabled
  mfd: as3711: Set regmap config reg counts properly
  mfd: rc5t583: Set regmap config reg counts properly
  gpio: tps65086: Add GPO driver for the TPS65086 PMIC
  mfd: mt6397: Add platform device ID table
  mfd: da9063: Fix missing volatile registers in the core regmap_range volatile lists
  mfd: mt6397: Add MT6323 support to MT6397 driver
  mfd: mt6397: Add support for different Slave types
  mfd: mt6397: int_con and int_status may vary in location
  dt-bindings: mfd: Add bindings for the MediaTek MT6323 PMIC
  mfd: da9062: Fix missing volatile registers in the core regmap_range volatile lists
  mfd: Add documentation for ACT8945A DT bindings
  ...
parents 021f163d 0343b2f4
Loading
Loading
Loading
Loading
+58 −0
Original line number Diff line number Diff line
Freescale i.MX25 ADC GCQ device

This is a generic conversion queue device that can convert any of the
analog inputs using the ADC unit of the i.MX25.

Required properties:
 - compatible: Should be "fsl,imx25-gcq".
 - reg: Should be the register range of the module.
 - interrupts: Should be the interrupt number of the module.
   Typically this is <1>.
 - interrupt-parent: phandle to the tsadc module of the i.MX25.
 - #address-cells: Should be <1> (setting for the subnodes)
 - #size-cells: Should be <0> (setting for the subnodes)

Optional properties:
 - vref-ext-supply: The regulator supplying the ADC reference voltage.
   Required when at least one subnode uses the this reference.
 - vref-xp-supply: The regulator supplying the ADC reference voltage on pin XP.
   Required when at least one subnode uses this reference.
 - vref-yp-supply: The regulator supplying the ADC reference voltage on pin YP.
   Required when at least one subnode uses this reference.

Sub-nodes:
Optionally you can define subnodes which define the reference voltage
for the analog inputs.

Required properties for subnodes:
 - reg: Should be the number of the analog input.
     0: xp
     1: yp
     2: xn
     3: yn
     4: wiper
     5: inaux0
     6: inaux1
     7: inaux2
Optional properties for subnodes:
 - fsl,adc-refp: specifies the positive reference input as defined in
     <dt-bindings/iio/adc/fsl-imx25-gcq.h>
 - fsl,adc-refn: specifies the negative reference input as defined in
     <dt-bindings/iio/adc/fsl-imx25-gcq.h>

Example:

	adc: adc@50030800 {
		compatible = "fsl,imx25-gcq";
		reg = <0x50030800 0x60>;
		interrupt-parent = <&tscadc>;
		interrupts = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		inaux@5 {
			reg = <5>;
			fsl,adc-refp = <MX25_ADC_REFP_INT>;
			fsl,adc-refn = <MX25_ADC_REFN_NGND>;
		};
	};
+35 −0
Original line number Diff line number Diff line
Freescale mx25 TS conversion queue module

mx25 touchscreen conversion queue module which controls the ADC unit of the
mx25 for attached touchscreens.

Required properties:
 - compatible: Should be "fsl,imx25-tcq".
 - reg: Memory range of the device.
 - interrupts: Should be the interrupt number associated with this module within
   the tscadc unit (<0>).
 - interrupt-parent: Should be a phandle to the tscadc unit.
 - fsl,wires: Should be '<4>' or '<5>'

Optional properties:
 - fsl,pen-debounce-ns: Pen debounce time in nanoseconds.
 - fsl,pen-threshold: Pen-down threshold for the touchscreen. This is a value
   between 1 and 4096. It is the ratio between the internal reference voltage
   and the measured voltage after the plate was precharged. Resistence between
   plates and therefore the voltage decreases with pressure so that a smaller
   value is equivalent to a higher pressure.
 - fsl,settling-time-ns: Settling time in nanoseconds. The settling time is before
   the actual touch detection to wait for an even charge distribution in the
   plate.

This device includes two conversion queues which can be added as subnodes.
The first queue is for the touchscreen, the second for general purpose ADC.

Example:
	tsc: tcq@50030400 {
		compatible = "fsl,imx25-tcq";
		reg = <0x50030400 0x60>;
		interrupt-parent = <&tscadc>;
		interrupts = <0>;
		fsl,wires = <4>;
	};
+76 −0
Original line number Diff line number Diff line
Device-Tree bindings for Active-semi ACT8945A MFD driver

Required properties:
 - compatible: "active-semi,act8945a".
 - reg: the I2C slave address for the ACT8945A chip

The chip exposes two subdevices:
 - a regulators: see ../regulator/act8945a-regulator.txt
 - a charger: see ../power/act8945a-charger.txt

Example:
	pmic@5b {
		compatible = "active-semi,act8945a";
		reg = <0x5b>;
		status = "okay";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_charger_chglev>;
		active-semi,chglev-gpio = <&pioA 12 GPIO_ACTIVE_HIGH>;
		active-semi,input-voltage-threshold-microvolt = <6600>;
		active-semi,precondition-timeout = <40>;
		active-semi,total-timeout = <3>;

		active-semi,vsel-high;

		regulators {
			vdd_1v35_reg: REG_DCDC1 {
				regulator-name = "VDD_1V35";
				regulator-min-microvolt = <1350000>;
				regulator-max-microvolt = <1350000>;
				regulator-always-on;
			};

			vdd_1v2_reg: REG_DCDC2 {
				regulator-name = "VDD_1V2";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
			};

			vdd_3v3_reg: REG_DCDC3 {
				regulator-name = "VDD_3V3";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_fuse_reg: REG_LDO1 {
				regulator-name = "VDD_FUSE";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};

			vdd_3v3_lp_reg: REG_LDO2 {
				regulator-name = "VDD_3V3_LP";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_led_reg: REG_LDO3 {
				regulator-name = "VDD_LED";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vdd_sdhc_1v8_reg: REG_LDO4 {
				regulator-name = "VDD_SDHC_1V8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};
		};
	};
+4 −3
Original line number Diff line number Diff line
@@ -5,11 +5,12 @@ axp152 (X-Powers)
axp202 (X-Powers)
axp209 (X-Powers)
axp221 (X-Powers)
axp223 (X-Powers)

Required properties:
- compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209",
	      "x-powers,axp221"
- reg: The I2C slave address for the AXP chip
	      "x-powers,axp221", "x-powers,axp223"
- 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
- interrupt-controller: The PMIC has its own internal IRQs
@@ -51,7 +52,7 @@ LDO3 : LDO : ldo3in-supply
LDO4		: LDO		: ldo24in-supply	: shared supply
LDO5		: LDO		: ldo5in-supply

AXP221 regulators, type, and corresponding input supply names:
AXP221/AXP223 regulators, type, and corresponding input supply names:

Regulator	  Type		  Supply Name		  Notes
---------	  ----		  -----------		  -----
+47 −0
Original line number Diff line number Diff line
Freescale MX25 ADC/TSC MultiFunction Device (MFD)

This device combines two general purpose conversion queues one used for general
ADC and the other used for touchscreens.

Required properties:
 - compatible:			Should be "fsl,imx25-tsadc".
 - reg:				Start address and size of the memory area of
 					the device
 - interrupts:			Interrupt for this device
					(See: ../interrupt-controller/interrupts.txt)
 - clocks:			An 'ipg' clock (See: ../clock/clock-bindings.txt)
 - interrupt-controller:	This device is an interrupt controller. It
   					controls the interrupts of both
					conversion queues.
 - #interrupt-cells:		Should be '<1>'.
 - #address-cells:		Should be '<1>'.
 - #size-cells:			Should be '<1>'.

This device includes two conversion queues which can be added as subnodes.
The first queue is for the touchscreen, the second for general purpose ADC.

Example:
	tscadc: tscadc@50030000 {
		compatible = "fsl,imx25-tsadc";
		reg = <0x50030000 0xc>;
		interrupts = <46>;
		clocks = <&clks 119>;
		clock-names = "ipg";
		interrupt-controller;
		#interrupt-cells = <1>;
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		tsc: tcq@50030400 {
			compatible = "fsl,imx25-tcq";
			reg = <0x50030400 0x60>;
			...
		};

		adc: gcq@50030800 {
			compatible = "fsl,imx25-gcq";
			reg = <0x50030800 0x60>;
			...
		};
	};
Loading