Lines Matching refs:fcc

208 	int				fcc;  member
455 return (remain_cap + di->fcc / 200) * 100 / DIV(di->fcc); in rk816_bat_get_rsoc()
758 cap = ab_div_c(temp, di->fcc, MAX_INTERPOLATE); in rk816_bat_vol_to_ocvcap()
784 cap = ab_div_c(temp, di->fcc, MAX_INTERPOLATE); in rk816_bat_vol_to_zerocap()
1416 static void rk816_bat_save_fcc(struct rk816_battery *di, u32 fcc) in rk816_bat_save_fcc() argument
1420 buf = (fcc >> 24) & 0xff; in rk816_bat_save_fcc()
1422 buf = (fcc >> 16) & 0xff; in rk816_bat_save_fcc()
1424 buf = (fcc >> 8) & 0xff; in rk816_bat_save_fcc()
1426 buf = (fcc >> 0) & 0xff; in rk816_bat_save_fcc()
1429 BAT_INFO("save fcc: %d\n", fcc); in rk816_bat_save_fcc()
1434 u32 fcc = 0; in rk816_bat_get_fcc() local
1436 fcc |= rk816_bat_read(di, RK816_NEW_FCC_REG3) << 24; in rk816_bat_get_fcc()
1437 fcc |= rk816_bat_read(di, RK816_NEW_FCC_REG2) << 16; in rk816_bat_get_fcc()
1438 fcc |= rk816_bat_read(di, RK816_NEW_FCC_REG1) << 8; in rk816_bat_get_fcc()
1439 fcc |= rk816_bat_read(di, RK816_NEW_FCC_REG0) << 0; in rk816_bat_get_fcc()
1441 if (fcc < MIN_FCC) { in rk816_bat_get_fcc()
1442 BAT_INFO("invalid fcc(%d), use design cap", fcc); in rk816_bat_get_fcc()
1443 fcc = di->pdata->design_capacity; in rk816_bat_get_fcc()
1444 rk816_bat_save_fcc(di, fcc); in rk816_bat_get_fcc()
1445 } else if (fcc > di->pdata->design_qmax) { in rk816_bat_get_fcc()
1446 BAT_INFO("invalid fcc(%d), use qmax", fcc); in rk816_bat_get_fcc()
1447 fcc = di->pdata->design_qmax; in rk816_bat_get_fcc()
1448 rk816_bat_save_fcc(di, fcc); in rk816_bat_get_fcc()
1451 return fcc; in rk816_bat_get_fcc()
1457 int fcc, val = 0; in rk816_bat_get_lock_fcc() local
1468 fcc = val / 2390; in rk816_bat_get_lock_fcc()
1473 BAT_INFO("lock fcc = %d\n", fcc); in rk816_bat_get_lock_fcc()
1475 return fcc; in rk816_bat_get_lock_fcc()
1940 if (abs(now_cap - pre_cap) > (di->fcc / 10)) { in is_rk816_bat_last_halt()
1954 di->fcc = rk816_bat_get_fcc(di); in rk816_bat_first_pwron()
1961 di->dsoc, di->rsoc, di->nac, di->fcc, ocv_vol); in rk816_bat_first_pwron()
1968 di->fcc = rk816_bat_get_fcc(di); in rk816_bat_not_first_pwron()
2280 static u8 rk816_bat_finish_ma(struct rk816_battery *di, int fcc) in rk816_bat_finish_ma() argument
2284 if (fcc > 5000) in rk816_bat_finish_ma()
2286 else if (fcc >= 4000) in rk816_bat_finish_ma()
2288 else if (fcc >= 3000) in rk816_bat_finish_ma()
2317 finish_ma = rk816_bat_finish_ma(di, di->fcc); in rk816_bat_init_chrg_config()
2733 delta_soc = di->zero_linek * (delta_cap * 100) / DIV(di->fcc); in rk816_bat_zero_algorithm()
2852 di->remain_cap, di->fcc, di->dsoc - di->rsoc, in rk816_bat_debug_info()
2897 int fcc; in rk816_bat_update_age_fcc() local
2905 fcc = di->lock_fcc; in rk816_bat_update_age_fcc()
2906 remain_cap = fcc - di->age_ocv_cap - di->age_adjust_cap; in rk816_bat_update_age_fcc()
2910 __func__, fcc, di->age_ocv_cap, di->age_adjust_cap, remain_cap, in rk816_bat_update_age_fcc()
2916 fcc = remain_cap * 100 / DIV(100 - di->age_ocv_soc); in rk816_bat_update_age_fcc()
2919 di->age_ocv_cap, di->age_level, di->fcc, fcc); in rk816_bat_update_age_fcc()
2921 if ((fcc < di->qmax) && (fcc > MIN_FCC)) { in rk816_bat_update_age_fcc()
2922 BAT_INFO("fcc:%d->%d!\n", di->fcc, fcc); in rk816_bat_update_age_fcc()
2923 di->fcc = fcc; in rk816_bat_update_age_fcc()
2924 rk816_bat_init_capacity(di, di->fcc); in rk816_bat_update_age_fcc()
2925 rk816_bat_save_fcc(di, di->fcc); in rk816_bat_update_age_fcc()
2953 if ((di->remain_cap != di->fcc) && in rk816_bat_finish_algorithm()
2955 di->age_adjust_cap += (di->fcc - di->remain_cap); in rk816_bat_finish_algorithm()
2956 rk816_bat_init_coulomb_cap(di, di->fcc); in rk816_bat_finish_algorithm()
2967 soc_sec = di->fcc * 3600 / 100 / DIV(finish_current); in rk816_bat_finish_algorithm()
3133 tgt_sec = di->fcc * 3600 / 100 / DIV(abs(di->current_avg)) / 3; in rk816_bat_smooth_algorithm()
3165 ydsoc = di->sm_linek * abs(delta_cap) * 100 / DIV(di->fcc); in rk816_bat_smooth_algorithm()
3332 sleep_soc = di->sleep_sum_cap * 100 / DIV(di->fcc); in rk816_bat_sleep_dischrg()
3354 sleep_soc = di->sleep_sum_cap / DIV(di->fcc / 100); in rk816_bat_sleep_dischrg()
3428 di->current_avg, di->remain_cap, di->fcc, bat_status[status], in rk816_bat_power_supply_changed()
3527 if (di->remain_cap > di->fcc) { in rk816_bat_update_info()
3528 di->sm_remain_cap -= (di->remain_cap - di->fcc); in rk816_bat_update_info()
3531 rk816_bat_init_coulomb_cap(di, di->fcc); in rk816_bat_update_info()
3569 soc_sec = di->fcc * 3600 / 100 / FINISH_CHRG_CUR1; in rk816_bat_init_dsoc_algorithm()
5142 di->remain_cap, di->fcc, rk816_bat_chrg_online(di), in rk816_battery_shutdown()