Lines Matching defs:charger

3  * Battery charger driver for RT5033
31 static int rt5033_get_charger_state(struct rt5033_charger *charger)
33 struct regmap *regmap = charger->regmap;
62 static int rt5033_get_charger_type(struct rt5033_charger *charger)
64 struct regmap *regmap = charger->regmap;
84 static int rt5033_get_charger_current_limit(struct rt5033_charger *charger)
86 struct regmap *regmap = charger->regmap;
100 static int rt5033_get_charger_const_voltage(struct rt5033_charger *charger)
102 struct regmap *regmap = charger->regmap;
116 static inline int rt5033_init_const_charge(struct rt5033_charger *charger)
118 struct rt5033_charger_data *chg = charger->chg;
126 dev_err(charger->dev,
142 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL2,
146 dev_err(charger->dev, "Failed regmap update\n");
153 dev_err(charger->dev,
177 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL4,
180 dev_err(charger->dev, "Failed regmap update\n");
187 static inline int rt5033_init_fast_charge(struct rt5033_charger *charger)
189 struct rt5033_charger_data *chg = charger->chg;
195 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL1,
198 dev_err(charger->dev, "Failed regmap update\n");
205 dev_err(charger->dev,
221 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL5,
225 dev_err(charger->dev, "Failed regmap update\n");
232 static inline int rt5033_init_pre_charge(struct rt5033_charger *charger)
234 struct rt5033_charger_data *chg = charger->chg;
242 dev_err(charger->dev,
258 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL5,
261 dev_err(charger->dev, "Failed regmap update\n");
268 dev_err(charger->dev,
284 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL4,
288 dev_err(charger->dev, "Failed regmap update\n");
295 static int rt5033_charger_reg_init(struct rt5033_charger *charger)
300 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL1,
303 dev_err(charger->dev, "Failed to enable charging termination.\n");
311 ret = regmap_update_bits(charger->regmap, RT5033_REG_CHG_CTRL4,
314 dev_err(charger->dev, "Failed to disable MIVR.\n");
318 ret = rt5033_init_pre_charge(charger);
322 ret = rt5033_init_fast_charge(charger);
326 ret = rt5033_init_const_charge(charger);
347 struct rt5033_charger *charger = power_supply_get_drvdata(psy);
351 val->intval = rt5033_get_charger_state(charger);
354 val->intval = rt5033_get_charger_type(charger);
357 val->intval = rt5033_get_charger_current_limit(charger);
360 val->intval = rt5033_get_charger_const_voltage(charger);
369 val->intval = (rt5033_get_charger_state(charger) ==
380 struct rt5033_charger *charger)
386 chg = devm_kzalloc(charger->dev, sizeof(*chg), GFP_KERNEL);
390 ret = power_supply_get_battery_info(charger->psy, &info);
392 return ERR_PTR(dev_err_probe(charger->dev, -EINVAL,
406 .name = "rt5033-charger",
415 struct rt5033_charger *charger;
419 charger = devm_kzalloc(&pdev->dev, sizeof(*charger), GFP_KERNEL);
420 if (!charger)
423 platform_set_drvdata(pdev, charger);
424 charger->dev = &pdev->dev;
425 charger->regmap = dev_get_regmap(pdev->dev.parent, NULL);
428 psy_cfg.drv_data = charger;
430 charger->psy = devm_power_supply_register(&pdev->dev,
433 if (IS_ERR(charger->psy))
434 return dev_err_probe(&pdev->dev, PTR_ERR(charger->psy),
437 charger->chg = rt5033_charger_dt_init(charger);
438 if (IS_ERR_OR_NULL(charger->chg))
439 return PTR_ERR(charger->chg);
441 ret = rt5033_charger_reg_init(charger);
449 { "rt5033-charger", },
455 { .compatible = "richtek,rt5033-charger", },
462 .name = "rt5033-charger",
470 MODULE_DESCRIPTION("Richtek RT5033 charger driver");