regulator: rt5033: Fix n_voltages settings for BUCK and LDO
authorAxel Lin <axel.lin@ingics.com>
Sun, 27 Jun 2021 08:04:18 +0000 (16:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 8 Aug 2021 06:38:53 +0000 (08:38 +0200)
commitae7522bf0e8da7b8a763a0d76c508ca32962114c
treef2e6a078936153e265af51c9114b2a92aadc4b24
parent9fb9f0b59dbfd3e7d27f44a62b46eb75ea732e72
regulator: rt5033: Fix n_voltages settings for BUCK and LDO

[ Upstream commit 6549c46af8551b346bcc0b9043f93848319acd5c ]

For linear regulators, the n_voltages should be (max - min) / step + 1.

Buck voltage from 1v to 3V, per step 100mV, and vout mask is 0x1f.
If value is from 20 to 31, the voltage will all be fixed to 3V.
And LDO also, just vout range is different from 1.2v to 3v, step is the
same. If value is from 18 to 31, the voltage will also be fixed to 3v.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Reviewed-by: ChiYuan Huang <cy_huang@richtek.com>
Link: https://lore.kernel.org/r/20210627080418.1718127-1-axel.lin@ingics.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/mfd/rt5033-private.h