|  | * AB8500 Multi-Functional Device (MFD) | 
|  |  | 
|  | Required parent device properties: | 
|  | - compatible             : contains "stericsson,ab8500"; | 
|  | - interrupts             : contains the IRQ line for the AB8500 | 
|  | - interrupt-controller   : describes the AB8500 as an Interrupt Controller (has its own domain) | 
|  | - #interrupt-cells       : should be 2, for 2-cell format | 
|  | - The first cell is the AB8500 local IRQ number | 
|  | - The second cell is used to specify optional parameters | 
|  | - bits[3:0] trigger type and level flags: | 
|  | 1 = low-to-high edge triggered | 
|  | 2 = high-to-low edge triggered | 
|  | 4 = active high level-sensitive | 
|  | 8 = active low level-sensitive | 
|  |  | 
|  | The AB8500 consists of a large and varied group of sub-devices: | 
|  |  | 
|  | Device                     IRQ Names              Supply Names   Description | 
|  | ------                     ---------              ------------   ----------- | 
|  | ab8500-bm                :                      :              : Battery Manager | 
|  | ab8500-btemp             :                      :              : Battery Temperature | 
|  | ab8500-charger           :                      :              : Battery Charger | 
|  | ab8500-codec             :                      :              : Audio Codec | 
|  | ab8500-fg                : 			: vddadc       : Fuel Gauge | 
|  | : NCONV_ACCU           :	       : Accumulate N Sample Conversion | 
|  | : BATT_OVV		:	       : Battery Over Voltage | 
|  | : LOW_BAT_F		:	       : LOW threshold battery voltage | 
|  | : CC_INT_CALIB		:	       : Coulomb Counter Internal Calibration | 
|  | : CCEOC		:	       : Coulomb Counter End of Conversion | 
|  | ab8500-btemp		 :			: vtvout       : Battery Temperature | 
|  | : BAT_CTRL_INDB        :              : Battery Removal Indicator | 
|  | : BTEMP_LOW            :              : Btemp < BtempLow, if battery temperature is lower than -10°C | 
|  | : BTEMP_LOW_MEDIUM     :              : BtempLow < Btemp < BtempMedium,if battery temperature is between -10 and 0°C | 
|  | : BTEMP_MEDIUM_HIGH    :	       : BtempMedium < Btemp < BtempHigh,if battery temperature is between 0°C and“MaxTemp | 
|  | : BTEMP_HIGH           :              : Btemp > BtempHigh, if battery temperature is higher than “MaxTemp | 
|  | ab8500-charger		 :			: vddadc       : Charger interface | 
|  | : MAIN_CH_UNPLUG_DET	:	       : main charger unplug detection management (not in 8505) | 
|  | : MAIN_CHARGE_PLUG_DET	:	       : main charger plug detection management (not in 8505) | 
|  | : MAIN_EXT_CH_NOT_OK	:	       : main charger not OK | 
|  | : MAIN_CH_TH_PROT_R	:	       : Die temp is above main charger | 
|  | : MAIN_CH_TH_PROT_F	:	       : Die temp is below main charger | 
|  | : VBUS_DET_F		:	       : VBUS falling detected | 
|  | : VBUS_DET_R		:	       : VBUS rising detected | 
|  | : USB_LINK_STATUS	:	       : USB link status has changed | 
|  | : USB_CH_TH_PROT_R	:	       : Die temp is above usb charger | 
|  | : USB_CH_TH_PROT_F	:	       : Die temp is below usb charger | 
|  | : USB_CHARGER_NOT_OKR	:	       : allowed USB charger not ok detection | 
|  | : VBUS_OVV		:	       : Overvoltage on Vbus ball detected (USB charge is stopped) | 
|  | : CH_WD_EXP		:	       : Charger watchdog detected | 
|  | ab8500-gpadc             : HW_CONV_END          : vddadc       : Analogue to Digital Converter | 
|  | SW_CONV_END          :              : | 
|  | ab8500-gpio              :                      :              : GPIO Controller | 
|  | ab8500-ponkey            : ONKEY_DBF            :              : Power-on Key | 
|  | ONKEY_DBR            :              : | 
|  | ab8500-pwm               :                      :              : Pulse Width Modulator | 
|  | ab8500-regulator         :                      :              : Regulators | 
|  | ab8500-rtc               : 60S                  :              : Real Time Clock | 
|  | : ALARM                :              : | 
|  | ab8500-sysctrl           :                      :              : System Control | 
|  | ab8500-usb               : ID_WAKEUP_R          : vddulpivio18 : Universal Serial Bus | 
|  | : ID_WAKEUP_F          : v-ape        : | 
|  | : VBUS_DET_F           : musb_1v8     : | 
|  | : VBUS_DET_R           :              : | 
|  | : USB_LINK_STATUS      :              : | 
|  | : USB_ADP_PROBE_PLUG   :              : | 
|  | : USB_ADP_PROBE_UNPLUG :              : | 
|  |  | 
|  | Required child device properties: | 
|  | - compatible             : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey| | 
|  | pwm|regulator|rtc|sysctrl|usb]"; | 
|  |  | 
|  | Optional child device properties: | 
|  | - interrupts             : contains the device IRQ(s) using the 2-cell format (see above) | 
|  | - interrupt-names        : contains names of IRQ resource in the order in which they were | 
|  | supplied in the interrupts property | 
|  | - <supply_name>-supply   : contains a phandle to the regulator supply node in Device Tree | 
|  |  | 
|  | Non-standard child device properties: | 
|  | - Audio CODEC: | 
|  | - stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential) | 
|  | - stericsson,amic1a-bias-vamic2          : Analoge Mic wishes to use a non-standard Vamic | 
|  | - stericsson,amic1b-bias-vamic2          : Analoge Mic wishes to use a non-standard Vamic | 
|  | - stericsson,amic2-bias-vamic1           : Analoge Mic wishes to use a non-standard Vamic | 
|  | - stericsson,earpeice-cmv                : Earpeice voltage (only: 950 | 1100 | 1270 | 1580) | 
|  |  | 
|  | ab8500 { | 
|  | compatible = "stericsson,ab8500"; | 
|  | interrupts = <0 40 0x4>; | 
|  | interrupt-controller; | 
|  | #interrupt-cells = <2>; | 
|  |  | 
|  | ab8500-rtc { | 
|  | compatible = "stericsson,ab8500-rtc"; | 
|  | interrupts = <17 0x4 | 
|  | 18 0x4>; | 
|  | interrupt-names = "60S", "ALARM"; | 
|  | }; | 
|  |  | 
|  | ab8500-gpadc { | 
|  | compatible = "stericsson,ab8500-gpadc"; | 
|  | interrupts = <32 0x4 | 
|  | 39 0x4>; | 
|  | interrupt-names = "HW_CONV_END", "SW_CONV_END"; | 
|  | vddadc-supply = <&ab8500_ldo_tvout_reg>; | 
|  | }; | 
|  |  | 
|  | ab8500-usb { | 
|  | compatible = "stericsson,ab8500-usb"; | 
|  | interrupts = < 90 0x4 | 
|  | 96 0x4 | 
|  | 14 0x4 | 
|  | 15 0x4 | 
|  | 79 0x4 | 
|  | 74 0x4 | 
|  | 75 0x4>; | 
|  | interrupt-names = "ID_WAKEUP_R", | 
|  | "ID_WAKEUP_F", | 
|  | "VBUS_DET_F", | 
|  | "VBUS_DET_R", | 
|  | "USB_LINK_STATUS", | 
|  | "USB_ADP_PROBE_PLUG", | 
|  | "USB_ADP_PROBE_UNPLUG"; | 
|  | vddulpivio18-supply = <&ab8500_ldo_initcore_reg>; | 
|  | v-ape-supply = <&db8500_vape_reg>; | 
|  | musb_1v8-supply = <&db8500_vsmps2_reg>; | 
|  | }; | 
|  |  | 
|  | ab8500-ponkey { | 
|  | compatible = "stericsson,ab8500-ponkey"; | 
|  | interrupts = <6 0x4 | 
|  | 7 0x4>; | 
|  | interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; | 
|  | }; | 
|  |  | 
|  | ab8500-sysctrl { | 
|  | compatible = "stericsson,ab8500-sysctrl"; | 
|  | }; | 
|  |  | 
|  | ab8500-pwm { | 
|  | compatible = "stericsson,ab8500-pwm"; | 
|  | }; | 
|  |  | 
|  | codec: ab8500-codec { | 
|  | compatible = "stericsson,ab8500-codec"; | 
|  |  | 
|  | stericsson,earpeice-cmv = <950>; /* Units in mV. */ | 
|  | }; | 
|  |  | 
|  | ab8500-regulators { | 
|  | compatible = "stericsson,ab8500-regulator"; | 
|  |  | 
|  | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | 
|  | /* | 
|  | * See: Documentation/devicetree/bindings/regulator/regulator.txt | 
|  | * for more information on regulators | 
|  | */ | 
|  | }; | 
|  | }; | 
|  | }; |