blob: 35d1e922cefeb8a8118db6ae9d160a540ad80457 [file] [log] [blame]
/**************************************************************************
*
*Copyright (c) 2013 ZTE Corporation.
*
* Ä£ ¿é Ãû :
* ÎÄ ¼þ Ãû : drvs_he43106.h
* Ïà¹ØÎļþ :
* ʵÏÖ¹¦ÄÜ : HE43106оƬÏà¹ØÐÅÏ¢
* ×÷ Õß : qihongfang
* °æ ±¾ : V1.0
* Íê³ÉÈÕÆÚ : 2014-12-23
*
* ÆäËü˵Ã÷ :
*
* Ð޸ļǼºÅ ÈÕÆÚ ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
* ---------------------------------------------------------------------
* 1 2014.12.23 Æëºì·¼ н¨
**************************************************************************/
#ifndef _DRVS_HE43106_H
#define _DRVS_HE43106_H
#include "drvs_general.h"
#define HE43106_I2C_SLAVE_ADDR0 0x3A
#define I2C_BUS_FREQ (2*1000*1000)
#define HE43106_ALL_BITS 0xFF
#define HE43106_BITFVAL(var, lsh) ( (var) << (lsh) )
#define HE43106_BITFMASK(wid, lsh) ( ((1U << (wid)) - 1) << (lsh) )
//#define BIT(n) (UINT8)(1<<(n))
//#define CHARGER "zte_charger"
#define GPIOFUNC_FUNC 1
#define BOOST_REG 0x00
#define BLED_REG 0x01
#define FLASHLIGHT_REG 0x02
#define INTERRRUPT_MASK_REG 0x03
#define INTERRRUPT_REG 0x04
#define CHARGE_REG 0x05
#define CP_REG 0x06
#define TTC_TIMEOUT_REG 0x07
#define MCU_OPTION_0_REG 0x10
#define MCU_OPTION_1_REG 0x11
/*define for 0x00 BOOST_REG*/
#define OV_TEMP (1<<7)
#define BOOST_OVERLOAD_LATCH (1<<6)
#define LOWBAT_DETECT (1<<5)
#define NOLOAD_DETECT (1<<4)
#define BOOST_EN (1<<3)
#define DISCHARGE_ON 2
#define MCU_DISCHARGE_ON 1
#define MCU_DISCHARGE_EN 0
/*define for 0x01 BLED_REG*/
#define MCU_BLED_EN 4
#define MCU_BLED4_ON 3
#define MCU_BLED3_ON 2
#define MCU_BLED2_ON 1
#define MCU_BLED1_ON 0
/*define for 0x03 INTERRRUPT_MASK_REG*/
#define MCU_INT_PIN_EN 7
#define MASK_ABNORMAL_INT 4
#define MASK_CP_INT 3
#define MASK_CHARGE_INT 2
#define MASK_NOLOAD_DET_INT 1
#define MASK_LOWBAT_INT 0
#define MASK_ALL_INT 0x9f
/*define for 0x04 INTERRRUPT_REG*/
#define ABNORMAL_INT (1<<4)
#define CP_INT (1<<3)
#define CHARGE_INT (1<<2)
#define NOLOAD_DET_INT (1<<1)
#define LOWBAT_INT (1<<0)
#define CHG_INT_ALL 0x1f
/*define for 0x05 CHARGE_REG*/
#define CHARGE_DISABLE 6//(1<<6)
#define CHARGE_TIMEOUT (1<<3)
#define CHARGE_DONE (1<<2)
#define CHARGE_IN_PROGRESS (1<<1)
#define CHARGE_VIN_GOOD (1<<0)
/*define for 0x06 CP_REG*/
#define FORCE_CP_ENABLE 6
#define CP3_HIGH 3
#define CP2_HIGH 2
#define CP1_HIGH 1
#define CP0_HIGH 0
/*define for 0x07 TTC_TIMEOUT_REG*/
#define SW_RESET_CTRL1 7
#define CHARGE_TIMOUT_SEL 0/*bit 0~2*/
/*define for 0x10 MCU_OPTION_0_REG*/
#define MCU_OL_LED_BLANK_DIS 7
#define CP_OPTION 5
#define MCU_CABLE_CPS_EN 4
#define MCU_BES_OUT_SEL 3
#define MCU_VBAT_REGULATION 0
/*define for 0x11 MCU_OPTION_0_REG*/
#define SW_RESET_CTRL2 7
#define CHARGE_1A 5
#define MCU_SEL_0P1S 4
#define MCU_CHARGE_TIMEOUT_EN 3
#define CP_PROCESS_BYPASS 2
#define MCU_MODE 0
SINT32 led_Reset(VOID);
SINT32 chg_ChargerReset(VOID);
#endif/*END of _DRVS_HE43106_H*/