]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
regulator: rk808: Add apply_bit for BUCK3 on RK809
authorMikhail Rudenko <mike.rudenko@gmail.com>
Thu, 17 Oct 2024 18:37:28 +0000 (21:37 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:47:41 +0000 (19:47 +0100)
[ Upstream commit 5e53e4a66bc7430dd2d11c18a86410e3a38d2940 ]

Currently, RK809's BUCK3 regulator is modelled in the driver as a
configurable regulator with 0.5-2.4V voltage range. But the voltage
setting is not actually applied, because when bit 6 of
PMIC_POWER_CONFIG register is set to 0 (default), BUCK3 output voltage
is determined by the external feedback resistor. Fix this, by setting
bit 6 when voltage selection is set. Existing users which do not
specify voltage constraints in their device trees will not be affected
by this change, since no voltage setting is applied in those cases,
and bit 6 is not enabled.

Signed-off-by: Mikhail Rudenko <mike.rudenko@gmail.com>
Link: https://patch.msgid.link/20241017-rk809-dcdc3-v1-1-e3c3de92f39c@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/regulator/rk808-regulator.c

index e926c1a85846058f518f6c9f61364fabdecf9502..e3b9d5ce8dbbffcca707f48d0b0b51448ab73c34 100644 (file)
@@ -944,6 +944,8 @@ static const struct regulator_desc rk809_reg[] = {
                .n_linear_ranges = ARRAY_SIZE(rk817_buck1_voltage_ranges),
                .vsel_reg = RK817_BUCK3_ON_VSEL_REG,
                .vsel_mask = RK817_BUCK_VSEL_MASK,
+               .apply_reg = RK817_POWER_CONFIG,
+               .apply_bit = RK817_BUCK3_FB_RES_INTER,
                .enable_reg = RK817_POWER_EN_REG(0),
                .enable_mask = ENABLE_MASK(RK817_ID_DCDC3),
                .enable_val = ENABLE_MASK(RK817_ID_DCDC3),