regulator: da9061/62: Adjust LDO voltage selection minimum value
authorFelix Riemann <felix.riemann@sma.de>
Thu, 20 Jun 2019 07:45:00 +0000 (08:45 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 20 Jun 2019 12:07:19 +0000 (13:07 +0100)
commitfd5d10059d5ead12dd12f05ae6d96e70d1fac3df
treee03685e4c38b34d36ed806aada145eb4dc4ef394
parent0211f68e626fb02d33c1e4302d907a45366a2d93
regulator: da9061/62: Adjust LDO voltage selection minimum value

According to the DA9061 and DA9062 datasheets the LDO voltage selection
registers have a lower value of 0x02. This applies to voltage registers
VLDO1_A, VLDO2_A, VLDO3_A and VLDO4_A. This linear offset of 0x02 was
previously not observed by the driver, causing the LDO output voltage to
be systematically lower by two steps (= 0.1V).

This patch fixes the minimum linear selector offset by setting it to a
value of 2 and increases the n_voltages by the same amount allowing
voltages in the range 0x02 -> 0.9V to 0x38 -> 3.6V to be correctly
selected. Also fixes an incorrect calculaton for the n_voltages value in
the regulator LDO2.

These fixes effect all LDO regulators for DA9061 and DA9062.

Acked-by: Steve Twiss <stwiss.opensource@diasemi.com>
Tested-by: Steve Twiss <stwiss.opensource@diasemi.com>
Signed-off-by: Felix Riemann <felix.riemann@sma.de>
Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/da9062-regulator.c
include/linux/mfd/da9062/registers.h