Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

power: supply: bq25890_charger: Read back the current battery voltage

The BQ2589x family has the capability of reading the current battery voltage.

Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Angus Ainslie (Purism) <angus@akkea.ca>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Angus Ainslie (Purism) and committed by
Sebastian Reichel
ae6fe7a3 2e1a2dde

+10
+10
drivers/power/supply/bq25890_charger.c
··· 461 461 val->intval = bq25890_find_val(bq->init_data.iterm, TBL_ITERM); 462 462 break; 463 463 464 + case POWER_SUPPLY_PROP_VOLTAGE_NOW: 465 + ret = bq25890_field_read(bq, F_SYSV); /* read measured value */ 466 + if (ret < 0) 467 + return ret; 468 + 469 + /* converted_val = 2.304V + ADC_val * 20mV (table 10.3.15) */ 470 + val->intval = 2304000 + ret * 20000; 471 + break; 472 + 464 473 default: 465 474 return -EINVAL; 466 475 } ··· 678 669 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE, 679 670 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX, 680 671 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT, 672 + POWER_SUPPLY_PROP_VOLTAGE_NOW, 681 673 }; 682 674 683 675 static char *bq25890_charger_supplied_to[] = {