charging.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  1. /*****************************************************************************
  2. *
  3. * Filename:
  4. * ---------
  5. * charging.h
  6. *
  7. * Project:
  8. * --------
  9. * Maui_Software
  10. *
  11. * Description:
  12. * ------------
  13. * This Module defines bmt internal charger hw setting function.
  14. *
  15. * Author:
  16. * -------
  17. * Oscar Liu
  18. *
  19. *============================================================================
  20. * HISTORY
  21. * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  22. *------------------------------------------------------------------------------
  23. * Revision: 1.0
  24. * Modtime: 11 Aug 2005 10:28:16
  25. * Log: //mtkvs01/vmdata/Maui_sw/archives/mcu/hal/peripheral/inc/bmt_chr_setting.h-arc
  26. *
  27. * 05 15 2015 wy.chuang
  28. * [ALPS01990538] [MP Feature Patch Back]MT6312 driver & MT6328 init setting & charging setting
  29. * .
  30. *
  31. * 03 04 2015 wy.chuang
  32. * [ALPS01921641] [L1_merge] for PMIC and charging
  33. * .
  34. *------------------------------------------------------------------------------
  35. * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  36. *============================================================================
  37. ****************************************************************************/
  38. #ifndef CHARGING_H
  39. #define CHARGING_H
  40. #ifndef CONFIG_ARCH_MT8173
  41. #include <mach/mt_charging.h>
  42. #endif
  43. /* ============================================================ */
  44. /* define */
  45. /* ============================================================ */
  46. /*****************************************************************************
  47. * Log
  48. ****************************************************************************/
  49. #define BAT_LOG_CRTI 1
  50. #define BAT_LOG_FULL 2
  51. #define battery_xlog_printk(num, fmt, args...) \
  52. do {\
  53. if (Enable_BATDRV_LOG >= (int)num) \
  54. pr_debug(fmt, ##args); \
  55. } while (0)
  56. #define battery_log(num, fmt, args...) \
  57. do {\
  58. if (Enable_BATDRV_LOG >= (int)num) \
  59. switch (num) {\
  60. case BAT_LOG_CRTI:\
  61. pr_err(fmt, ##args); \
  62. break; \
  63. /*fall-through*/\
  64. default: \
  65. pr_debug(fmt, ##args); \
  66. break; \
  67. } \
  68. } while (0)
  69. /* ============================================================ */
  70. /* ENUM */
  71. /* ============================================================ */
  72. typedef enum {
  73. CHARGING_CMD_INIT,
  74. CHARGING_CMD_DUMP_REGISTER,
  75. CHARGING_CMD_ENABLE,
  76. CHARGING_CMD_SET_CV_VOLTAGE,
  77. CHARGING_CMD_GET_CURRENT,
  78. CHARGING_CMD_SET_CURRENT,
  79. CHARGING_CMD_SET_INPUT_CURRENT,
  80. CHARGING_CMD_GET_CHARGING_STATUS,
  81. CHARGING_CMD_RESET_WATCH_DOG_TIMER,
  82. CHARGING_CMD_SET_HV_THRESHOLD,
  83. CHARGING_CMD_GET_HV_STATUS,
  84. CHARGING_CMD_GET_BATTERY_STATUS,
  85. CHARGING_CMD_GET_CHARGER_DET_STATUS,
  86. CHARGING_CMD_GET_CHARGER_TYPE,
  87. CHARGING_CMD_GET_IS_PCM_TIMER_TRIGGER,
  88. CHARGING_CMD_SET_PLATFORM_RESET,
  89. CHARGING_CMD_GET_PLATFORM_BOOT_MODE,
  90. CHARGING_CMD_SET_POWER_OFF,
  91. CHARGING_CMD_GET_POWER_SOURCE,
  92. CHARGING_CMD_GET_CSDAC_FALL_FLAG,
  93. CHARGING_CMD_SET_TA_CURRENT_PATTERN,
  94. CHARGING_CMD_SET_ERROR_STATE,
  95. CHARGING_CMD_DISO_INIT,
  96. CHARGING_CMD_GET_DISO_STATE,
  97. CHARGING_CMD_SET_VINDPM,
  98. CHARGING_CMD_SET_VBUS_OVP_EN,
  99. CHARGING_CMD_GET_BIF_VBAT,
  100. CHARGING_CMD_SET_CHRIND_CK_PDN,
  101. CHARGING_CMD_SW_INIT,
  102. CHARGING_CMD_ENABLE_SAFETY_TIMER,
  103. CHARGING_CMD_SET_HIZ_SWCHR,
  104. CHARGING_CMD_GET_BIF_TBAT,
  105. CHARGING_CMD_NUMBER
  106. } CHARGING_CTRL_CMD;
  107. typedef enum {
  108. CHARGER_UNKNOWN = 0,
  109. STANDARD_HOST, /* USB : 450mA */
  110. CHARGING_HOST,
  111. NONSTANDARD_CHARGER, /* AC : 450mA~1A */
  112. STANDARD_CHARGER, /* AC : ~1A */
  113. APPLE_2_1A_CHARGER, /* 2.1A apple charger */
  114. APPLE_1_0A_CHARGER, /* 1A apple charger */
  115. APPLE_0_5A_CHARGER, /* 0.5A apple charger */
  116. WIRELESS_CHARGER,
  117. } CHARGER_TYPE;
  118. /* Enum of Voltage List */
  119. typedef enum {
  120. BATTERY_VOLT_00_000000_V = 0,
  121. BATTERY_VOLT_00_100000_V = 100000,
  122. BATTERY_VOLT_00_200000_V = 200000,
  123. BATTERY_VOLT_00_300000_V = 300000,
  124. BATTERY_VOLT_00_400000_V = 400000,
  125. BATTERY_VOLT_00_500000_V = 500000,
  126. BATTERY_VOLT_00_600000_V = 600000,
  127. BATTERY_VOLT_00_700000_V = 700000,
  128. BATTERY_VOLT_00_725000_V = 725000,
  129. BATTERY_VOLT_00_750000_V = 750000,
  130. BATTERY_VOLT_00_775000_V = 775000,
  131. BATTERY_VOLT_00_800000_V = 800000,
  132. BATTERY_VOLT_00_825000_V = 825000,
  133. BATTERY_VOLT_00_850000_V = 850000,
  134. BATTERY_VOLT_00_875000_V = 875000,
  135. BATTERY_VOLT_00_900000_V = 900000,
  136. BATTERY_VOLT_00_925000_V = 925000,
  137. BATTERY_VOLT_00_950000_V = 950000,
  138. BATTERY_VOLT_00_975000_V = 975000,
  139. BATTERY_VOLT_01_000000_V = 1000000,
  140. BATTERY_VOLT_01_025000_V = 1025000,
  141. BATTERY_VOLT_01_050000_V = 1050000,
  142. BATTERY_VOLT_01_075000_V = 1075000,
  143. BATTERY_VOLT_01_100000_V = 1100000,
  144. BATTERY_VOLT_01_125000_V = 1125000,
  145. BATTERY_VOLT_01_150000_V = 1150000,
  146. BATTERY_VOLT_01_175000_V = 1175000,
  147. BATTERY_VOLT_01_200000_V = 1200000,
  148. BATTERY_VOLT_01_225000_V = 1225000,
  149. BATTERY_VOLT_01_250000_V = 1250000,
  150. BATTERY_VOLT_01_275000_V = 1275000,
  151. BATTERY_VOLT_01_300000_V = 1300000,
  152. BATTERY_VOLT_01_325000_V = 1325000,
  153. BATTERY_VOLT_01_350000_V = 1350000,
  154. BATTERY_VOLT_01_375000_V = 1375000,
  155. BATTERY_VOLT_01_400000_V = 1400000,
  156. BATTERY_VOLT_01_425000_V = 1425000,
  157. BATTERY_VOLT_01_450000_V = 1450000,
  158. BATTERY_VOLT_01_475000_V = 1475000,
  159. BATTERY_VOLT_01_500000_V = 1500000,
  160. BATTERY_VOLT_01_520000_V = 1520000,
  161. BATTERY_VOLT_01_525000_V = 1525000,
  162. BATTERY_VOLT_01_540000_V = 1540000,
  163. BATTERY_VOLT_01_550000_V = 1550000,
  164. BATTERY_VOLT_01_560000_V = 1560000,
  165. BATTERY_VOLT_01_575000_V = 1575000,
  166. BATTERY_VOLT_01_580000_V = 1580000,
  167. BATTERY_VOLT_01_600000_V = 1600000,
  168. BATTERY_VOLT_01_620000_V = 1620000,
  169. BATTERY_VOLT_01_625000_V = 1625000,
  170. BATTERY_VOLT_01_640000_V = 1640000,
  171. BATTERY_VOLT_01_650000_V = 1650000,
  172. BATTERY_VOLT_01_660000_V = 1660000,
  173. BATTERY_VOLT_01_675000_V = 1675000,
  174. BATTERY_VOLT_01_680000_V = 1680000,
  175. BATTERY_VOLT_01_700000_V = 1700000,
  176. BATTERY_VOLT_01_720000_V = 1720000,
  177. BATTERY_VOLT_01_725000_V = 1725000,
  178. BATTERY_VOLT_01_740000_V = 1740000,
  179. BATTERY_VOLT_01_750000_V = 1750000,
  180. BATTERY_VOLT_01_760000_V = 1760000,
  181. BATTERY_VOLT_01_775000_V = 1775000,
  182. BATTERY_VOLT_01_780000_V = 1780000,
  183. BATTERY_VOLT_01_800000_V = 1800000,
  184. BATTERY_VOLT_01_820000_V = 1820000,
  185. BATTERY_VOLT_01_825000_V = 1825000,
  186. BATTERY_VOLT_01_840000_V = 1840000,
  187. BATTERY_VOLT_01_850000_V = 1850000,
  188. BATTERY_VOLT_01_860000_V = 1860000,
  189. BATTERY_VOLT_01_875000_V = 1875000,
  190. BATTERY_VOLT_01_880000_V = 1880000,
  191. BATTERY_VOLT_01_900000_V = 1900000,
  192. BATTERY_VOLT_01_920000_V = 1920000,
  193. BATTERY_VOLT_01_925000_V = 1925000,
  194. BATTERY_VOLT_01_940000_V = 1940000,
  195. BATTERY_VOLT_01_950000_V = 1950000,
  196. BATTERY_VOLT_01_960000_V = 1960000,
  197. BATTERY_VOLT_01_975000_V = 1975000,
  198. BATTERY_VOLT_01_980000_V = 1980000,
  199. BATTERY_VOLT_02_000000_V = 2000000,
  200. BATTERY_VOLT_02_020000_V = 2020000,
  201. BATTERY_VOLT_02_040000_V = 2040000,
  202. BATTERY_VOLT_02_050000_V = 2050000,
  203. BATTERY_VOLT_02_060000_V = 2060000,
  204. BATTERY_VOLT_02_080000_V = 2080000,
  205. BATTERY_VOLT_02_100000_V = 2100000,
  206. BATTERY_VOLT_02_120000_V = 2120000,
  207. BATTERY_VOLT_02_125000_V = 2125000,
  208. BATTERY_VOLT_02_140000_V = 2140000,
  209. BATTERY_VOLT_02_200000_V = 2200000,
  210. BATTERY_VOLT_02_275000_V = 2275000,
  211. BATTERY_VOLT_02_300000_V = 2300000,
  212. BATTERY_VOLT_02_350000_V = 2350000,
  213. BATTERY_VOLT_02_425000_V = 2425000,
  214. BATTERY_VOLT_02_400000_V = 2400000,
  215. BATTERY_VOLT_02_500000_V = 2500000,
  216. BATTERY_VOLT_02_575000_V = 2575000,
  217. BATTERY_VOLT_02_600000_V = 2600000,
  218. BATTERY_VOLT_02_650000_V = 2650000,
  219. BATTERY_VOLT_02_700000_V = 2700000,
  220. BATTERY_VOLT_02_725000_V = 2725000,
  221. BATTERY_VOLT_02_750000_V = 2750000,
  222. BATTERY_VOLT_02_800000_V = 2800000,
  223. BATTERY_VOLT_02_850000_V = 2850000,
  224. BATTERY_VOLT_02_875000_V = 2875000,
  225. BATTERY_VOLT_02_900000_V = 2900000,
  226. BATTERY_VOLT_02_950000_V = 2950000,
  227. BATTERY_VOLT_03_000000_V = 3000000,
  228. BATTERY_VOLT_03_025000_V = 3025000,
  229. BATTERY_VOLT_03_100000_V = 3100000,
  230. BATTERY_VOLT_03_175000_V = 3175000,
  231. BATTERY_VOLT_03_200000_V = 3200000,
  232. BATTERY_VOLT_03_250000_V = 3250000,
  233. BATTERY_VOLT_03_275000_V = 3275000,
  234. BATTERY_VOLT_03_300000_V = 3300000,
  235. BATTERY_VOLT_03_325000_V = 3325000,
  236. BATTERY_VOLT_03_350000_V = 3350000,
  237. BATTERY_VOLT_03_400000_V = 3400000,
  238. BATTERY_VOLT_03_450000_V = 3450000,
  239. BATTERY_VOLT_03_500000_V = 3500000,
  240. BATTERY_VOLT_03_520000_V = 3520000,
  241. BATTERY_VOLT_03_540000_V = 3540000,
  242. BATTERY_VOLT_03_550000_V = 3550000,
  243. BATTERY_VOLT_03_560000_V = 3560000,
  244. BATTERY_VOLT_03_580000_V = 3580000,
  245. BATTERY_VOLT_03_600000_V = 3600000,
  246. BATTERY_VOLT_03_620000_V = 3620000,
  247. BATTERY_VOLT_03_640000_V = 3640000,
  248. BATTERY_VOLT_03_650000_V = 3650000,
  249. BATTERY_VOLT_03_660000_V = 3660000,
  250. BATTERY_VOLT_03_680000_V = 3680000,
  251. BATTERY_VOLT_03_700000_V = 3700000,
  252. BATTERY_VOLT_03_720000_V = 3720000,
  253. BATTERY_VOLT_03_740000_V = 3740000,
  254. BATTERY_VOLT_03_750000_V = 3750000,
  255. BATTERY_VOLT_03_760000_V = 3760000,
  256. BATTERY_VOLT_03_775000_V = 3775000,
  257. BATTERY_VOLT_03_780000_V = 3780000,
  258. BATTERY_VOLT_03_800000_V = 3800000,
  259. BATTERY_VOLT_03_820000_V = 3820000,
  260. BATTERY_VOLT_03_825000_V = 3825000,
  261. BATTERY_VOLT_03_840000_V = 3840000,
  262. BATTERY_VOLT_03_850000_V = 3850000,
  263. BATTERY_VOLT_03_860000_V = 3860000,
  264. BATTERY_VOLT_03_880000_V = 3880000,
  265. BATTERY_VOLT_03_900000_V = 3900000,
  266. BATTERY_VOLT_03_920000_V = 3920000,
  267. BATTERY_VOLT_03_940000_V = 3940000,
  268. BATTERY_VOLT_03_950000_V = 3950000,
  269. BATTERY_VOLT_03_960000_V = 3960000,
  270. BATTERY_VOLT_03_975000_V = 3975000,
  271. BATTERY_VOLT_03_980000_V = 3980000,
  272. BATTERY_VOLT_04_000000_V = 4000000,
  273. BATTERY_VOLT_04_012500_V = 4012500,
  274. BATTERY_VOLT_04_020000_V = 4020000,
  275. BATTERY_VOLT_04_025000_V = 4025000,
  276. BATTERY_VOLT_04_037500_V = 4037500,
  277. BATTERY_VOLT_04_040000_V = 4040000,
  278. BATTERY_VOLT_04_050000_V = 4050000,
  279. BATTERY_VOLT_04_060000_V = 4060000,
  280. BATTERY_VOLT_04_062500_V = 4062500,
  281. BATTERY_VOLT_04_067500_V = 4067500,
  282. BATTERY_VOLT_04_075000_V = 4075000,
  283. BATTERY_VOLT_04_080000_V = 4080000,
  284. BATTERY_VOLT_04_087500_V = 4087500,
  285. BATTERY_VOLT_04_100000_V = 4100000,
  286. BATTERY_VOLT_04_112500_V = 4112500,
  287. BATTERY_VOLT_04_115000_V = 4115000,
  288. BATTERY_VOLT_04_116000_V = 4116000,
  289. BATTERY_VOLT_04_120000_V = 4120000,
  290. BATTERY_VOLT_04_125000_V = 4125000,
  291. BATTERY_VOLT_04_137500_V = 4137500,
  292. BATTERY_VOLT_04_140000_V = 4140000,
  293. BATTERY_VOLT_04_150000_V = 4150000,
  294. BATTERY_VOLT_04_160000_V = 4160000,
  295. BATTERY_VOLT_04_162500_V = 4162500,
  296. BATTERY_VOLT_04_175000_V = 4175000,
  297. BATTERY_VOLT_04_180000_V = 4180000,
  298. BATTERY_VOLT_04_187500_V = 4187500,
  299. BATTERY_VOLT_04_200000_V = 4200000,
  300. BATTERY_VOLT_04_212500_V = 4212500,
  301. BATTERY_VOLT_04_220000_V = 4220000,
  302. BATTERY_VOLT_04_225000_V = 4225000,
  303. BATTERY_VOLT_04_237500_V = 4237500,
  304. BATTERY_VOLT_04_240000_V = 4240000,
  305. BATTERY_VOLT_04_250000_V = 4250000,
  306. BATTERY_VOLT_04_260000_V = 4260000,
  307. BATTERY_VOLT_04_262500_V = 4262500,
  308. BATTERY_VOLT_04_275000_V = 4275000,
  309. BATTERY_VOLT_04_280000_V = 4280000,
  310. BATTERY_VOLT_04_287500_V = 4287500,
  311. BATTERY_VOLT_04_300000_V = 4300000,
  312. BATTERY_VOLT_04_312500_V = 4312500,
  313. BATTERY_VOLT_04_320000_V = 4320000,
  314. BATTERY_VOLT_04_325000_V = 4325000,
  315. BATTERY_VOLT_04_337500_V = 4337500,
  316. BATTERY_VOLT_04_340000_V = 4340000,
  317. BATTERY_VOLT_04_350000_V = 4350000,
  318. BATTERY_VOLT_04_360000_V = 4360000,
  319. BATTERY_VOLT_04_362500_V = 4362500,
  320. BATTERY_VOLT_04_375000_V = 4375000,
  321. BATTERY_VOLT_04_380000_V = 4380000,
  322. BATTERY_VOLT_04_387500_V = 4387500,
  323. BATTERY_VOLT_04_400000_V = 4400000,
  324. BATTERY_VOLT_04_411500_V = 4411500,
  325. BATTERY_VOLT_04_412500_V = 4412500,
  326. BATTERY_VOLT_04_420000_V = 4420000,
  327. BATTERY_VOLT_04_425000_V = 4425000,
  328. BATTERY_VOLT_04_437500_V = 4437500,
  329. BATTERY_VOLT_04_440000_V = 4440000,
  330. BATTERY_VOLT_04_450000_V = 4450000,
  331. BATTERY_VOLT_04_460000_V = 4460000,
  332. BATTERY_VOLT_04_462500_V = 4462500,
  333. BATTERY_VOLT_04_475000_V = 4475000,
  334. BATTERY_VOLT_04_480000_V = 4480000,
  335. BATTERY_VOLT_04_487500_V = 4487500,
  336. BATTERY_VOLT_04_500000_V = 4500000,
  337. BATTERY_VOLT_04_512500_V = 4512500,
  338. BATTERY_VOLT_04_520000_V = 4520000,
  339. BATTERY_VOLT_04_525000_V = 4525000,
  340. BATTERY_VOLT_04_537500_V = 4537500,
  341. BATTERY_VOLT_04_540000_V = 4540000,
  342. BATTERY_VOLT_04_550000_V = 4550000,
  343. BATTERY_VOLT_04_560000_V = 4560000,
  344. BATTERY_VOLT_04_580000_V = 4580000,
  345. BATTERY_VOLT_04_600000_V = 4600000,
  346. BATTERY_VOLT_04_620000_V = 4620000,
  347. BATTERY_VOLT_04_640000_V = 4640000,
  348. BATTERY_VOLT_04_660000_V = 4660000,
  349. BATTERY_VOLT_04_680000_V = 4680000,
  350. BATTERY_VOLT_04_700000_V = 4700000,
  351. BATTERY_VOLT_04_720000_V = 4720000,
  352. BATTERY_VOLT_04_740000_V = 4740000,
  353. BATTERY_VOLT_04_760000_V = 4760000,
  354. BATTERY_VOLT_04_780000_V = 4780000,
  355. BATTERY_VOLT_04_800000_V = 4800000,
  356. BATTERY_VOLT_04_850000_V = 4850000,
  357. BATTERY_VOLT_04_950000_V = 4950000,
  358. BATTERY_VOLT_05_000000_V = 5000000,
  359. BATTERY_VOLT_05_150000_V = 5150000,
  360. BATTERY_VOLT_05_250000_V = 5250000,
  361. BATTERY_VOLT_05_300000_V = 5300000,
  362. BATTERY_VOLT_05_450000_V = 5450000,
  363. BATTERY_VOLT_06_000000_V = 6000000,
  364. BATTERY_VOLT_06_500000_V = 6500000,
  365. BATTERY_VOLT_06_750000_V = 6750000,
  366. BATTERY_VOLT_07_000000_V = 7000000,
  367. BATTERY_VOLT_07_250000_V = 7250000,
  368. BATTERY_VOLT_07_500000_V = 7500000,
  369. BATTERY_VOLT_08_000000_V = 8000000,
  370. BATTERY_VOLT_08_500000_V = 8500000,
  371. BATTERY_VOLT_09_000000_V = 9000000,
  372. BATTERY_VOLT_09_500000_V = 9500000,
  373. BATTERY_VOLT_10_000000_V = 10000000,
  374. BATTERY_VOLT_10_500000_V = 10500000,
  375. BATTERY_VOLT_MAX,
  376. BATTERY_VOLT_INVALID
  377. } BATTERY_VOLTAGE_ENUM;
  378. /* Enum of charger current List */
  379. typedef enum {
  380. CHARGE_CURRENT_0_00_MA = 0,
  381. CHARGE_CURRENT_50_00_MA = 5000,
  382. CHARGE_CURRENT_62_50_MA = 6250,
  383. CHARGE_CURRENT_70_00_MA = 7000,
  384. CHARGE_CURRENT_75_00_MA = 7500,
  385. CHARGE_CURRENT_87_50_MA = 8750,
  386. CHARGE_CURRENT_99_00_MA = 9900,
  387. CHARGE_CURRENT_100_00_MA = 10000,
  388. CHARGE_CURRENT_125_00_MA = 12500,
  389. CHARGE_CURRENT_150_00_MA = 15000,
  390. CHARGE_CURRENT_200_00_MA = 20000,
  391. CHARGE_CURRENT_225_00_MA = 22500,
  392. CHARGE_CURRENT_250_00_MA = 25000,
  393. CHARGE_CURRENT_300_00_MA = 30000,
  394. CHARGE_CURRENT_350_00_MA = 35000,
  395. CHARGE_CURRENT_375_00_MA = 37500,
  396. CHARGE_CURRENT_400_00_MA = 40000,
  397. CHARGE_CURRENT_425_00_MA = 42500,
  398. CHARGE_CURRENT_450_00_MA = 45000,
  399. CHARGE_CURRENT_500_00_MA = 50000,
  400. CHARGE_CURRENT_525_00_MA = 52500,
  401. CHARGE_CURRENT_550_00_MA = 55000,
  402. CHARGE_CURRENT_600_00_MA = 60000,
  403. CHARGE_CURRENT_625_00_MA = 62500,
  404. CHARGE_CURRENT_650_00_MA = 65000,
  405. CHARGE_CURRENT_675_00_MA = 67500,
  406. CHARGE_CURRENT_700_00_MA = 70000,
  407. CHARGE_CURRENT_750_00_MA = 75000,
  408. CHARGE_CURRENT_775_00_MA = 77500,
  409. CHARGE_CURRENT_800_00_MA = 80000,
  410. CHARGE_CURRENT_825_00_MA = 82500,
  411. CHARGE_CURRENT_850_00_MA = 85000,
  412. CHARGE_CURRENT_900_00_MA = 90000,
  413. CHARGE_CURRENT_925_00_MA = 92500,
  414. CHARGE_CURRENT_950_00_MA = 95000,
  415. CHARGE_CURRENT_975_00_MA = 97500,
  416. CHARGE_CURRENT_1000_00_MA = 100000,
  417. CHARGE_CURRENT_1050_00_MA = 105000,
  418. CHARGE_CURRENT_1075_00_MA = 107500,
  419. CHARGE_CURRENT_1100_00_MA = 110000,
  420. CHARGE_CURRENT_1125_00_MA = 112500,
  421. CHARGE_CURRENT_1150_00_MA = 115000,
  422. CHARGE_CURRENT_1200_00_MA = 120000,
  423. CHARGE_CURRENT_1225_00_MA = 122500,
  424. CHARGE_CURRENT_1250_00_MA = 125000,
  425. CHARGE_CURRENT_1275_00_MA = 127500,
  426. CHARGE_CURRENT_1300_00_MA = 130000,
  427. CHARGE_CURRENT_1350_00_MA = 135000,
  428. CHARGE_CURRENT_1375_00_MA = 137500,
  429. CHARGE_CURRENT_1400_00_MA = 140000,
  430. CHARGE_CURRENT_1425_00_MA = 142500,
  431. CHARGE_CURRENT_1450_00_MA = 145000,
  432. CHARGE_CURRENT_1500_00_MA = 150000,
  433. CHARGE_CURRENT_1525_00_MA = 152500,
  434. CHARGE_CURRENT_1575_00_MA = 157500,
  435. CHARGE_CURRENT_1600_00_MA = 160000,
  436. CHARGE_CURRENT_1650_00_MA = 165000,
  437. CHARGE_CURRENT_1675_00_MA = 167500,
  438. CHARGE_CURRENT_1700_00_MA = 170000,
  439. CHARGE_CURRENT_1725_00_MA = 172500,
  440. CHARGE_CURRENT_1750_00_MA = 175000,
  441. CHARGE_CURRENT_1800_00_MA = 180000,
  442. CHARGE_CURRENT_1825_00_MA = 182500,
  443. CHARGE_CURRENT_1875_00_MA = 187500,
  444. CHARGE_CURRENT_1900_00_MA = 190000,
  445. CHARGE_CURRENT_1950_00_MA = 195000,
  446. CHARGE_CURRENT_1975_00_MA = 197500,
  447. CHARGE_CURRENT_2000_00_MA = 200000,
  448. CHARGE_CURRENT_2025_00_MA = 202500,
  449. CHARGE_CURRENT_2050_00_MA = 205000,
  450. CHARGE_CURRENT_2100_00_MA = 210000,
  451. CHARGE_CURRENT_2125_00_MA = 212500,
  452. CHARGE_CURRENT_2175_00_MA = 217500,
  453. CHARGE_CURRENT_2200_00_MA = 220000,
  454. CHARGE_CURRENT_2300_00_MA = 230000,
  455. CHARGE_CURRENT_2250_00_MA = 225000,
  456. CHARGE_CURRENT_2275_00_MA = 227500,
  457. CHARGE_CURRENT_2325_00_MA = 232500,
  458. CHARGE_CURRENT_2350_00_MA = 235000,
  459. CHARGE_CURRENT_2400_00_MA = 240000,
  460. CHARGE_CURRENT_2425_00_MA = 242500,
  461. CHARGE_CURRENT_2500_00_MA = 250000,
  462. CHARGE_CURRENT_2575_00_MA = 257500,
  463. CHARGE_CURRENT_2600_00_MA = 260000,
  464. CHARGE_CURRENT_2650_00_MA = 265000,
  465. CHARGE_CURRENT_2700_00_MA = 270000,
  466. CHARGE_CURRENT_2725_00_MA = 272500,
  467. CHARGE_CURRENT_2800_00_MA = 280000,
  468. CHARGE_CURRENT_2875_00_MA = 287500,
  469. CHARGE_CURRENT_2900_00_MA = 290000,
  470. CHARGE_CURRENT_3000_00_MA = 300000,
  471. CHARGE_CURRENT_3100_00_MA = 310000,
  472. CHARGE_CURRENT_3200_00_MA = 320000,
  473. CHARGE_CURRENT_MAX
  474. } CHR_CURRENT_ENUM;
  475. /* ============================================================ */
  476. /* structure */
  477. /* ============================================================ */
  478. /* ============================================================ */
  479. /* typedef */
  480. /* ============================================================ */
  481. typedef signed int(*CHARGING_CONTROL) (CHARGING_CTRL_CMD cmd, void *data);
  482. #ifndef BATTERY_BOOL
  483. #define BATTERY_BOOL
  484. typedef enum {
  485. KAL_FALSE = 0,
  486. KAL_TRUE = 1,
  487. } kal_bool;
  488. #endif
  489. /* ============================================================ */
  490. /* External Variables */
  491. /* ============================================================ */
  492. extern int Enable_BATDRV_LOG;
  493. extern kal_bool chargin_hw_init_done;
  494. extern unsigned int g_bcct_flag;
  495. /* ============================================================ */
  496. /* External function */
  497. /* ============================================================ */
  498. extern signed int chr_control_interface(CHARGING_CTRL_CMD cmd, void *data);
  499. extern unsigned int upmu_get_reg_value(unsigned int reg);
  500. extern void Charger_Detect_Init(void);
  501. extern void Charger_Detect_Release(void);
  502. extern int hw_charging_get_charger_type(void);
  503. extern void mt_power_off(void);
  504. extern unsigned int mt6311_get_chip_id(void);
  505. extern int is_mt6311_exist(void);
  506. extern int is_mt6311_sw_ready(void);
  507. /*extern BATTERY_VOLTAGE_ENUM battery_get_cv_voltage(void);*/
  508. /*extern void battery_set_cv_voltage(BATTERY_VOLTAGE_ENUM cv);*/
  509. #if defined(CONFIG_MTK_SMART_BATTERY)
  510. extern kal_bool pmic_chrdet_status(void);
  511. #else
  512. __weak kal_bool pmic_chrdet_status(void);
  513. #endif
  514. /*BCCT input current control function over switch charger*/
  515. extern unsigned int set_chr_input_current_limit(int current_limit);
  516. #endif /* #ifndef _CHARGING_H */