diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 14:53:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-29 14:53:11 -0400 |
commit | 4b781474682434e7881f20e9dfbe6687ea619795 (patch) | |
tree | bdd976645ead7f04900e60017502e6a41b03e601 /Documentation | |
parent | 53f2c4a8fd882009a2a75c5b72d6898c0808616e (diff) | |
parent | 29f772d41c01ad6b72c3de705e79779857badcde (diff) |
Merge tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Pull MFD changes from Samuel Ortiz:
"Besides the usual cleanups, this one brings:
* Support for 5 new chipsets: Intel's ICH LPC and SCH Centerton,
ST-E's STAX211, Samsung's MAX77693 and TI's LM3533.
* Device tree support for the twl6040, tps65910, da9502 and ab8500
drivers.
* Fairly big tps56910, ab8500 and db8500 updates.
* i2c support for mc13xxx.
* Our regular update for the wm8xxx driver from Mark."
Fix up various conflicts with other trees, largely due to ab5500 removal
etc.
* tag 'mfd-3.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (106 commits)
mfd: Fix build break of max77693 by adding REGMAP_I2C option
mfd: Fix twl6040 build failure
mfd: Fix max77693 build failure
mfd: ab8500-core should depend on MFD_DB8500_PRCMU
gpio: tps65910: dt: process gpio specific device node info
mfd: Remove the parsing of dt info for tps65910 gpio
mfd: Save device node parsed platform data for tps65910 sub devices
mfd: Add r_select to lm3533 platform data
gpio: Add Intel Centerton support to gpio-sch
mfd: Emulate active low IRQs as well as active high IRQs for wm831x
mfd: Mark two lm3533 zone registers as volatile
mfd: Fix return type of lm533 attribute is_visible
mfd: Enable Device Tree support in the ab8500-pwm driver
mfd: Enable Device Tree support in the ab8500-sysctrl driver
mfd: Add support for Device Tree to twl6040
mfd: Register the twl6040 child for the ASoC codec unconditionally
mfd: Allocate twl6040 IRQ numbers dynamically
mfd: twl6040 code cleanup in interrupt initialization part
mfd: Enable ab8500-gpadc driver for Device Tree
mfd: Prevent unassigned pointer from being used in ab8500-gpadc driver
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/ABI/testing/sysfs-bus-i2c-devices-lm3533 | 15 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mfd/da9052-i2c.txt | 60 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mfd/tps65910.txt | 133 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mfd/twl6040.txt | 62 |
4 files changed, 270 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-bus-i2c-devices-lm3533 b/Documentation/ABI/testing/sysfs-bus-i2c-devices-lm3533 new file mode 100644 index 000000000000..1b62230b33b9 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-bus-i2c-devices-lm3533 | |||
@@ -0,0 +1,15 @@ | |||
1 | What: /sys/bus/i2c/devices/.../output_hvled[n] | ||
2 | Date: April 2012 | ||
3 | KernelVersion: 3.5 | ||
4 | Contact: Johan Hovold <jhovold@gmail.com> | ||
5 | Description: | ||
6 | Set the controlling backlight device for high-voltage current | ||
7 | sink HVLED[n] (n = 1, 2) (0, 1). | ||
8 | |||
9 | What: /sys/bus/i2c/devices/.../output_lvled[n] | ||
10 | Date: April 2012 | ||
11 | KernelVersion: 3.5 | ||
12 | Contact: Johan Hovold <jhovold@gmail.com> | ||
13 | Description: | ||
14 | Set the controlling led device for low-voltage current sink | ||
15 | LVLED[n] (n = 1..5) (0..3). | ||
diff --git a/Documentation/devicetree/bindings/mfd/da9052-i2c.txt b/Documentation/devicetree/bindings/mfd/da9052-i2c.txt new file mode 100644 index 000000000000..1857f4a6b9a9 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/da9052-i2c.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | * Dialog DA9052/53 Power Management Integrated Circuit (PMIC) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "dlg,da9052", "dlg,da9053-aa", | ||
5 | "dlg,da9053-ab", or "dlg,da9053-bb" | ||
6 | |||
7 | Sub-nodes: | ||
8 | - regulators : Contain the regulator nodes. The DA9052/53 regulators are | ||
9 | bound using their names as listed below: | ||
10 | |||
11 | buck0 : regulator BUCK0 | ||
12 | buck1 : regulator BUCK1 | ||
13 | buck2 : regulator BUCK2 | ||
14 | buck3 : regulator BUCK3 | ||
15 | ldo4 : regulator LDO4 | ||
16 | ldo5 : regulator LDO5 | ||
17 | ldo6 : regulator LDO6 | ||
18 | ldo7 : regulator LDO7 | ||
19 | ldo8 : regulator LDO8 | ||
20 | ldo9 : regulator LDO9 | ||
21 | ldo10 : regulator LDO10 | ||
22 | ldo11 : regulator LDO11 | ||
23 | ldo12 : regulator LDO12 | ||
24 | ldo13 : regulator LDO13 | ||
25 | |||
26 | The bindings details of individual regulator device can be found in: | ||
27 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
28 | |||
29 | Examples: | ||
30 | |||
31 | i2c@63fc8000 { /* I2C1 */ | ||
32 | status = "okay"; | ||
33 | |||
34 | pmic: dialog@48 { | ||
35 | compatible = "dlg,da9053-aa"; | ||
36 | reg = <0x48>; | ||
37 | |||
38 | regulators { | ||
39 | buck0 { | ||
40 | regulator-min-microvolt = <500000>; | ||
41 | regulator-max-microvolt = <2075000>; | ||
42 | }; | ||
43 | |||
44 | buck1 { | ||
45 | regulator-min-microvolt = <500000>; | ||
46 | regulator-max-microvolt = <2075000>; | ||
47 | }; | ||
48 | |||
49 | buck2 { | ||
50 | regulator-min-microvolt = <925000>; | ||
51 | regulator-max-microvolt = <2500000>; | ||
52 | }; | ||
53 | |||
54 | buck3 { | ||
55 | regulator-min-microvolt = <925000>; | ||
56 | regulator-max-microvolt = <2500000>; | ||
57 | }; | ||
58 | }; | ||
59 | }; | ||
60 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/tps65910.txt b/Documentation/devicetree/bindings/mfd/tps65910.txt new file mode 100644 index 000000000000..645f5eaadb3f --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/tps65910.txt | |||
@@ -0,0 +1,133 @@ | |||
1 | TPS65910 Power Management Integrated Circuit | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "ti,tps65910" or "ti,tps65911" | ||
5 | - reg: I2C slave address | ||
6 | - interrupts: the interrupt outputs of the controller | ||
7 | - #gpio-cells: number of cells to describe a GPIO, this should be 2. | ||
8 | The first cell is the GPIO number. | ||
9 | The second cell is used to specify additional options <unused>. | ||
10 | - gpio-controller: mark the device as a GPIO controller | ||
11 | - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. | ||
12 | The first cell is the IRQ number. | ||
13 | The second cell is the flags, encoded as the trigger masks from | ||
14 | Documentation/devicetree/bindings/interrupts.txt | ||
15 | - regulators: This is the list of child nodes that specify the regulator | ||
16 | initialization data for defined regulators. Not all regulators for the given | ||
17 | device need to be present. The definition for each of these nodes is defined | ||
18 | using the standard binding for regulators found at | ||
19 | Documentation/devicetree/bindings/regulator/regulator.txt. | ||
20 | |||
21 | The valid names for regulators are: | ||
22 | tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1, | ||
23 | vaux2, vaux33, vmmc | ||
24 | tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5, | ||
25 | ldo6, ldo7, ldo8 | ||
26 | |||
27 | Optional properties: | ||
28 | - ti,vmbch-threshold: (tps65911) main battery charged threshold | ||
29 | comparator. (see VMBCH_VSEL in TPS65910 datasheet) | ||
30 | - ti,vmbch2-threshold: (tps65911) main battery discharged threshold | ||
31 | comparator. (see VMBCH_VSEL in TPS65910 datasheet) | ||
32 | - ti,en-gpio-sleep: enable sleep control for gpios | ||
33 | There should be 9 entries here, one for each gpio. | ||
34 | |||
35 | Regulator Optional properties: | ||
36 | - ti,regulator-ext-sleep-control: enable external sleep | ||
37 | control through external inputs [0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)] | ||
38 | If this property is not defined, it defaults to 0 (not enabled). | ||
39 | |||
40 | Example: | ||
41 | |||
42 | pmu: tps65910@d2 { | ||
43 | compatible = "ti,tps65910"; | ||
44 | reg = <0xd2>; | ||
45 | interrupt-parent = <&intc>; | ||
46 | interrupts = < 0 118 0x04 >; | ||
47 | |||
48 | #gpio-cells = <2>; | ||
49 | gpio-controller; | ||
50 | |||
51 | #interrupt-cells = <2>; | ||
52 | interrupt-controller; | ||
53 | |||
54 | ti,vmbch-threshold = 0; | ||
55 | ti,vmbch2-threshold = 0; | ||
56 | |||
57 | ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; | ||
58 | |||
59 | regulators { | ||
60 | vdd1_reg: vdd1 { | ||
61 | regulator-min-microvolt = < 600000>; | ||
62 | regulator-max-microvolt = <1500000>; | ||
63 | regulator-always-on; | ||
64 | regulator-boot-on; | ||
65 | ti,regulator-ext-sleep-control = <0>; | ||
66 | }; | ||
67 | vdd2_reg: vdd2 { | ||
68 | regulator-min-microvolt = < 600000>; | ||
69 | regulator-max-microvolt = <1500000>; | ||
70 | regulator-always-on; | ||
71 | regulator-boot-on; | ||
72 | ti,regulator-ext-sleep-control = <4>; | ||
73 | }; | ||
74 | vddctrl_reg: vddctrl { | ||
75 | regulator-min-microvolt = < 600000>; | ||
76 | regulator-max-microvolt = <1400000>; | ||
77 | regulator-always-on; | ||
78 | regulator-boot-on; | ||
79 | ti,regulator-ext-sleep-control = <0>; | ||
80 | }; | ||
81 | vio_reg: vio { | ||
82 | regulator-min-microvolt = <1500000>; | ||
83 | regulator-max-microvolt = <1800000>; | ||
84 | regulator-always-on; | ||
85 | regulator-boot-on; | ||
86 | ti,regulator-ext-sleep-control = <1>; | ||
87 | }; | ||
88 | ldo1_reg: ldo1 { | ||
89 | regulator-min-microvolt = <1000000>; | ||
90 | regulator-max-microvolt = <3300000>; | ||
91 | ti,regulator-ext-sleep-control = <0>; | ||
92 | }; | ||
93 | ldo2_reg: ldo2 { | ||
94 | regulator-min-microvolt = <1050000>; | ||
95 | regulator-max-microvolt = <1050000>; | ||
96 | ti,regulator-ext-sleep-control = <0>; | ||
97 | }; | ||
98 | ldo3_reg: ldo3 { | ||
99 | regulator-min-microvolt = <1000000>; | ||
100 | regulator-max-microvolt = <3300000>; | ||
101 | ti,regulator-ext-sleep-control = <0>; | ||
102 | }; | ||
103 | ldo4_reg: ldo4 { | ||
104 | regulator-min-microvolt = <1000000>; | ||
105 | regulator-max-microvolt = <3300000>; | ||
106 | regulator-always-on; | ||
107 | ti,regulator-ext-sleep-control = <0>; | ||
108 | }; | ||
109 | ldo5_reg: ldo5 { | ||
110 | regulator-min-microvolt = <1000000>; | ||
111 | regulator-max-microvolt = <3300000>; | ||
112 | ti,regulator-ext-sleep-control = <0>; | ||
113 | }; | ||
114 | ldo6_reg: ldo6 { | ||
115 | regulator-min-microvolt = <1200000>; | ||
116 | regulator-max-microvolt = <1200000>; | ||
117 | ti,regulator-ext-sleep-control = <0>; | ||
118 | }; | ||
119 | ldo7_reg: ldo7 { | ||
120 | regulator-min-microvolt = <1200000>; | ||
121 | regulator-max-microvolt = <1200000>; | ||
122 | regulator-always-on; | ||
123 | regulator-boot-on; | ||
124 | ti,regulator-ext-sleep-control = <1>; | ||
125 | }; | ||
126 | ldo8_reg: ldo8 { | ||
127 | regulator-min-microvolt = <1000000>; | ||
128 | regulator-max-microvolt = <3300000>; | ||
129 | regulator-always-on; | ||
130 | ti,regulator-ext-sleep-control = <1>; | ||
131 | }; | ||
132 | }; | ||
133 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/twl6040.txt b/Documentation/devicetree/bindings/mfd/twl6040.txt new file mode 100644 index 000000000000..bc67c6f424aa --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/twl6040.txt | |||
@@ -0,0 +1,62 @@ | |||
1 | Texas Instruments TWL6040 family | ||
2 | |||
3 | The TWL6040s are 8-channel high quality low-power audio codecs providing audio | ||
4 | and vibra functionality on OMAP4+ platforms. | ||
5 | They are connected ot the host processor via i2c for commands, McPDM for audio | ||
6 | data and commands. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Must be "ti,twl6040"; | ||
10 | - reg: must be 0x4b for i2c address | ||
11 | - interrupts: twl6040 has one interrupt line connecteded to the main SoC | ||
12 | - interrupt-parent: The parent interrupt controller | ||
13 | - twl6040,audpwron-gpio: Power on GPIO line for the twl6040 | ||
14 | |||
15 | - vio-supply: Regulator for the twl6040 VIO supply | ||
16 | - v2v1-supply: Regulator for the twl6040 V2V1 supply | ||
17 | |||
18 | Optional properties, nodes: | ||
19 | - enable-active-high: To power on the twl6040 during boot. | ||
20 | |||
21 | Vibra functionality | ||
22 | Required properties: | ||
23 | - vddvibl-supply: Regulator for the left vibra motor | ||
24 | - vddvibr-supply: Regulator for the right vibra motor | ||
25 | - vibra { }: Configuration section for vibra parameters containing the following | ||
26 | properties: | ||
27 | - ti,vibldrv-res: Resistance parameter for left driver | ||
28 | - ti,vibrdrv-res: Resistance parameter for right driver | ||
29 | - ti,viblmotor-res: Resistance parameter for left motor | ||
30 | - ti,viblmotor-res: Resistance parameter for right motor | ||
31 | |||
32 | Optional properties within vibra { } section: | ||
33 | - vddvibl_uV: If the vddvibl default voltage need to be changed | ||
34 | - vddvibr_uV: If the vddvibr default voltage need to be changed | ||
35 | |||
36 | Example: | ||
37 | &i2c1 { | ||
38 | twl6040: twl@4b { | ||
39 | compatible = "ti,twl6040"; | ||
40 | reg = <0x4b>; | ||
41 | |||
42 | interrupts = <0 119 4>; | ||
43 | interrupt-parent = <&gic>; | ||
44 | twl6040,audpwron-gpio = <&gpio4 31 0>; | ||
45 | |||
46 | vio-supply = <&v1v8>; | ||
47 | v2v1-supply = <&v2v1>; | ||
48 | enable-active-high; | ||
49 | |||
50 | /* regulators for vibra motor */ | ||
51 | vddvibl-supply = <&vbat>; | ||
52 | vddvibr-supply = <&vbat>; | ||
53 | |||
54 | vibra { | ||
55 | /* Vibra driver, motor resistance parameters */ | ||
56 | ti,vibldrv-res = <8>; | ||
57 | ti,vibrdrv-res = <3>; | ||
58 | ti,viblmotor-res = <10>; | ||
59 | ti,vibrmotor-res = <10>; | ||
60 | }; | ||
61 | }; | ||
62 | }; | ||