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

Commit 6972b007 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge (most of) tag 'mfd-next-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull MFD updates from Lee Jones:
 "New Drivers:
   - Intel Cherry Trail Whiskey Cove PMIC
   - TI LP87565 PMIC

  New Device Support:
   - Add support for Cannonlake to intel-lpss-pci
   - Add support for Simatic IOT2000 to intel_quark_i2c_gpio

  New Functionality:
   - Add Regulator support (axp20x)

  Fix-ups:
   - Rework IRQ handling (intel_soc_pmic_bxtwc, rtsx_pcr, cros_ec)
   - Remove unused/unwelcome code (ipaq-micro, wm831x-core, da9062-core)
   - Provide deregistration on unbind (rn5t618)
   - Rework DT code/documentation (arizona)
   - Constify things (fsl-imx25-tsadc)
   - MAINTAINERS updates (DA9062/61)
   - Kconfig configuration adaptions (INTEL_SOC_PMIC, MFD_AXP20X_I2C)
   - Switch to DMI matching (intel_quark_i2c_gpio)
   - Provide an appropriate level of error checking (wm831x-{i2c,spi},
     twl4030-irq, tc6393xb)
   - Make use of devm_* (resource handling) calls (intel_soc_pmic_bxtwc,
     stm32-timers, atmel-flexcom, cros_ec, fsl-imx25-tsadc,
     exynos-lpass, palmas, qcom-spmi-pmic, smsc-ece1099,
     motorola-cpcap)"

[ Skipped the last commit in that series that added eight thousand
  lines of pointless repeated register definitions.  - Linus ]

* tag 'mfd-next-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (38 commits)
  mfd: Add LP87565 PMIC support
  mfd: cros_ec: Free IRQ on exit
  dt-bindings: vendor-prefixes: Add arctic to vendor prefix
  mfd: da9061: Fix to remove BBAT_CONT register from chip model
  mfd: da9061: Fix to remove BBAT_CONT register from chip model
  mfd: axp20x-i2c: Document that this must be builtin on x86
  mfd: Add Cherry Trail Whiskey Cove PMIC driver
  mfd: tc6393xb: Handle return value of clk_prepare_enable
  mfd: intel_quark_i2c_gpio: Add support for SIMATIC IOT2000 platform
  mfd: intel_quark_i2c_gpio: Use dmi_system_id table for retrieving frequency
  mfd: motorola-cpcap: Use devm_of_platform_populate()
  mfd: smsc-ece: Use devm_of_platform_populate()
  mfd: qcom-spmi-pmic: Use devm_of_platform_populate()
  mfd: palmas: Use devm_of_platform_populate()
  mfd: exynos: Use devm_of_platform_populate()
  mfd: fsl-imx25: Use devm_of_platform_populate()
  mfd: cros_ec: Use devm_of_platform_populate()
  mfd: atmel: Use devm_of_platform_populate()
  mfd: stm32-timers: Use devm_of_platform_populate()
  mfd: intel_soc_pmic: Select designware i2c-bus driver
  ...
parents c7d28eca 1e349600
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -30,7 +30,8 @@ Required properties:

  - gpio-controller : Indicates this device is a GPIO controller.
  - #gpio-cells : Must be 2. The first cell is the pin number and the
    second cell is used to specify optional parameters (currently unused).
    second cell is used to specify optional parameters, see ../gpio/gpio.txt
    for details.

  - AVDD-supply, DBVDD1-supply, CPVDD-supply : Power supplies for the device,
    as covered in Documentation/devicetree/bindings/regulator/regulator.txt
+43 −0
Original line number Diff line number Diff line
TI LP87565 PMIC MFD driver

Required properties:
  - compatible:	"ti,lp87565", "ti,lp87565-q1"
  - reg:		I2C slave address.
  - gpio-controller:	Marks the device node as a GPIO Controller.
  - #gpio-cells:	Should be two.  The first cell is the pin number and
			the second cell is used to specify flags.
			See ../gpio/gpio.txt for more information.
  - xxx-in-supply:	Phandle to parent supply node of each regulator
			populated under regulators node. xxx should match
			the supply_name populated in driver.
Example:

lp87565_pmic: pmic@60 {
	compatible = "ti,lp87565-q1";
	reg = <0x60>;
	gpio-controller;
	#gpio-cells = <2>;

	buck10-in-supply = <&vsys_3v3>;
	buck23-in-supply = <&vsys_3v3>;

	regulators: regulators {
		buck10_reg: buck10 {
			/* VDD_MPU */
			regulator-name = "buck10";
			regulator-min-microvolt = <850000>;
			regulator-max-microvolt = <1250000>;
			regulator-always-on;
			regulator-boot-on;
		};

		buck23_reg: buck23 {
			/* VDD_GPU */
			regulator-name = "buck23";
			regulator-min-microvolt = <850000>;
			regulator-max-microvolt = <1250000>;
			regulator-boot-on;
			regulator-always-on;
		};
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ andestech Andes Technology Corporation
apm	Applied Micro Circuits Corporation (APM)
aptina	Aptina Imaging
arasan	Arasan Chip Systems
arctic	Arctic Sand
aries	Aries Embedded GmbH
arm	ARM Ltd.
armadeus	ARMadeus Systems SARL
+4 −0
Original line number Diff line number Diff line
@@ -4048,7 +4048,10 @@ W: http://www.dialog-semiconductor.com/products
S:	Supported
F:	Documentation/hwmon/da90??
F:	Documentation/devicetree/bindings/mfd/da90*.txt
F:	Documentation/devicetree/bindings/input/da90??-onkey.txt
F:	Documentation/devicetree/bindings/thermal/da90??-thermal.txt
F:	Documentation/devicetree/bindings/regulator/da92*.txt
F:	Documentation/devicetree/bindings/watchdog/da92??-wdt.txt
F:	Documentation/devicetree/bindings/sound/da[79]*.txt
F:	drivers/gpio/gpio-da90??.c
F:	drivers/hwmon/da90??-hwmon.c
@@ -4063,6 +4066,7 @@ F: drivers/power/supply/da9052-battery.c
F:	drivers/power/supply/da91??-*.c
F:	drivers/regulator/da903x.c
F:	drivers/regulator/da9???-regulator.[ch]
F:	drivers/thermal/da90??-thermal.c
F:	drivers/rtc/rtc-da90??.c
F:	drivers/video/backlight/da90??_bl.c
F:	drivers/watchdog/da90??_wdt.c
+13 −1
Original line number Diff line number Diff line
@@ -428,7 +428,7 @@ static int wcove_gpio_probe(struct platform_device *pdev)
	if (!wg)
		return -ENOMEM;

	wg->regmap_irq_chip = pmic->irq_chip_data_level2;
	wg->regmap_irq_chip = pmic->irq_chip_data;

	platform_set_drvdata(pdev, wg);

@@ -476,6 +476,18 @@ static int wcove_gpio_probe(struct platform_device *pdev)

	gpiochip_set_nested_irqchip(&wg->chip, &wcove_irqchip, virq);

	/* Enable GPIO0 interrupts */
	ret = regmap_update_bits(wg->regmap, IRQ_MASK_BASE, GPIO_IRQ0_MASK,
				 0x00);
	if (ret)
		return ret;

	/* Enable GPIO1 interrupts */
	ret = regmap_update_bits(wg->regmap, IRQ_MASK_BASE + 1, GPIO_IRQ1_MASK,
				 0x00);
	if (ret)
		return ret;

	return 0;
}

Loading