Lines Matching refs:fcc
190 int fcc; member
413 return (remain_cap + di->fcc / 200) * 100 / DIV(di->fcc); in rk818_bat_get_rsoc()
641 cap = ab_div_c(temp, di->fcc, MAX_INTERPOLATE); in rk818_bat_vol_to_ocvcap()
667 cap = ab_div_c(temp, di->fcc, MAX_INTERPOLATE); in rk818_bat_vol_to_zerocap()
1125 static void rk818_bat_save_fcc(struct rk818_battery *di, u32 fcc) in rk818_bat_save_fcc() argument
1129 buf = (fcc >> 24) & 0xff; in rk818_bat_save_fcc()
1131 buf = (fcc >> 16) & 0xff; in rk818_bat_save_fcc()
1133 buf = (fcc >> 8) & 0xff; in rk818_bat_save_fcc()
1135 buf = (fcc >> 0) & 0xff; in rk818_bat_save_fcc()
1138 BAT_INFO("save fcc: %d\n", fcc); in rk818_bat_save_fcc()
1143 u32 fcc = 0; in rk818_bat_get_fcc() local
1145 fcc |= rk818_bat_read(di, RK818_NEW_FCC_REG3) << 24; in rk818_bat_get_fcc()
1146 fcc |= rk818_bat_read(di, RK818_NEW_FCC_REG2) << 16; in rk818_bat_get_fcc()
1147 fcc |= rk818_bat_read(di, RK818_NEW_FCC_REG1) << 8; in rk818_bat_get_fcc()
1148 fcc |= rk818_bat_read(di, RK818_NEW_FCC_REG0) << 0; in rk818_bat_get_fcc()
1150 if (fcc < MIN_FCC) { in rk818_bat_get_fcc()
1151 BAT_INFO("invalid fcc(%d), use design cap", fcc); in rk818_bat_get_fcc()
1152 fcc = di->pdata->design_capacity; in rk818_bat_get_fcc()
1153 rk818_bat_save_fcc(di, fcc); in rk818_bat_get_fcc()
1154 } else if (fcc > di->pdata->design_qmax) { in rk818_bat_get_fcc()
1155 BAT_INFO("invalid fcc(%d), use qmax", fcc); in rk818_bat_get_fcc()
1156 fcc = di->pdata->design_qmax; in rk818_bat_get_fcc()
1157 rk818_bat_save_fcc(di, fcc); in rk818_bat_get_fcc()
1160 return fcc; in rk818_bat_get_fcc()
1250 if (abs(now_cap - pre_cap) > (di->fcc / 10)) { in is_rk818_bat_last_halt()
1264 di->fcc = rk818_bat_get_fcc(di); in rk818_bat_first_pwron()
1271 di->dsoc, di->rsoc, di->nac, di->fcc, ocv_vol); in rk818_bat_first_pwron()
1278 di->fcc = rk818_bat_get_fcc(di); in rk818_bat_not_first_pwron()
1431 static u8 rk818_bat_parse_finish_ma(struct rk818_battery *di, int fcc) in rk818_bat_parse_finish_ma() argument
1437 else if (fcc > 5000) in rk818_bat_parse_finish_ma()
1439 else if (fcc >= 4000) in rk818_bat_parse_finish_ma()
1441 else if (fcc >= 3000) in rk818_bat_parse_finish_ma()
1454 finish_ma = rk818_bat_parse_finish_ma(di, di->fcc); in rk818_bat_init_chrg_config()
1888 delta_soc = di->zero_linek * (delta_cap * 100) / DIV(di->fcc); in rk818_bat_zero_algorithm()
1998 di->remain_cap, di->fcc, di->rsoc - di->dsoc, in rk818_bat_debug_info()
2039 int fcc, remain_cap, age_keep_min, lock_fcc; in rk818_bat_update_age_fcc() local
2053 fcc = remain_cap * 100 / DIV(100 - di->age_ocv_soc); in rk818_bat_update_age_fcc()
2057 di->age_ocv_cap, di->age_level, di->fcc, fcc); in rk818_bat_update_age_fcc()
2059 if ((fcc < di->qmax) && (fcc > MIN_FCC)) { in rk818_bat_update_age_fcc()
2060 BAT_INFO("fcc:%d->%d!\n", di->fcc, fcc); in rk818_bat_update_age_fcc()
2061 di->fcc = fcc; in rk818_bat_update_age_fcc()
2062 rk818_bat_init_capacity(di, di->fcc); in rk818_bat_update_age_fcc()
2063 rk818_bat_save_fcc(di, di->fcc); in rk818_bat_update_age_fcc()
2090 if ((di->remain_cap != di->fcc) && in rk818_bat_finish_algorithm()
2092 di->age_adjust_cap += (di->fcc - di->remain_cap); in rk818_bat_finish_algorithm()
2093 rk818_bat_init_coulomb_cap(di, di->fcc); in rk818_bat_finish_algorithm()
2103 soc_sec = di->fcc * 3600 / 100 / DIV(finish_current); in rk818_bat_finish_algorithm()
2270 tgt_sec = di->fcc * 3600 / 100 / DIV(abs(di->current_avg)) / 3; in rk818_bat_smooth_algorithm()
2302 ydsoc = di->sm_linek * abs(delta_cap) * 100 / DIV(di->fcc); in rk818_bat_smooth_algorithm()
2475 sleep_soc = di->sleep_sum_cap * 100 / DIV(di->fcc); in rk818_bat_sleep_dischrg()
2497 sleep_soc = di->sleep_sum_cap / DIV(di->fcc / 100); in rk818_bat_sleep_dischrg()
2561 di->current_avg, di->remain_cap, di->fcc, bat_status[status], in rk818_bat_power_supply_changed()
2646 if (di->remain_cap > di->fcc) { in rk818_bat_update_info()
2647 di->sm_remain_cap -= (di->remain_cap - di->fcc); in rk818_bat_update_info()
2650 rk818_bat_init_coulomb_cap(di, di->fcc); in rk818_bat_update_info()
2892 soc_sec = di->fcc * 3600 / 100 / FINISH_CHRG_CUR1; in rk818_bat_init_dsoc_algorithm()
3593 di->remain_cap, di->fcc, rk818_bat_chrg_online(di), cnt, in rk818_battery_shutdown()