122 lines
2.7 KiB
C
122 lines
2.7 KiB
C
/**========================================================================
|
|
** Guilin.c
|
|
===========================================================================**/
|
|
#include "dm_charge.h"
|
|
#include "dm_i2c.h"
|
|
#include "dm_guilin.h"
|
|
|
|
static UINT8 guiLinRead(guiLinRegTypeE guiLinRegTypeE, unsigned char reg, UINT8 *regVal)
|
|
{
|
|
UINT8 res = 0;
|
|
|
|
switch(guiLinRegTypeE)
|
|
{
|
|
case GUILIN_BASE_Reg:
|
|
res = i2cReceive(GUILIN_READ_BASE_SLAVE_ADDRESS, reg);
|
|
break;
|
|
case GUILIN_POWER_Reg:
|
|
res = i2cReceive(GUILIN_READ_POWER_SLAVE_ADDRESS, reg);
|
|
break;
|
|
case GUILIN_GPADC_Reg:
|
|
res = i2cReceive(GUILIN_READ_GPADC_SLAVE_ADDRESS, reg);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
*regVal = res;
|
|
|
|
return res;
|
|
}
|
|
|
|
static I2C_ReturnCode guiLinWrite(guiLinRegTypeE guiLinRegTypeE, unsigned char reg, UINT8 value )
|
|
{
|
|
I2C_ReturnCode status = I2C_RC_OK;
|
|
switch(guiLinRegTypeE)
|
|
{
|
|
case GUILIN_BASE_Reg:
|
|
status = i2cSend(GUILIN_WRITE_BASE_SLAVE_ADDRESS, reg, value);
|
|
break;
|
|
case GUILIN_POWER_Reg:
|
|
status = i2cSend(GUILIN_WRITE_POWER_SLAVE_ADDRESS, reg, value);
|
|
break;
|
|
case GUILIN_GPADC_Reg:
|
|
status = i2cSend(GUILIN_WRITE_GPADC_SLAVE_ADDRESS, reg, value);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return status;
|
|
}
|
|
|
|
static UINT8 guiLinChargeIDGet(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static void guiLinInit(void)
|
|
{
|
|
return;
|
|
}
|
|
|
|
static BOOL guiLinBatteryConnectCheck(void)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
static BOOL guiLinUsbConnectCheck(void)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
static enum powerUpTypeE guiLinWakeUpCheck(BOOL batConnectState)
|
|
{
|
|
enum powerUpTypeE type = PowerUP_Unkown;
|
|
return type;
|
|
}
|
|
|
|
static BOOL guiLinPowerOnKeyCheck(UINT8 timeOutValue)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
static void guiLinChargerEnable(void)
|
|
{
|
|
return;
|
|
}
|
|
|
|
static UINT16 guiLinBatInstantVoltGet(BOOL usbStatus)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static BOOL chargerFull(void)
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
static void guiLinSystemPowerOff(void)
|
|
{
|
|
return;
|
|
}
|
|
|
|
struct chargeManagerT guiLinChargeManager = {
|
|
.family = GUILIN,
|
|
.id = PMIC_802,
|
|
.subId = 0,
|
|
.chargeICIDGet = guiLinChargeIDGet,
|
|
.init = guiLinInit,
|
|
.batteryConnectCheck = guiLinBatteryConnectCheck,
|
|
.usbConnectCheck = guiLinUsbConnectCheck,
|
|
.wakeUpCheck = guiLinWakeUpCheck,
|
|
.powerOnKeyCheck = guiLinPowerOnKeyCheck,
|
|
.batInstantVoltGet = guiLinBatInstantVoltGet,
|
|
.systemPowerOff = guiLinSystemPowerOff,
|
|
};
|
|
|
|
void guiLinICRegister(void)
|
|
{
|
|
chargeManager[guiLinChargeManager.family] = guiLinChargeManager;
|
|
}
|