| Nick Pelly | b3765b2 | 2010-08-16 15:31:01 -0700 | [diff] [blame] | 1 | /**************************************************************************** | 
|  | 2 | **************************************************************************** | 
|  | 3 | *** | 
|  | 4 | ***   This header was automatically generated from a Linux kernel header | 
|  | 5 | ***   of the same name, to make information necessary for userspace to | 
|  | 6 | ***   call into the kernel available to libc.  It contains only constants, | 
|  | 7 | ***   structures, and macros generated from the original header, and thus, | 
|  | 8 | ***   contains no copyrightable information. | 
|  | 9 | *** | 
|  | 10 | **************************************************************************** | 
|  | 11 | ****************************************************************************/ | 
|  | 12 | #ifndef _LINUX_SPI_CPCAP_H | 
|  | 13 | #define _LINUX_SPI_CPCAP_H | 
|  | 14 |  | 
|  | 15 | #include <linux/ioctl.h> | 
|  | 16 |  | 
|  | 17 | #define CPCAP_DEV_NAME "cpcap" | 
|  | 18 | #define CPCAP_NUM_REG_CPCAP (CPCAP_REG_END - CPCAP_REG_START + 1) | 
|  | 19 |  | 
|  | 20 | #define CPCAP_IRQ_INT1_INDEX 0 | 
|  | 21 | #define CPCAP_IRQ_INT2_INDEX 16 | 
|  | 22 | #define CPCAP_IRQ_INT3_INDEX 32 | 
|  | 23 | #define CPCAP_IRQ_INT4_INDEX 48 | 
|  | 24 | #define CPCAP_IRQ_INT5_INDEX 64 | 
|  | 25 |  | 
| Iliyan Malchev | bb3bcbc | 2010-11-02 15:58:36 -0700 | [diff] [blame] | 26 | #define CPCAP_HWCFG_NUM 2 | 
|  | 27 |  | 
|  | 28 | #define CPCAP_HWCFG0_SEC_STBY_SW1 0x0001 | 
|  | 29 | #define CPCAP_HWCFG0_SEC_STBY_SW2 0x0002 | 
|  | 30 | #define CPCAP_HWCFG0_SEC_STBY_SW3 0x0004 | 
|  | 31 | #define CPCAP_HWCFG0_SEC_STBY_SW4 0x0008 | 
|  | 32 | #define CPCAP_HWCFG0_SEC_STBY_SW5 0x0010 | 
|  | 33 | #define CPCAP_HWCFG0_SEC_STBY_VAUDIO 0x0020 | 
|  | 34 | #define CPCAP_HWCFG0_SEC_STBY_VCAM 0x0040 | 
|  | 35 | #define CPCAP_HWCFG0_SEC_STBY_VCSI 0x0080 | 
|  | 36 | #define CPCAP_HWCFG0_SEC_STBY_VDAC 0x0100 | 
|  | 37 | #define CPCAP_HWCFG0_SEC_STBY_VDIG 0x0200 | 
|  | 38 | #define CPCAP_HWCFG0_SEC_STBY_VHVIO 0x0400 | 
|  | 39 | #define CPCAP_HWCFG0_SEC_STBY_VPLL 0x0800 | 
|  | 40 | #define CPCAP_HWCFG0_SEC_STBY_VRF1 0x1000 | 
|  | 41 | #define CPCAP_HWCFG0_SEC_STBY_VRF2 0x2000 | 
|  | 42 | #define CPCAP_HWCFG0_SEC_STBY_VRFREF 0x4000 | 
|  | 43 | #define CPCAP_HWCFG0_SEC_STBY_VSDIO 0x8000 | 
|  | 44 |  | 
|  | 45 | #define CPCAP_HWCFG1_SEC_STBY_VWLAN1 0x0001 | 
|  | 46 | #define CPCAP_HWCFG1_SEC_STBY_VWLAN2 0x0002 | 
|  | 47 | #define CPCAP_HWCFG1_SEC_STBY_VSIM 0x0004 | 
|  | 48 | #define CPCAP_HWCFG1_SEC_STBY_VSIMCARD 0x0008 | 
|  | 49 |  | 
| Nick Pelly | b3765b2 | 2010-08-16 15:31:01 -0700 | [diff] [blame] | 50 | #define CPCAP_WHISPER_MODE_PU 0x00000001 | 
|  | 51 | #define CPCAP_WHISPER_ENABLE_UART 0x00000002 | 
|  | 52 | #define CPCAP_WHISPER_ACCY_MASK 0xF8000000 | 
|  | 53 | #define CPCAP_WHISPER_ACCY_SHFT 27 | 
|  | 54 | #define CPCAP_WHISPER_ID_SIZE 16 | 
| Iliyan Malchev | bb3bcbc | 2010-11-02 15:58:36 -0700 | [diff] [blame] | 55 | #define CPCAP_WHISPER_PROP_SIZE 7 | 
| Nick Pelly | b3765b2 | 2010-08-16 15:31:01 -0700 | [diff] [blame] | 56 |  | 
|  | 57 | enum cpcap_regulator_id { | 
|  | 58 | CPCAP_SW2, | 
|  | 59 | CPCAP_SW4, | 
|  | 60 | CPCAP_SW5, | 
|  | 61 | CPCAP_VCAM, | 
|  | 62 | CPCAP_VCSI, | 
|  | 63 | CPCAP_VDAC, | 
|  | 64 | CPCAP_VDIG, | 
|  | 65 | CPCAP_VFUSE, | 
|  | 66 | CPCAP_VHVIO, | 
|  | 67 | CPCAP_VSDIO, | 
|  | 68 | CPCAP_VPLL, | 
|  | 69 | CPCAP_VRF1, | 
|  | 70 | CPCAP_VRF2, | 
|  | 71 | CPCAP_VRFREF, | 
|  | 72 | CPCAP_VWLAN1, | 
|  | 73 | CPCAP_VWLAN2, | 
|  | 74 | CPCAP_VSIM, | 
|  | 75 | CPCAP_VSIMCARD, | 
|  | 76 | CPCAP_VVIB, | 
|  | 77 | CPCAP_VUSB, | 
|  | 78 | CPCAP_VAUDIO, | 
|  | 79 | CPCAP_NUM_REGULATORS | 
|  | 80 | }; | 
|  | 81 |  | 
|  | 82 | enum cpcap_reg { | 
|  | 83 | CPCAP_REG_START, | 
|  | 84 |  | 
|  | 85 | CPCAP_REG_INT1 = CPCAP_REG_START, | 
|  | 86 | CPCAP_REG_INT2, | 
|  | 87 | CPCAP_REG_INT3, | 
|  | 88 | CPCAP_REG_INT4, | 
|  | 89 | CPCAP_REG_INTM1, | 
|  | 90 | CPCAP_REG_INTM2, | 
|  | 91 | CPCAP_REG_INTM3, | 
|  | 92 | CPCAP_REG_INTM4, | 
|  | 93 | CPCAP_REG_INTS1, | 
|  | 94 | CPCAP_REG_INTS2, | 
|  | 95 | CPCAP_REG_INTS3, | 
|  | 96 | CPCAP_REG_INTS4, | 
|  | 97 | CPCAP_REG_ASSIGN1, | 
|  | 98 | CPCAP_REG_ASSIGN2, | 
|  | 99 | CPCAP_REG_ASSIGN3, | 
|  | 100 | CPCAP_REG_ASSIGN4, | 
|  | 101 | CPCAP_REG_ASSIGN5, | 
|  | 102 | CPCAP_REG_ASSIGN6, | 
|  | 103 | CPCAP_REG_VERSC1, | 
|  | 104 | CPCAP_REG_VERSC2, | 
|  | 105 |  | 
|  | 106 | CPCAP_REG_MI1, | 
|  | 107 | CPCAP_REG_MIM1, | 
|  | 108 | CPCAP_REG_MI2, | 
|  | 109 | CPCAP_REG_MIM2, | 
|  | 110 | CPCAP_REG_UCC1, | 
|  | 111 | CPCAP_REG_UCC2, | 
|  | 112 | CPCAP_REG_PC1, | 
|  | 113 | CPCAP_REG_PC2, | 
|  | 114 | CPCAP_REG_BPEOL, | 
|  | 115 | CPCAP_REG_PGC, | 
|  | 116 | CPCAP_REG_MT1, | 
|  | 117 | CPCAP_REG_MT2, | 
|  | 118 | CPCAP_REG_MT3, | 
|  | 119 | CPCAP_REG_PF, | 
|  | 120 |  | 
|  | 121 | CPCAP_REG_SCC, | 
|  | 122 | CPCAP_REG_SW1, | 
|  | 123 | CPCAP_REG_SW2, | 
|  | 124 | CPCAP_REG_UCTM, | 
|  | 125 | CPCAP_REG_TOD1, | 
|  | 126 | CPCAP_REG_TOD2, | 
|  | 127 | CPCAP_REG_TODA1, | 
|  | 128 | CPCAP_REG_TODA2, | 
|  | 129 | CPCAP_REG_DAY, | 
|  | 130 | CPCAP_REG_DAYA, | 
|  | 131 | CPCAP_REG_VAL1, | 
|  | 132 | CPCAP_REG_VAL2, | 
|  | 133 |  | 
|  | 134 | CPCAP_REG_SDVSPLL, | 
|  | 135 | CPCAP_REG_SI2CC1, | 
|  | 136 | CPCAP_REG_Si2CC2, | 
|  | 137 | CPCAP_REG_S1C1, | 
|  | 138 | CPCAP_REG_S1C2, | 
|  | 139 | CPCAP_REG_S2C1, | 
|  | 140 | CPCAP_REG_S2C2, | 
|  | 141 | CPCAP_REG_S3C, | 
|  | 142 | CPCAP_REG_S4C1, | 
|  | 143 | CPCAP_REG_S4C2, | 
|  | 144 | CPCAP_REG_S5C, | 
|  | 145 | CPCAP_REG_S6C, | 
|  | 146 | CPCAP_REG_VCAMC, | 
|  | 147 | CPCAP_REG_VCSIC, | 
|  | 148 | CPCAP_REG_VDACC, | 
|  | 149 | CPCAP_REG_VDIGC, | 
|  | 150 | CPCAP_REG_VFUSEC, | 
|  | 151 | CPCAP_REG_VHVIOC, | 
|  | 152 | CPCAP_REG_VSDIOC, | 
|  | 153 | CPCAP_REG_VPLLC, | 
|  | 154 | CPCAP_REG_VRF1C, | 
|  | 155 | CPCAP_REG_VRF2C, | 
|  | 156 | CPCAP_REG_VRFREFC, | 
|  | 157 | CPCAP_REG_VWLAN1C, | 
|  | 158 | CPCAP_REG_VWLAN2C, | 
|  | 159 | CPCAP_REG_VSIMC, | 
|  | 160 | CPCAP_REG_VVIBC, | 
|  | 161 | CPCAP_REG_VUSBC, | 
|  | 162 | CPCAP_REG_VUSBINT1C, | 
|  | 163 | CPCAP_REG_VUSBINT2C, | 
|  | 164 | CPCAP_REG_URT, | 
|  | 165 | CPCAP_REG_URM1, | 
|  | 166 | CPCAP_REG_URM2, | 
|  | 167 |  | 
|  | 168 | CPCAP_REG_VAUDIOC, | 
|  | 169 | CPCAP_REG_CC, | 
|  | 170 | CPCAP_REG_CDI, | 
|  | 171 | CPCAP_REG_SDAC, | 
|  | 172 | CPCAP_REG_SDACDI, | 
|  | 173 | CPCAP_REG_TXI, | 
|  | 174 | CPCAP_REG_TXMP, | 
|  | 175 | CPCAP_REG_RXOA, | 
|  | 176 | CPCAP_REG_RXVC, | 
|  | 177 | CPCAP_REG_RXCOA, | 
|  | 178 | CPCAP_REG_RXSDOA, | 
|  | 179 | CPCAP_REG_RXEPOA, | 
|  | 180 | CPCAP_REG_RXLL, | 
|  | 181 | CPCAP_REG_A2LA, | 
|  | 182 | CPCAP_REG_MIPIS1, | 
|  | 183 | CPCAP_REG_MIPIS2, | 
|  | 184 | CPCAP_REG_MIPIS3, | 
|  | 185 | CPCAP_REG_LVAB, | 
|  | 186 |  | 
|  | 187 | CPCAP_REG_CCC1, | 
|  | 188 | CPCAP_REG_CRM, | 
|  | 189 | CPCAP_REG_CCCC2, | 
|  | 190 | CPCAP_REG_CCS1, | 
|  | 191 | CPCAP_REG_CCS2, | 
|  | 192 | CPCAP_REG_CCA1, | 
|  | 193 | CPCAP_REG_CCA2, | 
|  | 194 | CPCAP_REG_CCM, | 
|  | 195 | CPCAP_REG_CCO, | 
|  | 196 | CPCAP_REG_CCI, | 
|  | 197 |  | 
|  | 198 | CPCAP_REG_ADCC1, | 
|  | 199 | CPCAP_REG_ADCC2, | 
|  | 200 | CPCAP_REG_ADCD0, | 
|  | 201 | CPCAP_REG_ADCD1, | 
|  | 202 | CPCAP_REG_ADCD2, | 
|  | 203 | CPCAP_REG_ADCD3, | 
|  | 204 | CPCAP_REG_ADCD4, | 
|  | 205 | CPCAP_REG_ADCD5, | 
|  | 206 | CPCAP_REG_ADCD6, | 
|  | 207 | CPCAP_REG_ADCD7, | 
|  | 208 | CPCAP_REG_ADCAL1, | 
|  | 209 | CPCAP_REG_ADCAL2, | 
|  | 210 |  | 
|  | 211 | CPCAP_REG_USBC1, | 
|  | 212 | CPCAP_REG_USBC2, | 
|  | 213 | CPCAP_REG_USBC3, | 
|  | 214 | CPCAP_REG_UVIDL, | 
|  | 215 | CPCAP_REG_UVIDH, | 
|  | 216 | CPCAP_REG_UPIDL, | 
|  | 217 | CPCAP_REG_UPIDH, | 
|  | 218 | CPCAP_REG_UFC1, | 
|  | 219 | CPCAP_REG_UFC2, | 
|  | 220 | CPCAP_REG_UFC3, | 
|  | 221 | CPCAP_REG_UIC1, | 
|  | 222 | CPCAP_REG_UIC2, | 
|  | 223 | CPCAP_REG_UIC3, | 
|  | 224 | CPCAP_REG_USBOTG1, | 
|  | 225 | CPCAP_REG_USBOTG2, | 
|  | 226 | CPCAP_REG_USBOTG3, | 
|  | 227 | CPCAP_REG_UIER1, | 
|  | 228 | CPCAP_REG_UIER2, | 
|  | 229 | CPCAP_REG_UIER3, | 
|  | 230 | CPCAP_REG_UIEF1, | 
|  | 231 | CPCAP_REG_UIEF2, | 
|  | 232 | CPCAP_REG_UIEF3, | 
|  | 233 | CPCAP_REG_UIS, | 
|  | 234 | CPCAP_REG_UIL, | 
|  | 235 | CPCAP_REG_USBD, | 
|  | 236 | CPCAP_REG_SCR1, | 
|  | 237 | CPCAP_REG_SCR2, | 
|  | 238 | CPCAP_REG_SCR3, | 
|  | 239 | CPCAP_REG_VMC, | 
|  | 240 | CPCAP_REG_OWDC, | 
|  | 241 | CPCAP_REG_GPIO0, | 
|  | 242 | CPCAP_REG_GPIO1, | 
|  | 243 | CPCAP_REG_GPIO2, | 
|  | 244 | CPCAP_REG_GPIO3, | 
|  | 245 | CPCAP_REG_GPIO4, | 
|  | 246 | CPCAP_REG_GPIO5, | 
|  | 247 | CPCAP_REG_GPIO6, | 
|  | 248 |  | 
|  | 249 | CPCAP_REG_MDLC, | 
|  | 250 | CPCAP_REG_KLC, | 
|  | 251 | CPCAP_REG_ADLC, | 
|  | 252 | CPCAP_REG_REDC, | 
|  | 253 | CPCAP_REG_GREENC, | 
|  | 254 | CPCAP_REG_BLUEC, | 
|  | 255 | CPCAP_REG_CFC, | 
|  | 256 | CPCAP_REG_ABC, | 
|  | 257 | CPCAP_REG_BLEDC, | 
|  | 258 | CPCAP_REG_CLEDC, | 
|  | 259 |  | 
|  | 260 | CPCAP_REG_OW1C, | 
|  | 261 | CPCAP_REG_OW1D, | 
|  | 262 | CPCAP_REG_OW1I, | 
|  | 263 | CPCAP_REG_OW1IE, | 
|  | 264 | CPCAP_REG_OW1, | 
|  | 265 | CPCAP_REG_OW2C, | 
|  | 266 | CPCAP_REG_OW2D, | 
|  | 267 | CPCAP_REG_OW2I, | 
|  | 268 | CPCAP_REG_OW2IE, | 
|  | 269 | CPCAP_REG_OW2, | 
|  | 270 | CPCAP_REG_OW3C, | 
|  | 271 | CPCAP_REG_OW3D, | 
|  | 272 | CPCAP_REG_OW3I, | 
|  | 273 | CPCAP_REG_OW3IE, | 
|  | 274 | CPCAP_REG_OW3, | 
|  | 275 | CPCAP_REG_GCAIC, | 
|  | 276 | CPCAP_REG_GCAIM, | 
|  | 277 | CPCAP_REG_LGDIR, | 
|  | 278 | CPCAP_REG_LGPU, | 
|  | 279 | CPCAP_REG_LGPIN, | 
|  | 280 | CPCAP_REG_LGMASK, | 
|  | 281 | CPCAP_REG_LDEB, | 
|  | 282 | CPCAP_REG_LGDET, | 
|  | 283 | CPCAP_REG_LMISC, | 
|  | 284 | CPCAP_REG_LMACE, | 
|  | 285 |  | 
|  | 286 | CPCAP_REG_END = CPCAP_REG_LMACE, | 
|  | 287 |  | 
|  | 288 | CPCAP_REG_MAX | 
|  | 289 | = CPCAP_REG_END, | 
|  | 290 |  | 
|  | 291 | CPCAP_REG_SIZE = CPCAP_REG_MAX + 1, | 
|  | 292 | CPCAP_REG_UNUSED = CPCAP_REG_MAX + 2, | 
|  | 293 | }; | 
|  | 294 |  | 
|  | 295 | enum { | 
|  | 296 | CPCAP_IOCTL_NUM_TEST__START, | 
|  | 297 | CPCAP_IOCTL_NUM_TEST_READ_REG, | 
|  | 298 | CPCAP_IOCTL_NUM_TEST_WRITE_REG, | 
|  | 299 | CPCAP_IOCTL_NUM_TEST__END, | 
|  | 300 |  | 
|  | 301 | CPCAP_IOCTL_NUM_ADC__START, | 
|  | 302 | CPCAP_IOCTL_NUM_ADC_PHASE, | 
|  | 303 | CPCAP_IOCTL_NUM_ADC__END, | 
|  | 304 |  | 
|  | 305 | CPCAP_IOCTL_NUM_BATT__START, | 
|  | 306 | CPCAP_IOCTL_NUM_BATT_DISPLAY_UPDATE, | 
|  | 307 | CPCAP_IOCTL_NUM_BATT_ATOD_ASYNC, | 
|  | 308 | CPCAP_IOCTL_NUM_BATT_ATOD_SYNC, | 
|  | 309 | CPCAP_IOCTL_NUM_BATT_ATOD_READ, | 
|  | 310 | CPCAP_IOCTL_NUM_BATT__END, | 
|  | 311 |  | 
|  | 312 | CPCAP_IOCTL_NUM_UC__START, | 
|  | 313 | CPCAP_IOCTL_NUM_UC_MACRO_START, | 
|  | 314 | CPCAP_IOCTL_NUM_UC_MACRO_STOP, | 
|  | 315 | CPCAP_IOCTL_NUM_UC_GET_VENDOR, | 
|  | 316 | CPCAP_IOCTL_NUM_UC_SET_TURBO_MODE, | 
|  | 317 | CPCAP_IOCTL_NUM_UC__END, | 
|  | 318 |  | 
|  | 319 | CPCAP_IOCTL_NUM_ACCY__START, | 
|  | 320 | CPCAP_IOCTL_NUM_ACCY_WHISPER, | 
|  | 321 | CPCAP_IOCTL_NUM_ACCY__END, | 
|  | 322 | }; | 
|  | 323 |  | 
|  | 324 | enum cpcap_irqs { | 
|  | 325 | CPCAP_IRQ__START, | 
|  | 326 | CPCAP_IRQ_HSCLK = CPCAP_IRQ_INT1_INDEX, | 
|  | 327 | CPCAP_IRQ_PRIMAC, | 
|  | 328 | CPCAP_IRQ_SECMAC, | 
|  | 329 | CPCAP_IRQ_LOWBPL, | 
|  | 330 | CPCAP_IRQ_SEC2PRI, | 
|  | 331 | CPCAP_IRQ_LOWBPH, | 
|  | 332 | CPCAP_IRQ_EOL, | 
|  | 333 | CPCAP_IRQ_TS, | 
|  | 334 | CPCAP_IRQ_ADCDONE, | 
|  | 335 | CPCAP_IRQ_HS, | 
|  | 336 | CPCAP_IRQ_MB2, | 
|  | 337 | CPCAP_IRQ_VBUSOV, | 
|  | 338 | CPCAP_IRQ_RVRS_CHRG, | 
|  | 339 | CPCAP_IRQ_CHRG_DET, | 
|  | 340 | CPCAP_IRQ_IDFLOAT, | 
|  | 341 | CPCAP_IRQ_IDGND, | 
|  | 342 |  | 
|  | 343 | CPCAP_IRQ_SE1 = CPCAP_IRQ_INT2_INDEX, | 
|  | 344 | CPCAP_IRQ_SESSEND, | 
|  | 345 | CPCAP_IRQ_SESSVLD, | 
|  | 346 | CPCAP_IRQ_VBUSVLD, | 
|  | 347 | CPCAP_IRQ_CHRG_CURR1, | 
|  | 348 | CPCAP_IRQ_CHRG_CURR2, | 
|  | 349 | CPCAP_IRQ_RVRS_MODE, | 
|  | 350 | CPCAP_IRQ_ON, | 
|  | 351 | CPCAP_IRQ_ON2, | 
|  | 352 | CPCAP_IRQ_CLK, | 
|  | 353 | CPCAP_IRQ_1HZ, | 
|  | 354 | CPCAP_IRQ_PTT, | 
|  | 355 | CPCAP_IRQ_SE0CONN, | 
|  | 356 | CPCAP_IRQ_CHRG_SE1B, | 
|  | 357 | CPCAP_IRQ_UART_ECHO_OVERRUN, | 
|  | 358 | CPCAP_IRQ_EXTMEMHD, | 
|  | 359 |  | 
|  | 360 | CPCAP_IRQ_WARM = CPCAP_IRQ_INT3_INDEX, | 
|  | 361 | CPCAP_IRQ_SYSRSTR, | 
|  | 362 | CPCAP_IRQ_SOFTRST, | 
|  | 363 | CPCAP_IRQ_DIEPWRDWN, | 
|  | 364 | CPCAP_IRQ_DIETEMPH, | 
|  | 365 | CPCAP_IRQ_PC, | 
|  | 366 | CPCAP_IRQ_OFLOWSW, | 
|  | 367 | CPCAP_IRQ_TODA, | 
|  | 368 | CPCAP_IRQ_OPT_SEL_DTCH, | 
|  | 369 | CPCAP_IRQ_OPT_SEL_STATE, | 
|  | 370 | CPCAP_IRQ_ONEWIRE1, | 
|  | 371 | CPCAP_IRQ_ONEWIRE2, | 
|  | 372 | CPCAP_IRQ_ONEWIRE3, | 
|  | 373 | CPCAP_IRQ_UCRESET, | 
|  | 374 | CPCAP_IRQ_PWRGOOD, | 
|  | 375 | CPCAP_IRQ_USBDPLLCLK, | 
|  | 376 |  | 
|  | 377 | CPCAP_IRQ_DPI = CPCAP_IRQ_INT4_INDEX, | 
|  | 378 | CPCAP_IRQ_DMI, | 
|  | 379 | CPCAP_IRQ_UCBUSY, | 
|  | 380 | CPCAP_IRQ_GCAI_CURR1, | 
|  | 381 | CPCAP_IRQ_GCAI_CURR2, | 
|  | 382 | CPCAP_IRQ_SB_MAX_RETRANSMIT_ERR, | 
|  | 383 | CPCAP_IRQ_BATTDETB, | 
|  | 384 | CPCAP_IRQ_PRIHALT, | 
|  | 385 | CPCAP_IRQ_SECHALT, | 
|  | 386 | CPCAP_IRQ_CC_CAL, | 
|  | 387 |  | 
|  | 388 | CPCAP_IRQ_UC_PRIROMR = CPCAP_IRQ_INT5_INDEX, | 
|  | 389 | CPCAP_IRQ_UC_PRIRAMW, | 
|  | 390 | CPCAP_IRQ_UC_PRIRAMR, | 
|  | 391 | CPCAP_IRQ_UC_USEROFF, | 
|  | 392 | CPCAP_IRQ_UC_PRIMACRO_4, | 
|  | 393 | CPCAP_IRQ_UC_PRIMACRO_5, | 
|  | 394 | CPCAP_IRQ_UC_PRIMACRO_6, | 
|  | 395 | CPCAP_IRQ_UC_PRIMACRO_7, | 
|  | 396 | CPCAP_IRQ_UC_PRIMACRO_8, | 
|  | 397 | CPCAP_IRQ_UC_PRIMACRO_9, | 
|  | 398 | CPCAP_IRQ_UC_PRIMACRO_10, | 
|  | 399 | CPCAP_IRQ_UC_PRIMACRO_11, | 
|  | 400 | CPCAP_IRQ_UC_PRIMACRO_12, | 
|  | 401 | CPCAP_IRQ_UC_PRIMACRO_13, | 
|  | 402 | CPCAP_IRQ_UC_PRIMACRO_14, | 
|  | 403 | CPCAP_IRQ_UC_PRIMACRO_15, | 
|  | 404 | CPCAP_IRQ__NUM | 
|  | 405 | }; | 
|  | 406 |  | 
|  | 407 | enum cpcap_adc_bank0 { | 
|  | 408 | CPCAP_ADC_AD0_BATTDETB, | 
|  | 409 | CPCAP_ADC_BATTP, | 
|  | 410 | CPCAP_ADC_VBUS, | 
|  | 411 | CPCAP_ADC_AD3, | 
|  | 412 | CPCAP_ADC_BPLUS_AD4, | 
|  | 413 | CPCAP_ADC_CHG_ISENSE, | 
|  | 414 | CPCAP_ADC_BATTI_ADC, | 
|  | 415 | CPCAP_ADC_USB_ID, | 
|  | 416 |  | 
|  | 417 | CPCAP_ADC_BANK0_NUM, | 
|  | 418 | }; | 
|  | 419 |  | 
|  | 420 | enum cpcap_adc_bank1 { | 
|  | 421 | CPCAP_ADC_AD8, | 
|  | 422 | CPCAP_ADC_AD9, | 
|  | 423 | CPCAP_ADC_LICELL, | 
|  | 424 | CPCAP_ADC_HV_BATTP, | 
|  | 425 | CPCAP_ADC_TSX1_AD12, | 
|  | 426 | CPCAP_ADC_TSX2_AD13, | 
|  | 427 | CPCAP_ADC_TSY1_AD14, | 
|  | 428 | CPCAP_ADC_TSY2_AD15, | 
|  | 429 |  | 
|  | 430 | CPCAP_ADC_BANK1_NUM, | 
|  | 431 | }; | 
|  | 432 |  | 
|  | 433 | enum cpcap_adc_format { | 
|  | 434 | CPCAP_ADC_FORMAT_RAW, | 
|  | 435 | CPCAP_ADC_FORMAT_PHASED, | 
|  | 436 | CPCAP_ADC_FORMAT_CONVERTED, | 
|  | 437 | }; | 
|  | 438 |  | 
|  | 439 | enum cpcap_adc_timing { | 
|  | 440 | CPCAP_ADC_TIMING_IMM, | 
|  | 441 | CPCAP_ADC_TIMING_IN, | 
|  | 442 | CPCAP_ADC_TIMING_OUT, | 
|  | 443 | }; | 
|  | 444 |  | 
|  | 445 | enum cpcap_adc_type { | 
|  | 446 | CPCAP_ADC_TYPE_BANK_0, | 
|  | 447 | CPCAP_ADC_TYPE_BANK_1, | 
|  | 448 | CPCAP_ADC_TYPE_BATT_PI, | 
|  | 449 | }; | 
|  | 450 |  | 
|  | 451 | enum cpcap_macro { | 
|  | 452 | CPCAP_MACRO_ROMR, | 
|  | 453 | CPCAP_MACRO_RAMW, | 
|  | 454 | CPCAP_MACRO_RAMR, | 
|  | 455 | CPCAP_MACRO_USEROFF, | 
|  | 456 | CPCAP_MACRO_4, | 
|  | 457 | CPCAP_MACRO_5, | 
|  | 458 | CPCAP_MACRO_6, | 
|  | 459 | CPCAP_MACRO_7, | 
|  | 460 | CPCAP_MACRO_8, | 
|  | 461 | CPCAP_MACRO_9, | 
|  | 462 | CPCAP_MACRO_10, | 
|  | 463 | CPCAP_MACRO_11, | 
|  | 464 | CPCAP_MACRO_12, | 
|  | 465 | CPCAP_MACRO_13, | 
|  | 466 | CPCAP_MACRO_14, | 
|  | 467 | CPCAP_MACRO_15, | 
|  | 468 |  | 
|  | 469 | CPCAP_MACRO__END, | 
|  | 470 | }; | 
|  | 471 |  | 
|  | 472 | enum cpcap_vendor { | 
|  | 473 | CPCAP_VENDOR_ST, | 
|  | 474 | CPCAP_VENDOR_TI, | 
|  | 475 | }; | 
|  | 476 |  | 
|  | 477 | enum cpcap_revision { | 
|  | 478 | CPCAP_REVISION_1_0 = 0x08, | 
|  | 479 | CPCAP_REVISION_1_1 = 0x09, | 
|  | 480 | CPCAP_REVISION_2_0 = 0x10, | 
|  | 481 | CPCAP_REVISION_2_1 = 0x11, | 
|  | 482 | }; | 
|  | 483 |  | 
|  | 484 | enum cpcap_batt_usb_model { | 
|  | 485 | CPCAP_BATT_USB_MODEL_NONE, | 
|  | 486 | CPCAP_BATT_USB_MODEL_USB, | 
|  | 487 | CPCAP_BATT_USB_MODEL_FACTORY, | 
|  | 488 | }; | 
|  | 489 |  | 
|  | 490 | struct cpcap_spi_init_data { | 
|  | 491 | enum cpcap_reg reg; | 
|  | 492 | unsigned short data; | 
|  | 493 | }; | 
|  | 494 |  | 
|  | 495 | struct cpcap_adc_ato { | 
|  | 496 | unsigned short ato_in; | 
|  | 497 | unsigned short atox_in; | 
|  | 498 | unsigned short adc_ps_factor_in; | 
|  | 499 | unsigned short atox_ps_factor_in; | 
|  | 500 | unsigned short ato_out; | 
|  | 501 | unsigned short atox_out; | 
|  | 502 | unsigned short adc_ps_factor_out; | 
|  | 503 | unsigned short atox_ps_factor_out; | 
|  | 504 | }; | 
|  | 505 |  | 
|  | 506 | struct cpcap_batt_data { | 
|  | 507 | int status; | 
|  | 508 | int health; | 
|  | 509 | int present; | 
|  | 510 | int capacity; | 
|  | 511 | int batt_volt; | 
|  | 512 | int batt_temp; | 
|  | 513 | }; | 
|  | 514 |  | 
|  | 515 | struct cpcap_batt_ac_data { | 
|  | 516 | int online; | 
|  | 517 | }; | 
|  | 518 |  | 
|  | 519 | struct cpcap_batt_usb_data { | 
|  | 520 | int online; | 
|  | 521 | int current_now; | 
|  | 522 | enum cpcap_batt_usb_model model; | 
|  | 523 | }; | 
|  | 524 |  | 
|  | 525 | struct cpcap_device; | 
|  | 526 |  | 
|  | 527 | struct cpcap_adc_us_request { | 
|  | 528 | enum cpcap_adc_format format; | 
|  | 529 | enum cpcap_adc_timing timing; | 
|  | 530 | enum cpcap_adc_type type; | 
|  | 531 | int status; | 
|  | 532 | int result[CPCAP_ADC_BANK0_NUM]; | 
|  | 533 | }; | 
|  | 534 |  | 
|  | 535 | struct cpcap_adc_phase { | 
|  | 536 | signed char offset_batti; | 
|  | 537 | unsigned char slope_batti; | 
|  | 538 | signed char offset_chrgi; | 
|  | 539 | unsigned char slope_chrgi; | 
|  | 540 | signed char offset_battp; | 
|  | 541 | unsigned char slope_battp; | 
|  | 542 | signed char offset_bp; | 
|  | 543 | unsigned char slope_bp; | 
|  | 544 | signed char offset_battt; | 
|  | 545 | unsigned char slope_battt; | 
|  | 546 | signed char offset_chrgv; | 
|  | 547 | unsigned char slope_chrgv; | 
|  | 548 | }; | 
|  | 549 |  | 
|  | 550 | struct cpcap_regacc { | 
|  | 551 | unsigned short reg; | 
|  | 552 | unsigned short value; | 
|  | 553 | unsigned short mask; | 
|  | 554 | }; | 
|  | 555 |  | 
|  | 556 | struct cpcap_whisper_request { | 
|  | 557 | unsigned int cmd; | 
|  | 558 | char dock_id[CPCAP_WHISPER_ID_SIZE]; | 
| Iliyan Malchev | bb3bcbc | 2010-11-02 15:58:36 -0700 | [diff] [blame] | 559 | char dock_prop[CPCAP_WHISPER_PROP_SIZE]; | 
| Nick Pelly | b3765b2 | 2010-08-16 15:31:01 -0700 | [diff] [blame] | 560 | }; | 
|  | 561 |  | 
|  | 562 | #define CPCAP_IOCTL_TEST_READ_REG   _IOWR(0, CPCAP_IOCTL_NUM_TEST_READ_REG, struct cpcap_regacc*) | 
|  | 563 |  | 
|  | 564 | #define CPCAP_IOCTL_TEST_WRITE_REG   _IOWR(0, CPCAP_IOCTL_NUM_TEST_WRITE_REG, struct cpcap_regacc*) | 
|  | 565 |  | 
|  | 566 | #define CPCAP_IOCTL_ADC_PHASE   _IOWR(0, CPCAP_IOCTL_NUM_ADC_PHASE, struct cpcap_adc_phase*) | 
|  | 567 |  | 
|  | 568 | #define CPCAP_IOCTL_BATT_DISPLAY_UPDATE   _IOW(0, CPCAP_IOCTL_NUM_BATT_DISPLAY_UPDATE, struct cpcap_batt_data*) | 
|  | 569 |  | 
|  | 570 | #define CPCAP_IOCTL_BATT_ATOD_ASYNC   _IOW(0, CPCAP_IOCTL_NUM_BATT_ATOD_ASYNC, struct cpcap_adc_us_request*) | 
|  | 571 |  | 
|  | 572 | #define CPCAP_IOCTL_BATT_ATOD_SYNC   _IOWR(0, CPCAP_IOCTL_NUM_BATT_ATOD_SYNC, struct cpcap_adc_us_request*) | 
|  | 573 |  | 
|  | 574 | #define CPCAP_IOCTL_BATT_ATOD_READ   _IOWR(0, CPCAP_IOCTL_NUM_BATT_ATOD_READ, struct cpcap_adc_us_request*) | 
|  | 575 |  | 
|  | 576 | #define CPCAP_IOCTL_UC_MACRO_START   _IOWR(0, CPCAP_IOCTL_NUM_UC_MACRO_START, enum cpcap_macro) | 
|  | 577 |  | 
|  | 578 | #define CPCAP_IOCTL_UC_MACRO_STOP   _IOWR(0, CPCAP_IOCTL_NUM_UC_MACRO_STOP, enum cpcap_macro) | 
|  | 579 |  | 
|  | 580 | #define CPCAP_IOCTL_UC_GET_VENDOR   _IOWR(0, CPCAP_IOCTL_NUM_UC_GET_VENDOR, enum cpcap_vendor) | 
|  | 581 |  | 
|  | 582 | #define CPCAP_IOCTL_UC_SET_TURBO_MODE   _IOW(0, CPCAP_IOCTL_NUM_UC_SET_TURBO_MODE, unsigned short) | 
|  | 583 |  | 
|  | 584 | #define CPCAP_IOCTL_ACCY_WHISPER   _IOW(0, CPCAP_IOCTL_NUM_ACCY_WHISPER, struct cpcap_whisper_request*) | 
|  | 585 |  | 
|  | 586 | #endif | 
|  | 587 |  |