Skip to content

Commit d26f552

Browse files
committed
Merge tag 'mfd-next-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd
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 ...
2 parents e897f26 + ab6241a commit d26f552

80 files changed

Lines changed: 5573 additions & 2566 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Motorola CPCAP on key
2+
3+
This module is part of the CPCAP. For more details about the whole
4+
chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt.
5+
6+
This module provides a simple power button event via an Interrupt.
7+
8+
Required properties:
9+
- compatible: should be one of the following
10+
- "motorola,cpcap-pwrbutton"
11+
- interrupts: irq specifier for CPCAP's ON IRQ
12+
13+
Example:
14+
15+
&cpcap {
16+
cpcap_pwrbutton: pwrbutton {
17+
compatible = "motorola,cpcap-pwrbutton";
18+
interrupts = <23 IRQ_TYPE_NONE>;
19+
};
20+
};

Documentation/devicetree/bindings/mfd/altera-a10sr.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ The A10SR consists of these sub-devices:
1818
Device Description
1919
------ ----------
2020
a10sr_gpio GPIO Controller
21+
a10sr_rst Reset Controller
2122

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

31+
Arria10 Peripheral PHY Reset
32+
Required Properties:
33+
- compatible : Should be "altr,a10sr-reset"
34+
- #reset-cells : Should be one.
35+
3036
Example:
3137

3238
resource-manager@0 {
@@ -43,4 +49,9 @@ Example:
4349
gpio-controller;
4450
#gpio-cells = <2>;
4551
};
52+
53+
a10sr_rst: reset-controller {
54+
compatible = "altr,a10sr-reset";
55+
#reset-cells = <1>;
56+
};
4657
};

Documentation/devicetree/bindings/mfd/axp20x.txt

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,19 @@ axp202 (X-Powers)
66
axp209 (X-Powers)
77
axp221 (X-Powers)
88
axp223 (X-Powers)
9+
axp803 (X-Powers)
910
axp809 (X-Powers)
1011

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

38+
- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is
39+
wired for master mode. The default is slave mode.
40+
3141
- <input>-supply: a phandle to the regulator supply node. May be omitted if
3242
inputs are unregulated, such as using the IPSOUT output
3343
from the PMIC.
@@ -86,6 +96,33 @@ LDO_IO1 : LDO : ips-supply : GPIO 1
8696
RTC_LDO : LDO : ips-supply : always on
8797
DRIVEVBUS : Enable output : drivevbus-supply : external regulator
8898

99+
AXP803 regulators, type, and corresponding input supply names:
100+
101+
Regulator Type Supply Name Notes
102+
--------- ---- ----------- -----
103+
DCDC1 : DC-DC buck : vin1-supply
104+
DCDC2 : DC-DC buck : vin2-supply : poly-phase capable
105+
DCDC3 : DC-DC buck : vin3-supply : poly-phase capable
106+
DCDC4 : DC-DC buck : vin4-supply
107+
DCDC5 : DC-DC buck : vin5-supply : poly-phase capable
108+
DCDC6 : DC-DC buck : vin6-supply : poly-phase capable
109+
DC1SW : On/Off Switch : : DCDC1 secondary output
110+
ALDO1 : LDO : aldoin-supply : shared supply
111+
ALDO2 : LDO : aldoin-supply : shared supply
112+
ALDO3 : LDO : aldoin-supply : shared supply
113+
DLDO1 : LDO : dldoin-supply : shared supply
114+
DLDO2 : LDO : dldoin-supply : shared supply
115+
DLDO3 : LDO : dldoin-supply : shared supply
116+
DLDO4 : LDO : dldoin-supply : shared supply
117+
ELDO1 : LDO : eldoin-supply : shared supply
118+
ELDO2 : LDO : eldoin-supply : shared supply
119+
ELDO3 : LDO : eldoin-supply : shared supply
120+
FLDO1 : LDO : fldoin-supply : shared supply
121+
FLDO2 : LDO : fldoin-supply : shared supply
122+
LDO_IO0 : LDO : ips-supply : GPIO 0
123+
LDO_IO1 : LDO : ips-supply : GPIO 1
124+
RTC_LDO : LDO : ips-supply : always on
125+
89126
AXP806 regulators, type, and corresponding input supply names:
90127

91128
Regulator Type Supply Name Notes

Documentation/devicetree/bindings/mfd/da9062.txt

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,39 @@
11
* Dialog DA9062 Power Management Integrated Circuit (PMIC)
22

3-
DA9062 consists of a large and varied group of sub-devices:
3+
Product information for the DA9062 and DA9061 devices can be found here:
4+
- http://www.dialog-semiconductor.com/products/da9062
5+
- http://www.dialog-semiconductor.com/products/da9061
6+
7+
The DA9062 PMIC consists of:
48

59
Device Supply Names Description
610
------ ------------ -----------
711
da9062-regulator : : LDOs & BUCKs
812
da9062-rtc : : Real-Time Clock
13+
da9062-onkey : : On Key
14+
da9062-watchdog : : Watchdog Timer
15+
da9062-thermal : : Thermal
16+
17+
The DA9061 PMIC consists of:
18+
19+
Device Supply Names Description
20+
------ ------------ -----------
21+
da9062-regulator : : LDOs & BUCKs
22+
da9062-onkey : : On Key
923
da9062-watchdog : : Watchdog Timer
24+
da9062-thermal : : Thermal
1025

1126
======
1227

1328
Required properties:
1429

15-
- compatible : Should be "dlg,da9062".
30+
- compatible : Should be
31+
"dlg,da9062" for DA9062
32+
"dlg,da9061" for DA9061
1633
- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
1734
modified to match the chip's OTP settings).
1835
- interrupt-parent : Specifies the reference to the interrupt controller for
19-
the DA9062.
36+
the DA9062 or DA9061.
2037
- interrupts : IRQ line information.
2138
- interrupt-controller
2239

@@ -25,8 +42,8 @@ further information on IRQ bindings.
2542

2643
Sub-nodes:
2744

28-
- regulators : This node defines the settings for the LDOs and BUCKs. The
29-
DA9062 regulators are bound using their names listed below:
45+
- regulators : This node defines the settings for the LDOs and BUCKs.
46+
The DA9062 regulators are bound using their names listed below:
3047

3148
buck1 : BUCK_1
3249
buck2 : BUCK_2
@@ -37,19 +54,29 @@ Sub-nodes:
3754
ldo3 : LDO_3
3855
ldo4 : LDO_4
3956

57+
The DA9061 regulators are bound using their names listed below:
58+
59+
buck1 : BUCK_1
60+
buck2 : BUCK_2
61+
buck3 : BUCK_3
62+
ldo1 : LDO_1
63+
ldo2 : LDO_2
64+
ldo3 : LDO_3
65+
ldo4 : LDO_4
66+
4067
The component follows the standard regulator framework and the bindings
4168
details of individual regulator device can be found in:
4269
Documentation/devicetree/bindings/regulator/regulator.txt
4370

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

49-
- watchdog: This node defines the settings for the watchdog driver associated
50-
with the DA9062 PMIC. The compatible = "dlg,da9062-watchdog" should be added
51-
if a node is created.
75+
- onkey : See ../input/da9062-onkey.txt
76+
77+
- watchdog: See ../watchdog/da9062-watchdog.txt
5278

79+
- thermal : See ../thermal/da9062-thermal.txt
5380

5481
Example:
5582

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

67-
watchdog {
68-
compatible = "dlg,da9062-watchdog";
69-
};
70-
7194
regulators {
7295
DA9062_BUCK1: buck1 {
7396
regulator-name = "BUCK1";

Documentation/devicetree/bindings/mfd/mt6397.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ MT6397/MT6323 is a multifunction device with the following sub modules:
66
- Audio codec
77
- GPIO
88
- Clock
9+
- LED
910

1011
It is interfaced to host controller using SPI interface by a proprietary hardware
1112
called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
File renamed without changes.

Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ Required properties:
55
- compatible : "samsung,exynos5433-lpass"
66
- reg : should contain the LPASS top SFR region location
77
and size
8-
- samsung,pmu-syscon : the phandle to the Power Management Unit node
8+
- clock-names : should contain following required clocks: "sfr0_ctrl"
9+
- clocks : should contain clock specifiers of all clocks, which
10+
input names have been specified in clock-names
11+
property, in same order.
912
- #address-cells : should be 1
1013
- #size-cells : should be 1
1114
- ranges : must be present
@@ -25,7 +28,8 @@ Example:
2528
audio-subsystem {
2629
compatible = "samsung,exynos5433-lpass";
2730
reg = <0x11400000 0x100>, <0x11500000 0x08>;
28-
samsung,pmu-syscon = <&pmu_system_controller>;
31+
clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>;
32+
clock-names = "sfr0_ctrl";
2933
#address-cells = <1>;
3034
#size-cells = <1>;
3135
ranges;

Documentation/devicetree/bindings/input/touchscreen/sun4i.txt renamed to Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
Allwinner SoCs' GPADC Device Tree bindings
2+
------------------------------------------
3+
The Allwinner SoCs all have an ADC that can also act as a thermal sensor
4+
and sometimes as a touchscreen controller.
5+
6+
Required properties:
7+
- compatible: "allwinner,sun8i-a33-ths",
8+
- reg: mmio address range of the chip,
9+
- #thermal-sensor-cells: shall be 0,
10+
- #io-channel-cells: shall be 0,
11+
12+
Example:
13+
ths: ths@01c25000 {
14+
compatible = "allwinner,sun8i-a33-ths";
15+
reg = <0x01c25000 0x100>;
16+
#thermal-sensor-cells = <0>;
17+
#io-channel-cells = <0>;
18+
};
19+
20+
sun4i, sun5i and sun6i SoCs are also supported via the older binding:
21+
122
sun4i resistive touchscreen controller
223
--------------------------------------
324

0 commit comments

Comments
 (0)