]> 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:50:40 +0000 (19:50 +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 127dc2e2e6903bfc92c2a1abad12a720c7f26626..0763a5bbee2f5cc6a6b2c17e8f234ae811cdc444 100644 (file)
@@ -906,6 +906,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),