Files
banban/ql-bootloader/boot33/src/dm_guilin.c
T

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;
}