blob: 8f09d29aec7cfef3b6f2afefa388756c36d39833 [file] [log] [blame]
#if CONFIG_BATTERY_STC3117
int null_fn(void)
{
return 0; // for discharging status
}
int Temperature_fn(void)
{
return (25);
}
static struct stc311x_platform_data stc3117_data = {
.battery_online = NULL,
.charger_online = null_fn, // used in stc311x_get_status()
.charger_enable = null_fn, // used in stc311x_get_status()
.power_supply_register = NULL,
.power_supply_unregister = NULL,
.Vmode= 0, /*REG_MODE, BIT_VMODE 1=Voltage mode, 0=mixed mode */
.Alm_SOC = 10, /* SOC alm level %*/
.Alm_Vbat = 3600, /* Vbat alm level mV*/
.CC_cnf = 525, /* nominal CC_cnf, coming from battery characterisation*/
.VM_cnf = 558, /* nominal VM cnf , coming from battery characterisation*/
.Rint = 200, /* nominal internal impedance*/
.Cnom = 2600, /* nominal capacity in mAh, coming from battery characterisation*/
.Rsense = 10, /* sense resistor mOhms*/
.RelaxCurrent = 150, /* current for relaxation in mA (< C/20) */
.Adaptive = 1, /* 1=Adaptive mode enabled, 0=Adaptive mode disabled */
/* Elentec Co Ltd Battery pack - 80 means 8% */
.CapDerating[6] = 71, /* capacity derating in 0.1%, for temp = -20°C */
.CapDerating[5] = 42, /* capacity derating in 0.1%, for temp = -10°C */
.CapDerating[4] = 13, /* capacity derating in 0.1%, for temp = 0°C */
.CapDerating[3] = 5, /* capacity derating in 0.1%, for temp = 10°C */
.CapDerating[2] = 0, /* capacity derating in 0.1%, for temp = 25°C */
.CapDerating[1] = 0, /* capacity derating in 0.1%, for temp = 40°C */
.CapDerating[0] = 0, /* capacity derating in 0.1%, for temp = 60°C */
.OCVValue[15] = 0, /* OCV curve adjustment */
.OCVValue[14] = 0, /* OCV curve adjustment */
.OCVValue[13] = 0, /* OCV curve adjustment */
.OCVValue[12] = 0, /* OCV curve adjustment */
.OCVValue[11] = 0, /* OCV curve adjustment */
.OCVValue[10] = 0, /* OCV curve adjustment */
.OCVValue[9] = 0, /* OCV curve adjustment */
.OCVValue[8] = 0, /* OCV curve adjustment */
.OCVValue[7] = 0, /* OCV curve adjustment */
.OCVValue[6] = 0, /* OCV curve adjustment */
.OCVValue[5] = 0, /* OCV curve adjustment */
.OCVValue[4] = 0, /* OCV curve adjustment */
.OCVValue[3] = 0, /* OCV curve adjustment */
.OCVValue[2] = 0, /* OCV curve adjustment */
.OCVValue[1] = 0, /* OCV curve adjustment */
.OCVValue[0] = 0, /* OCV curve adjustment */
/*if the application temperature data is preferred than the STC3117 temperature*/
.ExternalTemperature = Temperature_fn, /*External temperature fonction, return °C*/
.ForceExternalTemperature = 0, /* 1=External temperature, 0=STC3117 temperature */
};
#endif
static struct i2c_board_info __initdata beagle_i2c2_boardinfo[] = {
#if CONFIG_BATTERY_STC3117
{
I2C_BOARD_INFO("stc3117", 0x70),
.platform_data = &stc3117_data,
},
#endif
};