bq24261.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. /*****************************************************************************
  2. *
  3. * Filename:
  4. * ---------
  5. * bq24261.h
  6. *
  7. * Project:
  8. * --------
  9. * Android
  10. *
  11. * Description:
  12. * ------------
  13. * bq24261 header file
  14. *
  15. * Author:
  16. * -------
  17. *
  18. ****************************************************************************/
  19. #ifndef _bq24261_SW_H_
  20. #define _bq24261_SW_H_
  21. #define bq24261_CON0 0x00
  22. #define bq24261_CON1 0x01
  23. #define bq24261_CON2 0x02
  24. #define bq24261_CON3 0x03
  25. #define bq24261_CON4 0x04
  26. #define bq24261_CON5 0x05
  27. #define bq24261_CON6 0x06
  28. #define bq24261_REG_NUM 7
  29. /**********************************************************
  30. *
  31. * [MASK/SHIFT]
  32. *
  33. *********************************************************/
  34. //CON0
  35. #define CON0_TMR_RST_MASK 0x1
  36. #define CON0_TMR_RST_SHIFT 7
  37. #define CON0_EN_BOOST_MASK 0x1
  38. #define CON0_EN_BOOST_SHIFT 6
  39. #define CON0_STAT_MASK 0x3
  40. #define CON0_STAT_SHIFT 4
  41. #define CON0_EN_SHIPMODE_MASK 0x1
  42. #define CON0_EN_SHIPMODE_SHIFT 3
  43. #define CON0_FAULT_MASK 0x7
  44. #define CON0_FAULT_SHIFT 0
  45. //CON1
  46. #define CON1_RESET_MASK 0x1
  47. #define CON1_RESET_SHIFT 7
  48. #define CON1_IN_LIMIT_MASK 0x7
  49. #define CON1_IN_LIMIT_SHIFT 4
  50. #define CON1_EN_STAT_MASK 0x1
  51. #define CON1_EN_STAT_SHIFT 3
  52. #define CON1_TE_MASK 0x1
  53. #define CON1_TE_SHIFT 2
  54. #define CON1_DIS_CE_MASK 0x1
  55. #define CON1_DIS_CE_SHIFT 1
  56. #define CON1_HZ_MODE_MASK 0x1
  57. #define CON1_HZ_MODE_SHIFT 0
  58. //CON2
  59. #define CON2_VBREG_MASK 0x3F
  60. #define CON2_VBREG_SHIFT 2
  61. #define CON2_MOD_FREQ_MASK 0x3
  62. #define CON2_MOD_FREQ_SHIFT 0
  63. //CON3
  64. #define CON3_VENDER_CODE_MASK 0x7
  65. #define CON3_VENDER_CODE_SHIFT 5
  66. #define CON3_PN_MASK 0x3
  67. #define CON3_PN_SHIFT 3
  68. //CON4
  69. #define CON4_ICHRG_MASK 0x1F
  70. #define CON4_ICHRG_SHIFT 3
  71. #define CON4_ITERM_MASK 0x7
  72. #define CON4_ITERM_SHIFT 0
  73. //CON5
  74. #define CON5_MINSYS_STATUS_MASK 0x1
  75. #define CON5_MINSYS_STATUS_SHIFT 7
  76. #define CON5_VINDPM_STATUS_MASK 0x1
  77. #define CON5_VINDPM_STATUS_SHIFT 6
  78. #define CON5_LOW_CHG_MASK 0x1
  79. #define CON5_LOW_CHG_SHIFT 5
  80. #define CON5_DPDM_EN_MASK 0x1
  81. #define CON5_DPDM_EN_SHIFT 4
  82. #define CON5_CD_STATUS_MASK 0x1
  83. #define CON5_CD_STATUS_SHIFT 3
  84. #define CON5_VINDPM_MASK 0x7
  85. #define CON5_VINDPM_SHIFT 0
  86. //CON6
  87. #define CON6_2XTMR_EN_MASK 0x1
  88. #define CON6_2XTMR_EN_SHIFT 7
  89. #define CON6_TMR_MASK 0x3
  90. #define CON6_TMR_SHIFT 5
  91. #define CON6_BOOST_ILIM_MASK 0x1
  92. #define CON6_BOOST_ILIM_SHIFT 4
  93. #define CON6_TS_EN_MASK 0x1
  94. #define CON6_TS_EN_SHIFT 3
  95. #define CON6_TS_FAULT_MASK 0x3
  96. #define CON6_TS_FAULT_SHIFT 1
  97. #define CON6_VINDPM_OFF_MASK 0x1
  98. #define CON6_VINDPM_OFF_SHIFT 0
  99. /**********************************************************
  100. *
  101. * [Extern Function]
  102. *
  103. *********************************************************/
  104. //CON0----------------------------------------------------
  105. extern void bq24261_set_tmr_rst(kal_uint32 val);
  106. extern void bq24261_set_en_boost(kal_uint32 val);
  107. extern kal_uint32 bq24261_get_stat(void);
  108. extern void bq24261_set_en_shipmode(kal_uint32 val);
  109. extern kal_uint32 bq24261_get_fault(void);
  110. //CON1----------------------------------------------------
  111. extern void bq24261_set_reset(kal_uint32 val);
  112. extern void bq24261_set_in_limit(kal_uint32 val);
  113. extern void bq24261_set_en_stat(kal_uint32 val);
  114. extern void bq24261_set_te(kal_uint32 val);
  115. extern void bq24261_set_dis_ce(kal_uint32 val);
  116. extern void bq24261_set_hz_mode(kal_uint32 val);
  117. //CON2----------------------------------------------------
  118. extern void bq24261_set_vbreg(kal_uint32 val);
  119. extern void bq24261_set_mod_freq(kal_uint32 val);
  120. //CON3----------------------------------------------------
  121. extern kal_uint32 bq24261_get_vender_code(void);
  122. extern kal_uint32 bq24261_get_pn(void);
  123. //CON4----------------------------------------------------
  124. extern void bq24261_set_ichg(kal_uint32 val);
  125. extern void bq24261_set_iterm(kal_uint32 val);
  126. //CON5----------------------------------------------------
  127. extern kal_uint32 bq24261_get_minsys_status(void);
  128. extern kal_uint32 bq24261_get_vindpm_status(void);
  129. extern void bq24261_set_low_chg(kal_uint32 val);
  130. extern void bq24261_set_dpdm_en(kal_uint32 val);
  131. extern kal_uint32 bq24261_get_cd_status(void);
  132. extern void bq24261_set_vindpm(kal_uint32 val);
  133. //CON6----------------------------------------------------
  134. extern void bq24261_set_2xtmr_en(kal_uint32 val);
  135. extern void bq24261_set_tmr(kal_uint32 val);
  136. extern void bq24261_set_boost_ilim(kal_uint32 val);
  137. extern void bq24261_set_ts_en(kal_uint32 val);
  138. extern kal_uint32 bq24261_get_ts_fault(void);
  139. extern void bq24261_set_vindpm_off(kal_uint32 val);
  140. //---------------------------------------------------------
  141. extern void bq24261_hw_init(void);
  142. extern void bq24261_charging_enable(kal_uint32 bEnable);
  143. extern void bq24261_dump_register(void);
  144. extern kal_uint32 bq24261_get_chrg_stat(void);
  145. #endif // _bq24261_SW_H_