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