aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-05-03 15:16:25 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-05-03 15:16:25 -0400
commitd26f552ebbfb0f2c7fe712f457a038d60ed73daa (patch)
tree8d13c7344cabc99e738e0db7262b713708026fa0 /Documentation
parente897f267c51812bfecec45771a2d835c1a2bdacf (diff)
parentab6241ae07c3c698543b565e4ea41995a29a3f62 (diff)
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 ...
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt20
-rw-r--r--Documentation/devicetree/bindings/mfd/altera-a10sr.txt11
-rw-r--r--Documentation/devicetree/bindings/mfd/axp20x.txt43
-rw-r--r--Documentation/devicetree/bindings/mfd/da9062.txt49
-rw-r--r--Documentation/devicetree/bindings/mfd/mt6397.txt1
-rw-r--r--Documentation/devicetree/bindings/mfd/mxs-lradc.txt (renamed from Documentation/devicetree/bindings/iio/adc/mxs-lradc.txt)0
-rw-r--r--Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt8
-rw-r--r--Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt (renamed from Documentation/devicetree/bindings/input/touchscreen/sun4i.txt)21
-rw-r--r--Documentation/devicetree/bindings/mfd/ti-lmu.txt243
-rw-r--r--Documentation/devicetree/bindings/mfd/wm831x.txt81
10 files changed, 459 insertions, 18 deletions
diff --git a/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt b/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
new file mode 100644
index 000000000000..0dd0076daf71
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
@@ -0,0 +1,20 @@
1Motorola CPCAP on key
2
3This module is part of the CPCAP. For more details about the whole
4chip see Documentation/devicetree/bindings/mfd/motorola-cpcap.txt.
5
6This module provides a simple power button event via an Interrupt.
7
8Required properties:
9- compatible: should be one of the following
10 - "motorola,cpcap-pwrbutton"
11- interrupts: irq specifier for CPCAP's ON IRQ
12
13Example:
14
15&cpcap {
16 cpcap_pwrbutton: pwrbutton {
17 compatible = "motorola,cpcap-pwrbutton";
18 interrupts = <23 IRQ_TYPE_NONE>;
19 };
20};
diff --git a/Documentation/devicetree/bindings/mfd/altera-a10sr.txt b/Documentation/devicetree/bindings/mfd/altera-a10sr.txt
index ea151f295ad7..c8a736554b4b 100644
--- a/Documentation/devicetree/bindings/mfd/altera-a10sr.txt
+++ b/Documentation/devicetree/bindings/mfd/altera-a10sr.txt
@@ -18,6 +18,7 @@ The A10SR consists of these sub-devices:
18Device Description 18Device Description
19------ ---------- 19------ ----------
20a10sr_gpio GPIO Controller 20a10sr_gpio GPIO Controller
21a10sr_rst Reset Controller
21 22
22Arria10 GPIO 23Arria10 GPIO
23Required Properties: 24Required Properties:
@@ -27,6 +28,11 @@ Required Properties:
27 the second cell is used to specify flags. 28 the second cell is used to specify flags.
28 See ../gpio/gpio.txt for more information. 29 See ../gpio/gpio.txt for more information.
29 30
31Arria10 Peripheral PHY Reset
32Required Properties:
33- compatible : Should be "altr,a10sr-reset"
34- #reset-cells : Should be one.
35
30Example: 36Example:
31 37
32 resource-manager@0 { 38 resource-manager@0 {
@@ -43,4 +49,9 @@ Example:
43 gpio-controller; 49 gpio-controller;
44 #gpio-cells = <2>; 50 #gpio-cells = <2>;
45 }; 51 };
52
53 a10sr_rst: reset-controller {
54 compatible = "altr,a10sr-reset";
55 #reset-cells = <1>;
56 };
46 }; 57 };
diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt
index 8f3ad9ab4637..aca09af66514 100644
--- a/Documentation/devicetree/bindings/mfd/axp20x.txt
+++ b/Documentation/devicetree/bindings/mfd/axp20x.txt
@@ -6,12 +6,19 @@ axp202 (X-Powers)
6axp209 (X-Powers) 6axp209 (X-Powers)
7axp221 (X-Powers) 7axp221 (X-Powers)
8axp223 (X-Powers) 8axp223 (X-Powers)
9axp803 (X-Powers)
9axp809 (X-Powers) 10axp809 (X-Powers)
10 11
11Required properties: 12Required properties:
12- compatible: "x-powers,axp152", "x-powers,axp202", "x-powers,axp209", 13- compatible: should be one of:
13 "x-powers,axp221", "x-powers,axp223", "x-powers,axp806", 14 * "x-powers,axp152"
14 "x-powers,axp809" 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"
15- reg: The I2C slave address or RSB hardware address for the AXP chip 22- reg: The I2C slave address or RSB hardware address for the AXP chip
16- interrupt-parent: The parent interrupt controller 23- interrupt-parent: The parent interrupt controller
17- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin 24- interrupts: SoC NMI / GPIO interrupt connected to the PMIC's IRQ pin
@@ -28,6 +35,9 @@ Optional properties:
28 regulator to drive the OTG VBus, rather then as an input pin 35 regulator to drive the OTG VBus, rather then as an input pin
29 which signals whether the board is driving OTG VBus or not. 36 which signals whether the board is driving OTG VBus or not.
30 37
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
31- <input>-supply: a phandle to the regulator supply node. May be omitted if 41- <input>-supply: a phandle to the regulator supply node. May be omitted if
32 inputs are unregulated, such as using the IPSOUT output 42 inputs are unregulated, such as using the IPSOUT output
33 from the PMIC. 43 from the PMIC.
@@ -86,6 +96,33 @@ LDO_IO1 : LDO : ips-supply : GPIO 1
86RTC_LDO : LDO : ips-supply : always on 96RTC_LDO : LDO : ips-supply : always on
87DRIVEVBUS : Enable output : drivevbus-supply : external regulator 97DRIVEVBUS : Enable output : drivevbus-supply : external regulator
88 98
99AXP803 regulators, type, and corresponding input supply names:
100
101Regulator Type Supply Name Notes
102--------- ---- ----------- -----
103DCDC1 : DC-DC buck : vin1-supply
104DCDC2 : DC-DC buck : vin2-supply : poly-phase capable
105DCDC3 : DC-DC buck : vin3-supply : poly-phase capable
106DCDC4 : DC-DC buck : vin4-supply
107DCDC5 : DC-DC buck : vin5-supply : poly-phase capable
108DCDC6 : DC-DC buck : vin6-supply : poly-phase capable
109DC1SW : On/Off Switch : : DCDC1 secondary output
110ALDO1 : LDO : aldoin-supply : shared supply
111ALDO2 : LDO : aldoin-supply : shared supply
112ALDO3 : LDO : aldoin-supply : shared supply
113DLDO1 : LDO : dldoin-supply : shared supply
114DLDO2 : LDO : dldoin-supply : shared supply
115DLDO3 : LDO : dldoin-supply : shared supply
116DLDO4 : LDO : dldoin-supply : shared supply
117ELDO1 : LDO : eldoin-supply : shared supply
118ELDO2 : LDO : eldoin-supply : shared supply
119ELDO3 : LDO : eldoin-supply : shared supply
120FLDO1 : LDO : fldoin-supply : shared supply
121FLDO2 : LDO : fldoin-supply : shared supply
122LDO_IO0 : LDO : ips-supply : GPIO 0
123LDO_IO1 : LDO : ips-supply : GPIO 1
124RTC_LDO : LDO : ips-supply : always on
125
89AXP806 regulators, type, and corresponding input supply names: 126AXP806 regulators, type, and corresponding input supply names:
90 127
91Regulator Type Supply Name Notes 128Regulator Type Supply Name Notes
diff --git a/Documentation/devicetree/bindings/mfd/da9062.txt b/Documentation/devicetree/bindings/mfd/da9062.txt
index 38802b54d48a..c0a418c27e9d 100644
--- a/Documentation/devicetree/bindings/mfd/da9062.txt
+++ b/Documentation/devicetree/bindings/mfd/da9062.txt
@@ -1,22 +1,39 @@
1* Dialog DA9062 Power Management Integrated Circuit (PMIC) 1* Dialog DA9062 Power Management Integrated Circuit (PMIC)
2 2
3DA9062 consists of a large and varied group of sub-devices: 3Product 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
7The DA9062 PMIC consists of:
4 8
5Device Supply Names Description 9Device Supply Names Description
6------ ------------ ----------- 10------ ------------ -----------
7da9062-regulator : : LDOs & BUCKs 11da9062-regulator : : LDOs & BUCKs
8da9062-rtc : : Real-Time Clock 12da9062-rtc : : Real-Time Clock
13da9062-onkey : : On Key
14da9062-watchdog : : Watchdog Timer
15da9062-thermal : : Thermal
16
17The DA9061 PMIC consists of:
18
19Device Supply Names Description
20------ ------------ -----------
21da9062-regulator : : LDOs & BUCKs
22da9062-onkey : : On Key
9da9062-watchdog : : Watchdog Timer 23da9062-watchdog : : Watchdog Timer
24da9062-thermal : : Thermal
10 25
11====== 26======
12 27
13Required properties: 28Required properties:
14 29
15- compatible : Should be "dlg,da9062". 30- compatible : Should be
31 "dlg,da9062" for DA9062
32 "dlg,da9061" for DA9061
16- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be 33- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
17 modified to match the chip's OTP settings). 34 modified to match the chip's OTP settings).
18- interrupt-parent : Specifies the reference to the interrupt controller for 35- interrupt-parent : Specifies the reference to the interrupt controller for
19 the DA9062. 36 the DA9062 or DA9061.
20- interrupts : IRQ line information. 37- interrupts : IRQ line information.
21- interrupt-controller 38- interrupt-controller
22 39
@@ -25,8 +42,8 @@ further information on IRQ bindings.
25 42
26Sub-nodes: 43Sub-nodes:
27 44
28- regulators : This node defines the settings for the LDOs and BUCKs. The 45- regulators : This node defines the settings for the LDOs and BUCKs.
29 DA9062 regulators are bound using their names listed below: 46 The DA9062 regulators are bound using their names listed below:
30 47
31 buck1 : BUCK_1 48 buck1 : BUCK_1
32 buck2 : BUCK_2 49 buck2 : BUCK_2
@@ -37,19 +54,29 @@ Sub-nodes:
37 ldo3 : LDO_3 54 ldo3 : LDO_3
38 ldo4 : LDO_4 55 ldo4 : LDO_4
39 56
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
40 The component follows the standard regulator framework and the bindings 67 The component follows the standard regulator framework and the bindings
41 details of individual regulator device can be found in: 68 details of individual regulator device can be found in:
42 Documentation/devicetree/bindings/regulator/regulator.txt 69 Documentation/devicetree/bindings/regulator/regulator.txt
43 70
44
45- rtc : This node defines settings required for the Real-Time Clock associated 71- rtc : This node defines settings required for the Real-Time Clock associated
46 with the DA9062. There are currently no entries in this binding, however 72 with the DA9062. There are currently no entries in this binding, however
47 compatible = "dlg,da9062-rtc" should be added if a node is created. 73 compatible = "dlg,da9062-rtc" should be added if a node is created.
48 74
49- watchdog: This node defines the settings for the watchdog driver associated 75- onkey : See ../input/da9062-onkey.txt
50 with the DA9062 PMIC. The compatible = "dlg,da9062-watchdog" should be added 76
51 if a node is created. 77- watchdog: See ../watchdog/da9062-watchdog.txt
52 78
79- thermal : See ../thermal/da9062-thermal.txt
53 80
54Example: 81Example:
55 82
@@ -64,10 +91,6 @@ Example:
64 compatible = "dlg,da9062-rtc"; 91 compatible = "dlg,da9062-rtc";
65 }; 92 };
66 93
67 watchdog {
68 compatible = "dlg,da9062-watchdog";
69 };
70
71 regulators { 94 regulators {
72 DA9062_BUCK1: buck1 { 95 DA9062_BUCK1: buck1 {
73 regulator-name = "BUCK1"; 96 regulator-name = "BUCK1";
diff --git a/Documentation/devicetree/bindings/mfd/mt6397.txt b/Documentation/devicetree/bindings/mfd/mt6397.txt
index c568d52af5af..522a3bbf1bac 100644
--- a/Documentation/devicetree/bindings/mfd/mt6397.txt
+++ b/Documentation/devicetree/bindings/mfd/mt6397.txt
@@ -6,6 +6,7 @@ MT6397/MT6323 is a multifunction device with the following sub modules:
6- Audio codec 6- Audio codec
7- GPIO 7- GPIO
8- Clock 8- Clock
9- LED
9 10
10It is interfaced to host controller using SPI interface by a proprietary hardware 11It is interfaced to host controller using SPI interface by a proprietary hardware
11called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap. 12called PMIC wrapper or pwrap. MT6397/MT6323 MFD is a child device of pwrap.
diff --git a/Documentation/devicetree/bindings/iio/adc/mxs-lradc.txt b/Documentation/devicetree/bindings/mfd/mxs-lradc.txt
index 555fb117d4fa..555fb117d4fa 100644
--- a/Documentation/devicetree/bindings/iio/adc/mxs-lradc.txt
+++ b/Documentation/devicetree/bindings/mfd/mxs-lradc.txt
diff --git a/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt b/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt
index c110e118b79f..df664018c148 100644
--- a/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt
+++ b/Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt
@@ -5,7 +5,10 @@ Required properties:
5 - compatible : "samsung,exynos5433-lpass" 5 - compatible : "samsung,exynos5433-lpass"
6 - reg : should contain the LPASS top SFR region location 6 - reg : should contain the LPASS top SFR region location
7 and size 7 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.
9 - #address-cells : should be 1 12 - #address-cells : should be 1
10 - #size-cells : should be 1 13 - #size-cells : should be 1
11 - ranges : must be present 14 - ranges : must be present
@@ -25,7 +28,8 @@ Example:
25audio-subsystem { 28audio-subsystem {
26 compatible = "samsung,exynos5433-lpass"; 29 compatible = "samsung,exynos5433-lpass";
27 reg = <0x11400000 0x100>, <0x11500000 0x08>; 30 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";
29 #address-cells = <1>; 33 #address-cells = <1>;
30 #size-cells = <1>; 34 #size-cells = <1>;
31 ranges; 35 ranges;
diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
index 89abecd938cb..badff3611a98 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
+++ b/Documentation/devicetree/bindings/mfd/sun4i-gpadc.txt
@@ -1,3 +1,24 @@
1Allwinner SoCs' GPADC Device Tree bindings
2------------------------------------------
3The Allwinner SoCs all have an ADC that can also act as a thermal sensor
4and sometimes as a touchscreen controller.
5
6Required 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
12Example:
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
20sun4i, sun5i and sun6i SoCs are also supported via the older binding:
21
1sun4i resistive touchscreen controller 22sun4i resistive touchscreen controller
2-------------------------------------- 23--------------------------------------
3 24
diff --git a/Documentation/devicetree/bindings/mfd/ti-lmu.txt b/Documentation/devicetree/bindings/mfd/ti-lmu.txt
new file mode 100644
index 000000000000..c885cf89b8ce
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/ti-lmu.txt
@@ -0,0 +1,243 @@
1TI LMU (Lighting Management Unit) device tree bindings
2
3TI LMU driver supports lighting devices below.
4
5 Name Child nodes
6 ------ ---------------------------------
7 LM3532 Backlight
8 LM3631 Backlight and regulator
9 LM3632 Backlight and regulator
10 LM3633 Backlight, LED and fault monitor
11 LM3695 Backlight
12 LM3697 Backlight and fault monitor
13
14Required properties:
15 - compatible: Should be one of:
16 "ti,lm3532"
17 "ti,lm3631"
18 "ti,lm3632"
19 "ti,lm3633"
20 "ti,lm3695"
21 "ti,lm3697"
22 - reg: I2C slave address.
23 0x11 for LM3632
24 0x29 for LM3631
25 0x36 for LM3633, LM3697
26 0x38 for LM3532
27 0x63 for LM3695
28
29Optional property:
30 - enable-gpios: A GPIO specifier for hardware enable pin.
31
32Required node:
33 - backlight: All LMU devices have backlight child nodes.
34 For the properties, please refer to [1].
35
36Optional nodes:
37 - fault-monitor: Hardware fault monitoring driver for LM3633 and LM3697.
38 Required properties:
39 - compatible: Should be one of:
40 "ti,lm3633-fault-monitor"
41 "ti,lm3697-fault-monitor"
42 - leds: LED properties for LM3633. Please refer to [2].
43 - regulators: Regulator properties for LM3631 and LM3632.
44 Please refer to [3].
45
46[1] ../leds/backlight/ti-lmu-backlight.txt
47[2] ../leds/leds-lm3633.txt
48[3] ../regulator/lm363x-regulator.txt
49
50lm3532@38 {
51 compatible = "ti,lm3532";
52 reg = <0x38>;
53
54 enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
55
56 backlight {
57 compatible = "ti,lm3532-backlight";
58
59 lcd {
60 led-sources = <0 1 2>;
61 ramp-up-msec = <30>;
62 ramp-down-msec = <0>;
63 };
64 };
65};
66
67lm3631@29 {
68 compatible = "ti,lm3631";
69 reg = <0x29>;
70
71 regulators {
72 compatible = "ti,lm363x-regulator";
73
74 vboost {
75 regulator-name = "lcd_boost";
76 regulator-min-microvolt = <4500000>;
77 regulator-max-microvolt = <6350000>;
78 regulator-always-on;
79 };
80
81 vcont {
82 regulator-name = "lcd_vcont";
83 regulator-min-microvolt = <1800000>;
84 regulator-max-microvolt = <3300000>;
85 };
86
87 voref {
88 regulator-name = "lcd_voref";
89 regulator-min-microvolt = <4000000>;
90 regulator-max-microvolt = <6000000>;
91 };
92
93 vpos {
94 regulator-name = "lcd_vpos";
95 regulator-min-microvolt = <4000000>;
96 regulator-max-microvolt = <6000000>;
97 regulator-boot-on;
98 };
99
100 vneg {
101 regulator-name = "lcd_vneg";
102 regulator-min-microvolt = <4000000>;
103 regulator-max-microvolt = <6000000>;
104 regulator-boot-on;
105 };
106 };
107
108 backlight {
109 compatible = "ti,lm3631-backlight";
110
111 lcd_bl {
112 led-sources = <0 1>;
113 ramp-up-msec = <300>;
114 };
115 };
116};
117
118lm3632@11 {
119 compatible = "ti,lm3632";
120 reg = <0x11>;
121
122 enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; /* PC2 */
123
124 regulators {
125 compatible = "ti,lm363x-regulator";
126
127 ti,lcm-en1-gpio = <&pioC 0 GPIO_ACTIVE_HIGH>; /* PC0 */
128 ti,lcm-en2-gpio = <&pioC 1 GPIO_ACTIVE_HIGH>; /* PC1 */
129
130 vboost {
131 regulator-name = "lcd_boost";
132 regulator-min-microvolt = <4500000>;
133 regulator-max-microvolt = <6400000>;
134 regulator-always-on;
135 };
136
137 vpos {
138 regulator-name = "lcd_vpos";
139 regulator-min-microvolt = <4000000>;
140 regulator-max-microvolt = <6000000>;
141 };
142
143 vneg {
144 regulator-name = "lcd_vneg";
145 regulator-min-microvolt = <4000000>;
146 regulator-max-microvolt = <6000000>;
147 };
148 };
149
150 backlight {
151 compatible = "ti,lm3632-backlight";
152
153 pwms = <&pwm0 0 10000 0>; /* pwm number, period, polarity */
154 pwm-names = "lmu-backlight";
155
156 lcd {
157 led-sources = <0 1>;
158 pwm-period = <10000>;
159 };
160 };
161};
162
163lm3633@36 {
164 compatible = "ti,lm3633";
165 reg = <0x36>;
166
167 enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
168
169 backlight {
170 compatible = "ti,lm3633-backlight";
171
172 main {
173 label = "main_lcd";
174 led-sources = <1 2>;
175 ramp-up-msec = <500>;
176 ramp-down-msec = <500>;
177 };
178
179 front {
180 label = "front_lcd";
181 led-sources = <0>;
182 ramp-up-msec = <1000>;
183 ramp-down-msec = <0>;
184 };
185 };
186
187 leds {
188 compatible = "ti,lm3633-leds";
189
190 chan1 {
191 label = "status";
192 led-sources = <1>;
193 led-max-microamp = <6000>;
194 };
195
196 chan345 {
197 label = "rgb";
198 led-sources = <3 4 5>;
199 led-max-microamp = <10000>;
200 };
201 };
202
203 fault-monitor {
204 compatible = "ti,lm3633-fault-monitor";
205 };
206};
207
208lm3695@63 {
209 compatible = "ti,lm3695";
210 reg = <0x63>;
211
212 enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
213
214 backlight {
215 compatible = "ti,lm3695-backlight";
216
217 lcd {
218 label = "bl";
219 led-sources = <0 1>;
220 };
221 };
222};
223
224lm3697@36 {
225 compatible = "ti,lm3697";
226 reg = <0x36>;
227
228 enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
229
230 backlight {
231 compatible = "ti,lm3697-backlight";
232
233 lcd {
234 led-sources = <0 1 2>;
235 ramp-up-msec = <200>;
236 ramp-down-msec = <200>;
237 };
238 };
239
240 fault-monitor {
241 compatible = "ti,lm3697-fault-monitor";
242 };
243};
diff --git a/Documentation/devicetree/bindings/mfd/wm831x.txt b/Documentation/devicetree/bindings/mfd/wm831x.txt
new file mode 100644
index 000000000000..9f8b7430673c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/wm831x.txt
@@ -0,0 +1,81 @@
1Cirrus Logic/Wolfson Microelectronics wm831x PMICs
2
3System PMICs with a wide range of additional features.
4
5Required properties:
6
7 - compatible : One of the following chip-specific strings:
8 "wlf,wm8310"
9 "wlf,wm8311"
10 "wlf,wm8312"
11 "wlf,wm8320"
12 "wlf,wm8321"
13 "wlf,wm8325"
14 "wlf,wm8326"
15
16 - reg : I2C slave address when connected using I2C, chip select number
17 when using SPI.
18
19 - gpio-controller : Indicates this device is a GPIO controller.
20 - #gpio-cells : Must be 2. The first cell is the pin number and the
21 second cell is used to specify optional parameters (currently unused).
22
23 - interrupts : The interrupt line the IRQ signal for the device is
24 connected to.
25 - interrupt-parent : The parent interrupt controller.
26
27 - interrupt-controller : wm831x devices contain interrupt controllers and
28 may provide interrupt services to other devices.
29 - #interrupt-cells: Must be 2. The first cell is the IRQ number, and the
30 second cell is the flags, encoded as the trigger masks from
31 ../interrupt-controller/interrupts.txt
32
33Optional sub-nodes:
34 - regulators : Contains sub-nodes for each of the regulators supplied by
35 the device. The regulators are bound using their names listed below:
36
37 dcdc1 : DCDC1
38 dcdc2 : DCDC2
39 dcdc3 : DCDC3
40 dcdc4 : DCDC3
41 isink1 : ISINK1
42 isink2 : ISINK2
43 ldo1 : LDO1
44 ldo2 : LDO2
45 ldo3 : LDO3
46 ldo4 : LDO4
47 ldo5 : LDO5
48 ldo7 : LDO7
49 ldo11 : LDO11
50
51 The bindings details of each regulator can be found in:
52 ../regulator/regulator.txt
53
54Example:
55
56wm8310: pmic@36 {
57 compatible = "wlf,wm8310";
58 reg = <0x36>;
59
60 gpio-controller;
61 #gpio-cells = <2>;
62
63 interrupts = <347>;
64 interrupt-parent = <&gic>;
65
66 interrupt-controller;
67 #interrupt-cells = <2>;
68
69 regulators {
70 dcdc1: dcdc1 {
71 regulator-name = "DCDC1";
72 regulator-min-microvolt = <600000>;
73 regulator-max-microvolt = <600000>;
74 };
75 ldo1: ldo1 {
76 regulator-name = "LDO1";
77 regulator-min-microvolt = <1700000>;
78 regulator-max-microvolt = <1700000>;
79 };
80 };
81};