[PATCH v2 7/8] rtc: pcf85063: add power loss detection during probe

Sverdlin, Alexander alexander.sverdlin at siemens.com
Tue May 12 11:12:23 CEST 2026


On Mon, 2026-05-11 at 14:09 +0200, Alexander Feilke wrote:
> From: Alexander Feilke <alexander.feilke at ew.tq-group.com>
> 
> Retrofit from upstream linux to try resetting the device after power loss.
> 
> Signed-off-by: Alexander Feilke <alexander.feilke at ew.tq-group.com>

Reviewed-by: Alexander Sverdlin <alexander.sverdlin at siemens.com>

> ---
>  drivers/rtc/pcf85063.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/rtc/pcf85063.c b/drivers/rtc/pcf85063.c
> index 107e8b4d4c8..421c42c0b81 100644
> --- a/drivers/rtc/pcf85063.c
> +++ b/drivers/rtc/pcf85063.c
> @@ -185,6 +185,20 @@ static int pcf85063_probe(struct udevice *dev)
>  		return err;
>  	}
>  
> +	/*
> +	 * If a Power loss is detected, SW reset the device.
> +	 * From PCF85063A datasheet:
> +	 * There is a low probability that some devices will have corruption
> +	 * of the registers after the automatic power-on reset...
> +	 */
> +	if (tmp & PCF85063_REG_SC_OS) {
> +		dev_warn(dev, "POR issue detected, sending a SW reset\n");
> +		err = dm_i2c_reg_clrset(dev, PCF85063_REG_CTRL1,
> +					0xff, PCF85063_REG_CTRL1_SWR);
> +		if (err < 0)
> +			dev_warn(dev, "SW reset failed, trying to continue\n");
> +	}
> +
>  	err = pcf85063_load_capacitance(dev);
>  	if (err < 0)
>  		dev_warn(dev, "failed to set xtal load capacitance: %d",

-- 
Alexander Sverdlin
Siemens AG
www.siemens.com


More information about the U-Boot mailing list