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

power: bq25890: implement INPUT_CURRENT_LIMIT property

Report REG00.IINLIM value as INPUT_CURRENT_LIMIT property.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Michał Mirosław and committed by
Sebastian Reichel
478efc79 c942656d

+11
+11
drivers/power/supply/bq25890_charger.c
··· 254 254 /* range tables */ 255 255 TBL_ICHG, 256 256 TBL_ITERM, 257 + TBL_IILIM, 257 258 TBL_VREG, 258 259 TBL_BOOSTV, 259 260 TBL_SYSVMIN, ··· 295 294 /* TODO: BQ25896 has max ICHG 3008 mA */ 296 295 [TBL_ICHG] = { .rt = {0, 5056000, 64000} }, /* uA */ 297 296 [TBL_ITERM] = { .rt = {64000, 1024000, 64000} }, /* uA */ 297 + [TBL_IILIM] = { .rt = {50000, 3200000, 50000} }, /* uA */ 298 298 [TBL_VREG] = { .rt = {3840000, 4608000, 16000} }, /* uV */ 299 299 [TBL_BOOSTV] = { .rt = {4550000, 5510000, 64000} }, /* uV */ 300 300 [TBL_SYSVMIN] = { .rt = {3000000, 3700000, 100000} }, /* uV */ ··· 496 494 val->intval = bq25890_find_val(bq->init_data.iterm, TBL_ITERM); 497 495 break; 498 496 497 + case POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT: 498 + ret = bq25890_field_read(bq, F_IILIM); 499 + if (ret < 0) 500 + return ret; 501 + 502 + val->intval = bq25890_find_val(ret, TBL_IILIM); 503 + break; 504 + 499 505 case POWER_SUPPLY_PROP_VOLTAGE_NOW: 500 506 ret = bq25890_field_read(bq, F_SYSV); /* read measured value */ 501 507 if (ret < 0) ··· 702 692 POWER_SUPPLY_PROP_CONSTANT_CHARGE_VOLTAGE_MAX, 703 693 POWER_SUPPLY_PROP_PRECHARGE_CURRENT, 704 694 POWER_SUPPLY_PROP_CHARGE_TERM_CURRENT, 695 + POWER_SUPPLY_PROP_INPUT_CURRENT_LIMIT, 705 696 POWER_SUPPLY_PROP_VOLTAGE_NOW, 706 697 POWER_SUPPLY_PROP_CURRENT_NOW, 707 698 };