[PATCH 2/2] pmic: pca9450: clear PRESET_EN bit for BUCK1/2/3 voltage settings

Fabio Estevam festevam at denx.de
Tue Jun 28 22:02:24 CEST 2022


On 28/06/2022 11:06, Heiko Thiery wrote:
> The regulator driver uses the DVS registers PCA9450_REG_BUCKxOUT_DVS0 
> to
> set the voltage for the buck regulators 1, 2 and 3. This has no effect 
> as the
> PRESET_EN bit is set by default and therefore the preset values are 
> used
> instead, which are set to 850 mV.
> 
> This is a port of the same change in the Linux kernel:
> 98b94b6e38ca0 ("regulator: pca9450: Clear PRESET_EN bit to fix
> BUCK1/2/3 voltage setting")
> 
> Cc: Frieder Schrempf <frieder.schrempf at kontron.de>
> Signed-off-by: Heiko Thiery <heiko.thiery at gmail.com>
> ---
>  drivers/power/pmic/pca9450.c | 6 ++++++
>  include/power/pca9450.h      | 3 +++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/power/pmic/pca9450.c 
> b/drivers/power/pmic/pca9450.c
> index fecab0496f..1c59362ab4 100644
> --- a/drivers/power/pmic/pca9450.c
> +++ b/drivers/power/pmic/pca9450.c
> @@ -94,6 +94,12 @@ static int pca9450_probe(struct udevice *dev)
> 
>  	priv->regmap = syscon_node_to_regmap(dev_ofnode(dev));
> 
> +	/* Clear PRESET_EN bit in BUCK123_DVS to use DVS registers */
> +	if (CONFIG_IS_ENABLED(DM_REGULATOR_PCA9450)) {
> +		ret = regmap_update_bits(priv->regmap, PCA9450_BUCK123_DVS,
> +					 BUCK123_PRESET_EN, 0);
> +	}

Nit: the braces could be dropped.

Reviewed-by: Fabio Estevam <festevam at denx.de>


More information about the U-Boot mailing list