All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: Philipp Rosenberger <p.rosenberger@kunbus.com>
Cc: dan.carpenter@oracle.com, biwen.li@nxp.com, lvb@xiphos.com,
	bruno.thomsen@gmail.com, l.sanfilippo@kunbus.com,
	Alessandro Zummo <a.zummo@towertech.it>,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] rtc: pcf2127: Run a OTP refresh if not done before
Date: Thu, 14 Jan 2021 09:06:56 +0100	[thread overview]
Message-ID: <20210114080656.ee7fdqufu2biyy4y@pengutronix.de> (raw)
In-Reply-To: <20210113112742.7354-3-p.rosenberger@kunbus.com>

[-- Attachment #1: Type: text/plain, Size: 1905 bytes --]

On Wed, Jan 13, 2021 at 12:27:42PM +0100, Philipp Rosenberger wrote:
> The datasheet of the PCF2127 states,it is recommended to process an OTP

s/,/, /

> refresh once the power is up and the oscillator is operating stable. The
> OTP refresh takes less than 100 ms to complete.
> 
> Signed-off-by: Philipp Rosenberger <p.rosenberger@kunbus.com>
> ---
>  drivers/rtc/rtc-pcf2127.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
> index 378b1ce812d6..ca56dba64e79 100644
> --- a/drivers/rtc/rtc-pcf2127.c
> +++ b/drivers/rtc/rtc-pcf2127.c
> @@ -58,6 +58,9 @@
>  #define PCF2127_REG_ALARM_DM		0x0D
>  #define PCF2127_REG_ALARM_DW		0x0E
>  #define PCF2127_BIT_ALARM_AE			BIT(7)
> +/* CLKOUT control register */
> +#define PCF2127_REG_CLKOUT		0x0f
> +#define PCF2127_BIT_CLKOUT_OTPR			BIT(5)
>  /* Watchdog registers */
>  #define PCF2127_REG_WD_CTL		0x10
>  #define PCF2127_BIT_WD_CTL_TF0			BIT(0)
> @@ -630,6 +633,19 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap,
>  		dev_warn(dev, "Watchdog and alarm functions might not work properly\n");
>  	}
>  
> +	/*
> +	 * Set the OTP refresh bit unconditionally. If an OTP refresh was
> +	 * already done the bit is already set and will not rerun the refresh
> +	 * operation.
> +	 */
> +	ret = regmap_set_bits(pcf2127->regmap, PCF2127_REG_CLKOUT,
> +			      PCF2127_BIT_CLKOUT_OTPR);
> +	if (ret < 0) {
> +		dev_err(dev, "%s: OTP refresh (clkout_ctrl) failed.\n", __func__);
> +		return ret;
> +	}
> +	msleep(100);

This unconditional sleep isn't so nice. Maybe it makes sense to only do
this when the chip reports a power loss?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2021-01-14  8:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-13 11:27 [PATCH v2 0/2] rtc: pcf2127: proper initialization after power loss Philipp Rosenberger
2021-01-13 11:27 ` [PATCH v2 1/2] rtc: pcf2127: Disable Power-On Reset Override Philipp Rosenberger
2021-01-14  8:05   ` Uwe Kleine-König
2021-01-14  9:10     ` Philipp Rosenberger
2021-01-14  9:33       ` Alexandre Belloni
2021-01-14 10:43         ` Philipp Rosenberger
2021-01-14 10:53           ` Alexandre Belloni
2021-01-14 11:11             ` Philipp Rosenberger
2021-01-13 11:27 ` [PATCH v2 2/2] rtc: pcf2127: Run a OTP refresh if not done before Philipp Rosenberger
2021-01-14  8:06   ` Uwe Kleine-König [this message]
2021-01-14  9:15     ` Philipp Rosenberger
2021-01-14  9:50   ` Alexandre Belloni
2021-01-14 10:30     ` Philipp Rosenberger
2021-01-14 11:11       ` Alexandre Belloni
2021-01-14 11:18         ` Philipp Rosenberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210114080656.ee7fdqufu2biyy4y@pengutronix.de \
    --to=u.kleine-koenig@pengutronix.de \
    --cc=a.zummo@towertech.it \
    --cc=alexandre.belloni@bootlin.com \
    --cc=biwen.li@nxp.com \
    --cc=bruno.thomsen@gmail.com \
    --cc=dan.carpenter@oracle.com \
    --cc=l.sanfilippo@kunbus.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=lvb@xiphos.com \
    --cc=p.rosenberger@kunbus.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.