Lines Matching defs:charger
44 static inline int da9150_charger_supply_online(struct da9150_charger *charger,
48 val->intval = (psy == charger->supply_online) ? 1 : 0;
54 static int da9150_charger_vbus_voltage_now(struct da9150_charger *charger,
60 ret = iio_read_channel_processed(charger->vbus_chan, &v_val);
70 static int da9150_charger_ibus_current_avg(struct da9150_charger *charger,
76 ret = iio_read_channel_processed(charger->ibus_chan, &i_val);
86 static int da9150_charger_tjunc_temp(struct da9150_charger *charger,
92 ret = iio_read_channel_processed(charger->tjunc_chan, &t_val);
113 struct da9150_charger *charger = dev_get_drvdata(psy->dev.parent);
118 ret = da9150_charger_supply_online(charger, psy, val);
121 ret = da9150_charger_vbus_voltage_now(charger, val);
124 ret = da9150_charger_ibus_current_avg(charger, val);
127 ret = da9150_charger_tjunc_temp(charger, val);
138 static int da9150_charger_battery_status(struct da9150_charger *charger,
144 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_H);
153 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
181 static int da9150_charger_battery_health(struct da9150_charger *charger,
186 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
217 static int da9150_charger_battery_present(struct da9150_charger *charger,
223 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
232 static int da9150_charger_battery_charge_type(struct da9150_charger *charger,
237 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_J);
256 static int da9150_charger_battery_voltage_min(struct da9150_charger *charger,
261 reg = da9150_reg_read(charger->da9150, DA9150_PPR_CHGCTRL_C);
269 static int da9150_charger_battery_voltage_now(struct da9150_charger *charger,
275 ret = iio_read_channel_processed(charger->vbat_chan, &v_val);
284 static int da9150_charger_battery_current_max(struct da9150_charger *charger,
289 reg = da9150_reg_read(charger->da9150, DA9150_PPR_CHGCTRL_D);
297 static int da9150_charger_battery_voltage_max(struct da9150_charger *charger,
302 reg = da9150_reg_read(charger->da9150, DA9150_PPR_CHGCTRL_B);
325 struct da9150_charger *charger = dev_get_drvdata(psy->dev.parent);
330 ret = da9150_charger_battery_status(charger, val);
333 ret = da9150_charger_supply_online(charger, psy, val);
336 ret = da9150_charger_battery_health(charger, val);
339 ret = da9150_charger_battery_present(charger, val);
342 ret = da9150_charger_battery_charge_type(charger, val);
345 ret = da9150_charger_battery_voltage_min(charger, val);
348 ret = da9150_charger_battery_voltage_now(charger, val);
351 ret = da9150_charger_battery_current_max(charger, val);
354 ret = da9150_charger_battery_voltage_max(charger, val);
366 struct da9150_charger *charger = data;
368 power_supply_changed(charger->battery);
375 struct da9150_charger *charger = data;
378 dev_crit(charger->dev, "TJunc over temperature!!!\n");
379 power_supply_changed(charger->usb);
386 struct da9150_charger *charger = data;
389 dev_crit(charger->dev, "VSYS under voltage!!!\n");
390 power_supply_changed(charger->usb);
391 power_supply_changed(charger->battery);
398 struct da9150_charger *charger = data;
401 reg = da9150_reg_read(charger->da9150, DA9150_STATUS_H);
407 charger->supply_online = charger->battery;
410 charger->supply_online = charger->usb;
413 dev_warn(charger->dev, "Unknown VBUS state - reg = 0x%x\n",
415 charger->supply_online = NULL;
419 power_supply_changed(charger->usb);
420 power_supply_changed(charger->battery);
427 struct da9150_charger *charger =
430 switch (charger->usb_event) {
433 da9150_set_bits(charger->da9150, DA9150_PPR_BKCTRL_A,
438 power_supply_changed(charger->usb);
439 power_supply_changed(charger->battery);
440 da9150_set_bits(charger->da9150, DA9150_PPR_BKCTRL_A,
449 struct da9150_charger *charger =
452 dev_dbg(charger->dev, "DA9150 OTG notify %lu\n", val);
454 charger->usb_event = val;
455 schedule_work(&charger->otg_work);
465 struct da9150_charger *charger = platform_get_drvdata(pdev);
475 charger);
486 struct da9150_charger *charger = platform_get_drvdata(pdev);
495 free_irq(irq, charger);
518 struct da9150_charger *charger;
522 charger = devm_kzalloc(dev, sizeof(struct da9150_charger), GFP_KERNEL);
523 if (!charger)
526 platform_set_drvdata(pdev, charger);
527 charger->da9150 = da9150;
528 charger->dev = dev;
531 charger->ibus_chan = iio_channel_get(dev, "CHAN_IBUS");
532 if (IS_ERR(charger->ibus_chan)) {
533 ret = PTR_ERR(charger->ibus_chan);
537 charger->vbus_chan = iio_channel_get(dev, "CHAN_VBUS");
538 if (IS_ERR(charger->vbus_chan)) {
539 ret = PTR_ERR(charger->vbus_chan);
543 charger->tjunc_chan = iio_channel_get(dev, "CHAN_TJUNC");
544 if (IS_ERR(charger->tjunc_chan)) {
545 ret = PTR_ERR(charger->tjunc_chan);
549 charger->vbat_chan = iio_channel_get(dev, "CHAN_VBAT");
550 if (IS_ERR(charger->vbat_chan)) {
551 ret = PTR_ERR(charger->vbat_chan);
556 charger->usb = power_supply_register(dev, &usb_desc, NULL);
557 if (IS_ERR(charger->usb)) {
558 ret = PTR_ERR(charger->usb);
562 charger->battery = power_supply_register(dev, &battery_desc, NULL);
563 if (IS_ERR(charger->battery)) {
564 ret = PTR_ERR(charger->battery);
574 charger->supply_online = charger->battery;
577 charger->supply_online = charger->usb;
581 charger->supply_online = NULL;
586 charger->usb_phy = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2);
587 if (!IS_ERR_OR_NULL(charger->usb_phy)) {
588 INIT_WORK(&charger->otg_work, da9150_charger_otg_work);
589 charger->otg_nb.notifier_call = da9150_charger_otg_ncb;
590 usb_register_notifier(charger->usb_phy, &charger->otg_nb);
624 if (!IS_ERR_OR_NULL(charger->usb_phy))
625 usb_unregister_notifier(charger->usb_phy, &charger->otg_nb);
627 power_supply_unregister(charger->usb);
630 iio_channel_release(charger->vbat_chan);
633 iio_channel_release(charger->tjunc_chan);
636 iio_channel_release(charger->vbus_chan);
639 iio_channel_release(charger->ibus_chan);
647 struct da9150_charger *charger = platform_get_drvdata(pdev);
652 free_irq(irq, charger);
655 free_irq(irq, charger);
658 free_irq(irq, charger);
661 free_irq(irq, charger);
663 if (!IS_ERR_OR_NULL(charger->usb_phy))
664 usb_unregister_notifier(charger->usb_phy, &charger->otg_nb);
665 cancel_work_sync(&charger->otg_work);
667 power_supply_unregister(charger->battery);
668 power_supply_unregister(charger->usb);
671 iio_channel_release(charger->ibus_chan);
672 iio_channel_release(charger->vbus_chan);
673 iio_channel_release(charger->tjunc_chan);
674 iio_channel_release(charger->vbat_chan);
681 .name = "da9150-charger",