@@ -281,12 +281,41 @@ static int pmic_init_max8997(void)
int power_init_board(void)
{
+ int chrg;
+ struct power_battery *pb;
+ struct pmic *p_fg, *p_chrg, *p_muic, *p_bat;
pmic_init(I2C_5);
pmic_init_max8997();
power_fg_init(I2C_9);
power_muic_init(I2C_5);
power_bat_init(0);
+ p_fg = pmic_get("MAX17042_FG");
+ p_chrg = pmic_get("MAX8997_PMIC");
+ p_muic = pmic_get("MAX8997_MUIC");
+ p_bat = pmic_get("BAT_TRATS");
+
+ p_fg->parent = p_bat;
+ p_chrg->parent = p_bat;
+ p_muic->parent = p_bat;
+
+ p_bat->low_power_mode = trats_low_power_mode;
+ p_bat->pbat->battery_init(p_bat, p_fg, p_chrg, p_muic);
+
+ pb = p_bat->pbat;
+ chrg = p_muic->chrg->chrg_type(p_muic);
+ debug("CHARGER TYPE: %d\n", chrg);
+
+ if (!p_chrg->chrg->chrg_bat_present(p_chrg)) {
+ puts("No battery detected\n");
+ return -1;
+ }
+
+ p_fg->fg->fg_battery_check(p_fg, p_bat);
+
+ if (pb->bat->state == CHARGE && chrg == CHARGER_USB)
+ puts("CHARGE Battery !\n");
+
return 0;
}