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

power: supply: max77693: Fix wrong conversion of charge input threshold value

The charge input threshold voltage register on the MAX77693 PMIC accepts
four values: 0x0 for 4.3v, 0x1 for 4.7v, 0x2 for 4.8v and 0x3 for 4.9v.
Due to an oversight, the driver calculated the values for 4.7v and above
starting from 0x0, rather than from 0x1 ([(4700000 - 4700000) / 100000]
gives 0).

Add 1 to the calculation to ensure that 4.7v is converted to a register
value of 0x1 and that the other two voltages are converted correctly as
well.

Fixes: 87c2d9067893 ("power: max77693: Add charger driver for Maxim 77693")
Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250316-max77693-charger-input-threshold-fix-v1-1-2b037d0ac722@gmail.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Artur Weber and committed by
Sebastian Reichel
30cc7b0d aae075a9

+1 -1
+1 -1
drivers/power/supply/max77693_charger.c
··· 608 608 case 4700000: 609 609 case 4800000: 610 610 case 4900000: 611 - data = (uvolt - 4700000) / 100000; 611 + data = ((uvolt - 4700000) / 100000) + 1; 612 612 break; 613 613 default: 614 614 dev_err(chg->dev, "Wrong value for charge input voltage regulation threshold\n");