blob: 13b707b7355c005e9c877e860c93d4e9ca6baf12 [file] [log] [blame]
Lee Jonesad95ad12012-07-13 12:42:26 +02001* AB8500 Multi-Functional Device (MFD)
2
3Required 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
16Optional parent device properties:
17- reg : contains the PRCMU mailbox address for the AB8500 i2c port
18
19The AB8500 consists of a large and varied group of sub-devices:
20
21Device IRQ Names Supply Names Description
22------ --------- ------------ -----------
23ab8500-bm : : : Battery Manager
24ab8500-btemp : : : Battery Temperature
25ab8500-charger : : : Battery Charger
Lee Jonese8b9acd2012-07-31 12:30:57 +010026ab8500-codec : : : Audio Codec
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -080027ab8500-fg : : vddadc : Fuel Gauge
28 : NCONV_ACCU : : Accumulate N Sample Conversion
29 : BATT_OVV : : Battery Over Voltage
30 : LOW_BAT_F : : LOW threshold battery voltage
31 : CC_INT_CALIB : : Coulomb Counter Internal Calibration
32 : CCEOC : : Coulomb Counter End of Conversion
Rajanikanth H.Vbd9e8ab2012-11-18 19:16:58 -080033ab8500-btemp : : vtvout : Battery Temperature
34 : BAT_CTRL_INDB : : Battery Removal Indicator
35 : BTEMP_LOW : : Btemp < BtempLow, if battery temperature is lower than -10°C
36 : BTEMP_LOW_MEDIUM : : BtempLow < Btemp < BtempMedium,if battery temperature is between -10 and 0°C
37 : BTEMP_MEDIUM_HIGH : : BtempMedium < Btemp < BtempHigh,if battery temperature is between 0°C andMaxTemp
38 : BTEMP_HIGH : : Btemp > BtempHigh, if battery temperature is higher than MaxTemp
Rajanikanth H.V4aef72d2012-11-18 19:17:47 -080039ab8500-charger : : vddadc : Charger interface
40 : MAIN_CH_UNPLUG_DET : : main charger unplug detection management (not in 8505)
41 : MAIN_CHARGE_PLUG_DET : : main charger plug detection management (not in 8505)
42 : MAIN_EXT_CH_NOT_OK : : main charger not OK
43 : MAIN_CH_TH_PROT_R : : Die temp is above main charger
44 : MAIN_CH_TH_PROT_F : : Die temp is below main charger
45 : VBUS_DET_F : : VBUS falling detected
46 : VBUS_DET_R : : VBUS rising detected
47 : USB_LINK_STATUS : : USB link status has changed
48 : USB_CH_TH_PROT_R : : Die temp is above usb charger
49 : USB_CH_TH_PROT_F : : Die temp is below usb charger
50 : USB_CHARGER_NOT_OKR : : allowed USB charger not ok detection
51 : VBUS_OVV : : Overvoltage on Vbus ball detected (USB charge is stopped)
52 : CH_WD_EXP : : Charger watchdog detected
Lee Jonesad95ad12012-07-13 12:42:26 +020053ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter
54 SW_CONV_END : :
55ab8500-gpio : : : GPIO Controller
56ab8500-ponkey : ONKEY_DBF : : Power-on Key
57 ONKEY_DBR : :
58ab8500-pwm : : : Pulse Width Modulator
59ab8500-regulator : : : Regulators
60ab8500-rtc : 60S : : Real Time Clock
61 : ALARM : :
62ab8500-sysctrl : : : System Control
63ab8500-usb : ID_WAKEUP_R : vddulpivio18 : Universal Serial Bus
64 : ID_WAKEUP_F : v-ape :
65 : VBUS_DET_F : musb_1v8 :
66 : VBUS_DET_R : :
67 : USB_LINK_STATUS : :
68 : USB_ADP_PROBE_PLUG : :
69 : USB_ADP_PROBE_UNPLUG : :
70
71Required child device properties:
72- compatible : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey|
73 pwm|regulator|rtc|sysctrl|usb]";
74
75Optional child device properties:
76- interrupts : contains the device IRQ(s) using the 2-cell format (see above)
77- interrupt-names : contains names of IRQ resource in the order in which they were
78 supplied in the interrupts property
79- <supply_name>-supply : contains a phandle to the regulator supply node in Device Tree
80
Lee Jonese8b9acd2012-07-31 12:30:57 +010081Non-standard child device properties:
82 - Audio CODEC:
83 - stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential)
84 - stericsson,amic1a-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic
85 - stericsson,amic1b-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic
86 - stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic
87 - stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
88
Lee Jonesad95ad12012-07-13 12:42:26 +020089ab8500@5 {
90 compatible = "stericsson,ab8500";
91 reg = <5>; /* mailbox 5 is i2c */
92 interrupts = <0 40 0x4>;
93 interrupt-controller;
94 #interrupt-cells = <2>;
95
96 ab8500-rtc {
97 compatible = "stericsson,ab8500-rtc";
98 interrupts = <17 0x4
99 18 0x4>;
100 interrupt-names = "60S", "ALARM";
101 };
102
103 ab8500-gpadc {
104 compatible = "stericsson,ab8500-gpadc";
105 interrupts = <32 0x4
106 39 0x4>;
107 interrupt-names = "HW_CONV_END", "SW_CONV_END";
108 vddadc-supply = <&ab8500_ldo_tvout_reg>;
109 };
110
111 ab8500-usb {
112 compatible = "stericsson,ab8500-usb";
113 interrupts = < 90 0x4
114 96 0x4
115 14 0x4
116 15 0x4
117 79 0x4
118 74 0x4
119 75 0x4>;
120 interrupt-names = "ID_WAKEUP_R",
121 "ID_WAKEUP_F",
122 "VBUS_DET_F",
123 "VBUS_DET_R",
124 "USB_LINK_STATUS",
125 "USB_ADP_PROBE_PLUG",
126 "USB_ADP_PROBE_UNPLUG";
127 vddulpivio18-supply = <&ab8500_ldo_initcore_reg>;
128 v-ape-supply = <&db8500_vape_reg>;
129 musb_1v8-supply = <&db8500_vsmps2_reg>;
130 };
131
132 ab8500-ponkey {
133 compatible = "stericsson,ab8500-ponkey";
134 interrupts = <6 0x4
135 7 0x4>;
136 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
137 };
138
139 ab8500-sysctrl {
140 compatible = "stericsson,ab8500-sysctrl";
141 };
142
143 ab8500-pwm {
144 compatible = "stericsson,ab8500-pwm";
145 };
146
Lee Jonese8b9acd2012-07-31 12:30:57 +0100147 codec: ab8500-codec {
148 compatible = "stericsson,ab8500-codec";
149
150 stericsson,earpeice-cmv = <950>; /* Units in mV. */
151 };
152
Lee Jonesad95ad12012-07-13 12:42:26 +0200153 ab8500-regulators {
154 compatible = "stericsson,ab8500-regulator";
155
156 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
157 /*
158 * See: Documentation/devicetree/bindings/regulator/regulator.txt
159 * for more information on regulators
160 */
161 };
162 };
163};