summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilo Kim2015-02-25 01:27:32 -0600
committerMilo Kim2015-02-25 01:27:32 -0600
commit78bea493c64fb0390f84e44cc2fd85f8903a45b1 (patch)
tree7f7113b95368e9950988236a25da10adbba12508 /Documentation
parent7cad98b24dcf83f5b0501953ba2660e1bf1896b4 (diff)
downloadkernel-78bea493c64fb0390f84e44cc2fd85f8903a45b1.tar.gz
kernel-78bea493c64fb0390f84e44cc2fd85f8903a45b1.tar.xz
kernel-78bea493c64fb0390f84e44cc2fd85f8903a45b1.zip
mfd: add LM3632 driver
- mfd, regulator and backlight driver - Device tree bindings included - Example code for LCD bias regulator consumer. Signed-off-by: Milo Kim <milo.kim@ti.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/mfd/lm3632.txt24
-rw-r--r--Documentation/devicetree/bindings/regulator/lm3632-regulator.txt86
-rw-r--r--Documentation/devicetree/bindings/video/backlight/lm3632_bl.txt64
3 files changed, 71 insertions, 103 deletions
diff --git a/Documentation/devicetree/bindings/mfd/lm3632.txt b/Documentation/devicetree/bindings/mfd/lm3632.txt
index f670058..3ab8ef5 100644
--- a/Documentation/devicetree/bindings/mfd/lm3632.txt
+++ b/Documentation/devicetree/bindings/mfd/lm3632.txt
@@ -2,10 +2,10 @@ TI LM3632 MFD Driver
2 2
3Required properties: 3Required properties:
4 - compatible: "ti,lm3632" 4 - compatible: "ti,lm3632"
5 - reg: I2C slave address. 0x29. 5 - reg: I2C slave address. 0x11.
6 - ti,en-gpio: GPIO number of LM3632 nRST pin. 6 - ti,en-gpio: GPIO number of LM3632 EN pin.
7 7
8LM3632 consists of two sub-devices, lm3632-regulator and lm3632-bl. 8LM3632 consists of lm3632-regulator and lm3632-bl.
9 9
10For the LM3632 regulator properties please refer to: 10For the LM3632 regulator properties please refer to:
11Documentation/devicetree/bindings/regulator/lm3632-regulator.txt 11Documentation/devicetree/bindings/regulator/lm3632-regulator.txt
@@ -19,17 +19,21 @@ lm3632@11 {
19 compatible = "ti,lm3632"; 19 compatible = "ti,lm3632";
20 reg = <0x11>; 20 reg = <0x11>;
21 21
22 /* GPIO134 for HWEN pin */ 22 /* GPIO for EN pin */
23 ti,en-gpio = <&gpio5 6 0>; 23 ti,en-gpio = <&gpio0 3 0>;
24 24
25 /* Only Vpos and Vneg are used with LCD boost */ 25 /* Vpos and Vneg are used with LCD boost */
26 regulators { 26 regulators {
27 compatible = "ti,lm3632-regulator"; 27 compatible = "ti,lm3632-regulator";
28 28
29 /* GPIOs for LCM_EN1 and LCM_EN2 pins */
30 ti,lcm-en1-gpio = <&gpio0 2 0>;
31 ti,lcm-en2-gpio = <&gpio0 4 0>;
32
29 vboost { 33 vboost {
30 regulator-name = "lcd_boost"; 34 regulator-name = "lcd_boost";
31 regulator-min-microvolt = <4500000>; 35 regulator-min-microvolt = <4500000>;
32 regulator-max-microvolt = <6350000>; 36 regulator-max-microvolt = <6400000>;
33 regulator-always-on; 37 regulator-always-on;
34 }; 38 };
35 39
@@ -48,12 +52,14 @@ lm3632@11 {
48 }; 52 };
49 }; 53 };
50 54
51 /* Backlight mode is I2C + PWM, two strings used */ 55 /* Backlight mode is PWM, two strings used */
52 backlight { 56 backlight {
53 compatible = "ti,lm3632-backlight"; 57 compatible = "ti,lm3632-backlight";
54 58
55 bl-name = "lcd"; 59 bl-name = "lcd";
56 full-strings-used; 60 full-strings-used;
57 mode-comb1; 61
62 pwm-period = <10000>;
63 pwm-max-brightness = <1637>; /* 20mA */
58 }; 64 };
59}; 65};
diff --git a/Documentation/devicetree/bindings/regulator/lm3632-regulator.txt b/Documentation/devicetree/bindings/regulator/lm3632-regulator.txt
index 7edb7ba..fa9531d 100644
--- a/Documentation/devicetree/bindings/regulator/lm3632-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/lm3632-regulator.txt
@@ -5,53 +5,47 @@ Required properties:
5 - Regulator init data from of-regulator structure. 5 - Regulator init data from of-regulator structure.
6 Please refer to regulator.txt in this directory. 6 Please refer to regulator.txt in this directory.
7 7
8Optional properties:
9 Two GPIO pins are used for enabling/disabling VPOS and VNEG.
10 These properties can be ignored if two LDOs are controlled through the I2C register.
11 - ti,lcm-en1-gpio: GPIO number of LCM_EN1 pin.
12 - ti,lcm-en2-gpio: GPIO number of LCM_EN2 pin.
13
8Example: 14Example:
9 15
10&i2c4 { 16lm3632@11 {
11 clock-frequency = <400000>; 17 compatible = "ti,lm3632";
12 18 reg = <0x11>;
13 lm3632@11 { 19
14 compatible = "ti,lm3632"; 20 ti,en-gpio = <&gpio0 3 0>;
15 reg = <0x29>; 21
16 22 /* Vpos and Vneg are used with LCD boost */
17 /* GPIO134 for HWEN pin */ 23 regulators {
18 ti,en-gpio = <&gpio5 6 0>; 24 compatible = "ti,lm3632-regulator";
19 25
20 regulators { 26 /* GPIOs for LCM_EN1 and LCM_EN2 pins */
21 compatible = "ti,lm3632-regulator"; 27 ti,lcm-en1-gpio = <&gpio0 2 0>;
22 28 ti,lcm-en2-gpio = <&gpio0 4 0>;
23 vboost { 29
24 regulator-name = "lcd_boost"; 30 vboost {
25 regulator-min-microvolt = <4500000>; 31 regulator-name = "lcd_boost";
26 regulator-max-microvolt = <6350000>; 32 regulator-min-microvolt = <4500000>;
27 regulator-always-on; 33 regulator-max-microvolt = <6400000>;
28 }; 34 regulator-always-on;
29 35 };
30 vcont { 36
31 regulator-name = "lcd_cont"; 37 vpos {
32 regulator-min-microvolt = <1800000>; 38 regulator-name = "lcd_vpos";
33 regulator-max-microvolt = <3300000>; 39 regulator-min-microvolt = <4000000>;
34 }; 40 regulator-max-microvolt = <6000000>;
35 41 regulator-boot-on;
36 voref { 42 };
37 regulator-compatible = "voref"; 43
38 regulator-name = "lcd_oref"; 44 vneg {
39 regulator-min-microvolt = <4000000>; 45 regulator-name = "lcd_vneg";
40 regulator-max-microvolt = <6000000>; 46 regulator-min-microvolt = <4000000>;
41 }; 47 regulator-max-microvolt = <6000000>;
42 48 regulator-boot-on;
43 vpos {
44 regulator-name = "lcd_vpos";
45 regulator-min-microvolt = <4000000>;
46 regulator-max-microvolt = <6000000>;
47 regulator-boot-on;
48 };
49
50 vneg {
51 regulator-name = "lcd_vneg";
52 regulator-min-microvolt = <4000000>;
53 regulator-max-microvolt = <6000000>;
54 regulator-boot-on;
55 };
56 }; 49 };
50 };
57}; 51};
diff --git a/Documentation/devicetree/bindings/video/backlight/lm3632_bl.txt b/Documentation/devicetree/bindings/video/backlight/lm3632_bl.txt
index 256b053..c09b911 100644
--- a/Documentation/devicetree/bindings/video/backlight/lm3632_bl.txt
+++ b/Documentation/devicetree/bindings/video/backlight/lm3632_bl.txt
@@ -6,60 +6,28 @@ Required properties:
6Optional properties: 6Optional properties:
7 - bl-name: Backlight device name 7 - bl-name: Backlight device name
8 - full-strings-used: Define it in case of two LED strings used. 8 - full-strings-used: Define it in case of two LED strings used.
9 - mode-pwm-only: PWM input mode
10 or mode-comb1: I2C x PWM befoer sloping
11 or mode-comb2: Sloped I2C x PWM
12 The default mode is the I2C only.
13 - initial-brightness: Initial brightness value
14 9
15PWM specific optional properties: 10PWM specific optional properties:
16 - pwm-period: PWM period value. Define it in case of PWM based control mode. 11 - pwm-period: PWM period value. Define it in case of PWM based control mode.
17 - pwms and pwm-names: Please refer to Documentation/devicetree/bindings/pwm/pwm.txt. 12 If this property is not defined, then brightness control mode is I2C.
13 - pwm-max-brightness: Max current value in register 0x04 and 0x05.
14 Range is from 0 to 2047.
18 15
16Example:
17lm3632@11 {
18 compatible = "ti,lm3632";
19 reg = <0x11>;
19 20
20Example 1: 21 ti,en-gpio = <&gpio0 3 0>;
21Brightness is I2C only mode. Backlight device name is 'lcd'.
22 22
23&i2c4 { 23 /* Backlight mode is PWM, two strings used */
24 clock-frequency = <400000>; 24 backlight {
25 compatible = "ti,lm3632-backlight";
25 26
26 lm3632@11 { 27 bl-name = "lcd";
27 compatible = "ti,lm3632"; 28 full-strings-used;
28 reg = <0x11>;
29 29
30 /* GPIO134 for HWEN pin */ 30 pwm-period = <10000>;
31 ti,en-gpio = <&gpio5 6 0>; 31 pwm-max-brightness = <1637>; /* 20mA */
32 32 };
33 backlight {
34 compatible = "ti,lm3632-backlight";
35 bl-name = "lcd";
36 full-strings-used;
37 };
38};
39
40Example 2:
41LM3632 brightness is controlled by PWM3943 controller.
42PWM3943 is a PWM controller. PWM#1 is port number of PMW3943.
43
44&i2c4 {
45 clock-frequency = <400000>;
46
47 lm3632@11 {
48 compatible = "ti,lm3632";
49 reg = <0x11>;
50
51 /* GPIO134 for HWEN pin */
52 ti,en-gpio = <&gpio5 6 0>;
53
54 backlight {
55 compatible = "ti,lm3632-backlight";
56 bl-name = "lcd";
57 full-strings-used;
58 mode-pwm-only;
59
60 pwm-period = <10000>;
61
62 pwms = <&pwm3943 1 10000>;
63 pwm-names = "lm3632-backlight";
64 };
65}; 33};