diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 15:41:17 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 15:41:17 -0400 |
commit | 3e701cdfe601306817604ca7f79f1d1c1088007c (patch) | |
tree | 1b0a4088a091f035d8be06758a604ca449223fc0 /Documentation/devicetree | |
parent | 7d3d09b01a028e9dd1282149fdcd2a6e0edd73e4 (diff) | |
parent | 3c1534c7ecffeb4330bba4c55d17f301528195b6 (diff) |
Merge tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6
Pull MFD bits from Samuel Ortiz:
"We have support for a few new drivers:
- Samsung s2mps11
- Wolfson Microelectronics wm5102 and wm5110
- Marvell 88PM800 and 88PM805
- TI twl6041
We also have our regular driver improvements:
- Device tree and IRQ domain support for STE AB8500
- Regmap and devm_* API conversion for TI tps6586x
- Device tree support for Samsung max77686
- devm_* API conversion for STE AB3100
Besides that, quite a lot of fixing and cleanup for mc13xxx, tps65910,
tps65090, da9052 and twl-core."
Fix up mostly trivial conflicts, with the exception of
drivers/usb/host/ehci-omap.c in particular, which had some
re-organization of the reset sequence (commit 1a49e2ac9651: "EHCI:
centralize controller initialization") that clashed with commit
2761a6394516 ("mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix
issues").
In particular, commit 2761a6394516 moved the usb_add_hcd() to the
*middle* of the reset sequence, which clashes fairly badly with the
reset sequence re-organization (although it could have been done inside
the new omap_ehci_init() function).
I left that part of commit 2761a6394516 just undone.
* tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (110 commits)
mfd: Ensure AB8500 platform data is passed through db8500-prcmu to MFD Core
mfd: Arizone core should select MFD_CORE
mfd: Fix arizona-irq.c build by selecting REGMAP_IRQ
mfd: Add debug trace on entering and leaving arizone runtime suspend
mfd: Correct tps65090 cell names
mfd: Remove gpio support from tps6586x core driver
ARM: tegra: defconfig: Enable tps6586x gpio
gpio: tps6586x: Add gpio support through platform driver
mfd: Cache tps6586x register through regmap
mfd: Use regmap for tps6586x register access.
mfd: Use devm managed resources for tps6586x
input: Add onkey support for 88PM80X PMIC
mfd: Add support for twl6041
mfd: Fix twl6040 revision information
mfd: Matches should be NULL when populate anatop child devices
input: ab8500-ponkey: Create AB8500 domain IRQ mapping
mfd: Add missing out of memory check for pcf50633
Documentation: Describe the AB8500 Device Tree bindings
mfd: Add tps65910 32-kHz-crystal-input init
mfd: Drop modifying mc13xxx driver's id_table in probe
...
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r-- | Documentation/devicetree/bindings/mfd/ab8500.txt | 123 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mfd/max77686.txt | 59 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mfd/tps65910.txt | 2 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/mfd/twl6040.txt | 2 |
4 files changed, 184 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/mfd/ab8500.txt b/Documentation/devicetree/bindings/mfd/ab8500.txt new file mode 100644 index 000000000000..69e757a657a0 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/ab8500.txt | |||
@@ -0,0 +1,123 @@ | |||
1 | * AB8500 Multi-Functional Device (MFD) | ||
2 | |||
3 | Required parent device properties: | ||
4 | - compatible : contains "stericsson,ab8500"; | ||
5 | - interrupts : contains the IRQ line for the AB8500 | ||
6 | - interrupt-controller : describes the AB8500 as an Interrupt Controller (has its own domain) | ||
7 | - #interrupt-cells : should be 2, for 2-cell format | ||
8 | - The first cell is the AB8500 local IRQ number | ||
9 | - The second cell is used to specify optional parameters | ||
10 | - bits[3:0] trigger type and level flags: | ||
11 | 1 = low-to-high edge triggered | ||
12 | 2 = high-to-low edge triggered | ||
13 | 4 = active high level-sensitive | ||
14 | 8 = active low level-sensitive | ||
15 | |||
16 | Optional parent device properties: | ||
17 | - reg : contains the PRCMU mailbox address for the AB8500 i2c port | ||
18 | |||
19 | The AB8500 consists of a large and varied group of sub-devices: | ||
20 | |||
21 | Device IRQ Names Supply Names Description | ||
22 | ------ --------- ------------ ----------- | ||
23 | ab8500-bm : : : Battery Manager | ||
24 | ab8500-btemp : : : Battery Temperature | ||
25 | ab8500-charger : : : Battery Charger | ||
26 | ab8500-fg : : : Fuel Gauge | ||
27 | ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter | ||
28 | SW_CONV_END : : | ||
29 | ab8500-gpio : : : GPIO Controller | ||
30 | ab8500-ponkey : ONKEY_DBF : : Power-on Key | ||
31 | ONKEY_DBR : : | ||
32 | ab8500-pwm : : : Pulse Width Modulator | ||
33 | ab8500-regulator : : : Regulators | ||
34 | ab8500-rtc : 60S : : Real Time Clock | ||
35 | : ALARM : : | ||
36 | ab8500-sysctrl : : : System Control | ||
37 | ab8500-usb : ID_WAKEUP_R : vddulpivio18 : Universal Serial Bus | ||
38 | : ID_WAKEUP_F : v-ape : | ||
39 | : VBUS_DET_F : musb_1v8 : | ||
40 | : VBUS_DET_R : : | ||
41 | : USB_LINK_STATUS : : | ||
42 | : USB_ADP_PROBE_PLUG : : | ||
43 | : USB_ADP_PROBE_UNPLUG : : | ||
44 | |||
45 | Required child device properties: | ||
46 | - compatible : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey| | ||
47 | pwm|regulator|rtc|sysctrl|usb]"; | ||
48 | |||
49 | Optional child device properties: | ||
50 | - interrupts : contains the device IRQ(s) using the 2-cell format (see above) | ||
51 | - interrupt-names : contains names of IRQ resource in the order in which they were | ||
52 | supplied in the interrupts property | ||
53 | - <supply_name>-supply : contains a phandle to the regulator supply node in Device Tree | ||
54 | |||
55 | ab8500@5 { | ||
56 | compatible = "stericsson,ab8500"; | ||
57 | reg = <5>; /* mailbox 5 is i2c */ | ||
58 | interrupts = <0 40 0x4>; | ||
59 | interrupt-controller; | ||
60 | #interrupt-cells = <2>; | ||
61 | |||
62 | ab8500-rtc { | ||
63 | compatible = "stericsson,ab8500-rtc"; | ||
64 | interrupts = <17 0x4 | ||
65 | 18 0x4>; | ||
66 | interrupt-names = "60S", "ALARM"; | ||
67 | }; | ||
68 | |||
69 | ab8500-gpadc { | ||
70 | compatible = "stericsson,ab8500-gpadc"; | ||
71 | interrupts = <32 0x4 | ||
72 | 39 0x4>; | ||
73 | interrupt-names = "HW_CONV_END", "SW_CONV_END"; | ||
74 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | ||
75 | }; | ||
76 | |||
77 | ab8500-usb { | ||
78 | compatible = "stericsson,ab8500-usb"; | ||
79 | interrupts = < 90 0x4 | ||
80 | 96 0x4 | ||
81 | 14 0x4 | ||
82 | 15 0x4 | ||
83 | 79 0x4 | ||
84 | 74 0x4 | ||
85 | 75 0x4>; | ||
86 | interrupt-names = "ID_WAKEUP_R", | ||
87 | "ID_WAKEUP_F", | ||
88 | "VBUS_DET_F", | ||
89 | "VBUS_DET_R", | ||
90 | "USB_LINK_STATUS", | ||
91 | "USB_ADP_PROBE_PLUG", | ||
92 | "USB_ADP_PROBE_UNPLUG"; | ||
93 | vddulpivio18-supply = <&ab8500_ldo_initcore_reg>; | ||
94 | v-ape-supply = <&db8500_vape_reg>; | ||
95 | musb_1v8-supply = <&db8500_vsmps2_reg>; | ||
96 | }; | ||
97 | |||
98 | ab8500-ponkey { | ||
99 | compatible = "stericsson,ab8500-ponkey"; | ||
100 | interrupts = <6 0x4 | ||
101 | 7 0x4>; | ||
102 | interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; | ||
103 | }; | ||
104 | |||
105 | ab8500-sysctrl { | ||
106 | compatible = "stericsson,ab8500-sysctrl"; | ||
107 | }; | ||
108 | |||
109 | ab8500-pwm { | ||
110 | compatible = "stericsson,ab8500-pwm"; | ||
111 | }; | ||
112 | |||
113 | ab8500-regulators { | ||
114 | compatible = "stericsson,ab8500-regulator"; | ||
115 | |||
116 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | ||
117 | /* | ||
118 | * See: Documentation/devicetree/bindings/regulator/regulator.txt | ||
119 | * for more information on regulators | ||
120 | */ | ||
121 | }; | ||
122 | }; | ||
123 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt new file mode 100644 index 000000000000..c6a3469d3436 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/max77686.txt | |||
@@ -0,0 +1,59 @@ | |||
1 | Maxim MAX77686 multi-function device | ||
2 | |||
3 | MAX77686 is a Mulitifunction device with PMIC, RTC and Charger on chip. It is | ||
4 | interfaced to host controller using i2c interface. PMIC and Charger submodules | ||
5 | are addressed using same i2c slave address whereas RTC submodule uses | ||
6 | different i2c slave address,presently for which we are statically creating i2c | ||
7 | client while probing.This document describes the binding for mfd device and | ||
8 | PMIC submodule. | ||
9 | |||
10 | Required properties: | ||
11 | - compatible : Must be "maxim,max77686"; | ||
12 | - reg : Specifies the i2c slave address of PMIC block. | ||
13 | - interrupts : This i2c device has an IRQ line connected to the main SoC. | ||
14 | - interrupt-parent : The parent interrupt controller. | ||
15 | |||
16 | Optional node: | ||
17 | - voltage-regulators : The regulators of max77686 have to be instantiated | ||
18 | under subnode named "voltage-regulators" using the following format. | ||
19 | |||
20 | regulator_name { | ||
21 | regulator-compatible = LDOn/BUCKn | ||
22 | standard regulator constraints.... | ||
23 | }; | ||
24 | refer Documentation/devicetree/bindings/regulator/regulator.txt | ||
25 | |||
26 | The regulator-compatible property of regulator should initialized with string | ||
27 | to get matched with their hardware counterparts as follow: | ||
28 | |||
29 | -LDOn : for LDOs, where n can lie in range 1 to 26. | ||
30 | example: LDO1, LDO2, LDO26. | ||
31 | -BUCKn : for BUCKs, where n can lie in range 1 to 9. | ||
32 | example: BUCK1, BUCK5, BUCK9. | ||
33 | |||
34 | Example: | ||
35 | |||
36 | max77686@09 { | ||
37 | compatible = "maxim,max77686"; | ||
38 | interrupt-parent = <&wakeup_eint>; | ||
39 | interrupts = <26 0>; | ||
40 | reg = <0x09>; | ||
41 | |||
42 | voltage-regulators { | ||
43 | ldo11_reg { | ||
44 | regulator-compatible = "LDO11"; | ||
45 | regulator-name = "vdd_ldo11"; | ||
46 | regulator-min-microvolt = <1900000>; | ||
47 | regulator-max-microvolt = <1900000>; | ||
48 | regulator-always-on; | ||
49 | }; | ||
50 | |||
51 | buck1_reg { | ||
52 | regulator-compatible = "BUCK1"; | ||
53 | regulator-name = "vdd_mif"; | ||
54 | regulator-min-microvolt = <950000>; | ||
55 | regulator-max-microvolt = <1300000>; | ||
56 | regulator-always-on; | ||
57 | regulator-boot-on; | ||
58 | }; | ||
59 | } | ||
diff --git a/Documentation/devicetree/bindings/mfd/tps65910.txt b/Documentation/devicetree/bindings/mfd/tps65910.txt index d2802d4717bc..db03599ae4dc 100644 --- a/Documentation/devicetree/bindings/mfd/tps65910.txt +++ b/Documentation/devicetree/bindings/mfd/tps65910.txt | |||
@@ -81,7 +81,7 @@ Example: | |||
81 | 81 | ||
82 | ti,vmbch-threshold = 0; | 82 | ti,vmbch-threshold = 0; |
83 | ti,vmbch2-threshold = 0; | 83 | ti,vmbch2-threshold = 0; |
84 | 84 | ti,en-ck32k-xtal; | |
85 | ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; | 85 | ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; |
86 | 86 | ||
87 | vcc1-supply = <®_parent>; | 87 | vcc1-supply = <®_parent>; |
diff --git a/Documentation/devicetree/bindings/mfd/twl6040.txt b/Documentation/devicetree/bindings/mfd/twl6040.txt index bc67c6f424aa..c855240f3a0e 100644 --- a/Documentation/devicetree/bindings/mfd/twl6040.txt +++ b/Documentation/devicetree/bindings/mfd/twl6040.txt | |||
@@ -6,7 +6,7 @@ They are connected ot the host processor via i2c for commands, McPDM for audio | |||
6 | data and commands. | 6 | data and commands. |
7 | 7 | ||
8 | Required properties: | 8 | Required properties: |
9 | - compatible : Must be "ti,twl6040"; | 9 | - compatible : "ti,twl6040" for twl6040, "ti,twl6041" for twl6041 |
10 | - reg: must be 0x4b for i2c address | 10 | - reg: must be 0x4b for i2c address |
11 | - interrupts: twl6040 has one interrupt line connecteded to the main SoC | 11 | - interrupts: twl6040 has one interrupt line connecteded to the main SoC |
12 | - interrupt-parent: The parent interrupt controller | 12 | - interrupt-parent: The parent interrupt controller |