| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- /*****************************************************************************
- *
- * Filename:
- * ---------
- * fan5405.h
- *
- * Project:
- * --------
- * Android
- *
- * Description:
- * ------------
- * fan5405 header file
- *
- * Author:
- * -------
- *
- ****************************************************************************/
- #ifndef _fan5405_SW_H_
- #define _fan5405_SW_H_
- #define fan5405_CON0 0x00
- #define fan5405_CON1 0x01
- #define fan5405_CON2 0x02
- #define fan5405_CON3 0x03
- #define fan5405_CON4 0x04
- #define fan5405_CON5 0x05
- #define fan5405_CON6 0x06
- #define fan5405_REG_NUM 7
- /**********************************************************
- *
- * [MASK/SHIFT]
- *
- *********************************************************/
- /* CON0 */
- #define CON0_TMR_RST_MASK 0x01
- #define CON0_TMR_RST_SHIFT 7
- #define CON0_OTG_MASK 0x01
- #define CON0_OTG_SHIFT 7
- #define CON0_EN_STAT_MASK 0x01
- #define CON0_EN_STAT_SHIFT 6
- #define CON0_STAT_MASK 0x03
- #define CON0_STAT_SHIFT 4
- #define CON0_BOOST_MASK 0x01
- #define CON0_BOOST_SHIFT 3
- #define CON0_FAULT_MASK 0x07
- #define CON0_FAULT_SHIFT 0
- /* CON1 */
- #define CON1_LIN_LIMIT_MASK 0x03
- #define CON1_LIN_LIMIT_SHIFT 6
- #define CON1_LOW_V_MASK 0x03
- #define CON1_LOW_V_SHIFT 4
- #define CON1_TE_MASK 0x01
- #define CON1_TE_SHIFT 3
- #define CON1_CE_MASK 0x01
- #define CON1_CE_SHIFT 2
- #define CON1_HZ_MODE_MASK 0x01
- #define CON1_HZ_MODE_SHIFT 1
- #define CON1_OPA_MODE_MASK 0x01
- #define CON1_OPA_MODE_SHIFT 0
- /* CON2 */
- #define CON2_OREG_MASK 0x3F
- #define CON2_OREG_SHIFT 2
- #define CON2_OTG_PL_MASK 0x01
- #define CON2_OTG_PL_SHIFT 1
- #define CON2_OTG_EN_MASK 0x01
- #define CON2_OTG_EN_SHIFT 0
- /* CON3 */
- #define CON3_VENDER_CODE_MASK 0x07
- #define CON3_VENDER_CODE_SHIFT 5
- #define CON3_PIN_MASK 0x03
- #define CON3_PIN_SHIFT 3
- #define CON3_REVISION_MASK 0x07
- #define CON3_REVISION_SHIFT 0
- /* CON4 */
- #define CON4_RESET_MASK 0x01
- #define CON4_RESET_SHIFT 7
- #define CON4_I_CHR_MASK 0x07
- #define CON4_I_CHR_SHIFT 4
- #define CON4_I_TERM_MASK 0x07
- #define CON4_I_TERM_SHIFT 0
- /* CON5 */
- #define CON5_DIS_VREG_MASK 0x01
- #define CON5_DIS_VREG_SHIFT 6
- #define CON5_IO_LEVEL_MASK 0x01
- #define CON5_IO_LEVEL_SHIFT 5
- #define CON5_SP_STATUS_MASK 0x01
- #define CON5_SP_STATUS_SHIFT 4
- #define CON5_EN_LEVEL_MASK 0x01
- #define CON5_EN_LEVEL_SHIFT 3
- #define CON5_VSP_MASK 0x07
- #define CON5_VSP_SHIFT 0
- /* CON6 */
- #define CON6_ISAFE_MASK 0x07
- #define CON6_ISAFE_SHIFT 4
- #define CON6_VSAFE_MASK 0x0F
- #define CON6_VSAFE_SHIFT 0
- /**********************************************************
- *
- * [Extern Function]
- *
- *********************************************************/
- /* CON0---------------------------------------------------- */
- extern void fan5405_set_tmr_rst(unsigned int val);
- extern unsigned int fan5405_get_otg_status(void);
- extern void fan5405_set_en_stat(unsigned int val);
- extern unsigned int fan5405_get_chip_status(void);
- extern unsigned int fan5405_get_boost_status(void);
- extern unsigned int fan5405_get_fault_status(void);
- /* CON1---------------------------------------------------- */
- extern void fan5405_set_input_charging_current(unsigned int val);
- extern void fan5405_set_v_low(unsigned int val);
- extern void fan5405_set_te(unsigned int val);
- extern void fan5405_set_ce(unsigned int val);
- extern void fan5405_set_hz_mode(unsigned int val);
- extern void fan5405_set_opa_mode(unsigned int val);
- /* CON2---------------------------------------------------- */
- extern void fan5405_set_oreg(unsigned int val);
- extern void fan5405_set_otg_pl(unsigned int val);
- extern void fan5405_set_otg_en(unsigned int val);
- /* CON3---------------------------------------------------- */
- extern unsigned int fan5405_get_vender_code(void);
- extern unsigned int fan5405_get_pn(void);
- extern unsigned int fan5405_get_revision(void);
- /* CON4---------------------------------------------------- */
- extern void fan5405_set_reset(unsigned int val);
- extern void fan5405_set_iocharge(unsigned int val);
- extern void fan5405_set_iterm(unsigned int val);
- /* CON5---------------------------------------------------- */
- extern void fan5405_set_dis_vreg(unsigned int val);
- extern void fan5405_set_io_level(unsigned int val);
- extern unsigned int fan5405_get_sp_status(void);
- extern unsigned int fan5405_get_en_level(void);
- extern void fan5405_set_vsp(unsigned int val);
- /* CON6---------------------------------------------------- */
- extern void fan5405_set_i_safe(unsigned int val);
- extern void fan5405_set_v_safe(unsigned int val);
- /* --------------------------------------------------------- */
- extern void fan5405_dump_register(void);
- extern unsigned int fan5405_reg_config_interface(unsigned char RegNum, unsigned char val);
- extern unsigned int fan5405_read_interface(unsigned char RegNum, unsigned char *val,
- unsigned char MASK, unsigned char SHIFT);
- extern unsigned int fan5405_config_interface(unsigned char RegNum, unsigned char val,
- unsigned char MASK, unsigned char SHIFT);
- #endif /* _fan5405_SW_H_ */
|