Lee Jones | ad95ad1 | 2012-07-13 12:42:26 +0200 | [diff] [blame] | 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 |
Lee Jones | e8b9acd | 2012-07-31 12:30:57 +0100 | [diff] [blame] | 26 | ab8500-codec : : : Audio Codec |
Rajanikanth H.V | e0f1abe | 2012-11-18 18:45:41 -0800 | [diff] [blame] | 27 | ab8500-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.V | bd9e8ab | 2012-11-18 19:16:58 -0800 | [diff] [blame] | 33 | ab8500-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 and“MaxTemp |
| 38 | : BTEMP_HIGH : : Btemp > BtempHigh, if battery temperature is higher than “MaxTemp |
Rajanikanth H.V | 4aef72d | 2012-11-18 19:17:47 -0800 | [diff] [blame] | 39 | ab8500-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 Jones | ad95ad1 | 2012-07-13 12:42:26 +0200 | [diff] [blame] | 53 | ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter |
| 54 | SW_CONV_END : : |
| 55 | ab8500-gpio : : : GPIO Controller |
| 56 | ab8500-ponkey : ONKEY_DBF : : Power-on Key |
| 57 | ONKEY_DBR : : |
| 58 | ab8500-pwm : : : Pulse Width Modulator |
| 59 | ab8500-regulator : : : Regulators |
| 60 | ab8500-rtc : 60S : : Real Time Clock |
| 61 | : ALARM : : |
| 62 | ab8500-sysctrl : : : System Control |
| 63 | ab8500-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 | |
| 71 | Required child device properties: |
| 72 | - compatible : "stericsson,ab8500-[bm|btemp|charger|fg|gpadc|gpio|ponkey| |
| 73 | pwm|regulator|rtc|sysctrl|usb]"; |
| 74 | |
| 75 | Optional 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 Jones | e8b9acd | 2012-07-31 12:30:57 +0100 | [diff] [blame] | 81 | Non-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 Jones | ad95ad1 | 2012-07-13 12:42:26 +0200 | [diff] [blame] | 89 | ab8500@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 Jones | e8b9acd | 2012-07-31 12:30:57 +0100 | [diff] [blame] | 147 | codec: ab8500-codec { |
| 148 | compatible = "stericsson,ab8500-codec"; |
| 149 | |
| 150 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ |
| 151 | }; |
| 152 | |
Lee Jones | ad95ad1 | 2012-07-13 12:42:26 +0200 | [diff] [blame] | 153 | 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 | }; |