From: Philipp Rosenberger <p.rosenberger@kunbus.com>
To: linux-rtc@vger.kernel.org
Cc: p.rosenberger@kunbus.com, dan.carpenter@oracle.com,
u.kleine-koenig@pengutronix.de, biwen.li@nxp.com, lvb@xiphos.com,
bruno.thomsen@gmail.com, Alessandro Zummo <a.zummo@towertech.it>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH 2/2] rtc: pcf2127: Run a OTP refresh if not done before
Date: Mon, 4 Jan 2021 17:19:10 +0100 [thread overview]
Message-ID: <20210104161910.9144-3-p.rosenberger@kunbus.com> (raw)
In-Reply-To: <20210104161910.9144-1-p.rosenberger@kunbus.com>
The datasheet of the PCF2127 states,it is recommended to process an OTP
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 | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/rtc/rtc-pcf2127.c b/drivers/rtc/rtc-pcf2127.c
index 39c28bac4d1a..f012b989f2f2 100644
--- a/drivers/rtc/rtc-pcf2127.c
+++ b/drivers/rtc/rtc-pcf2127.c
@@ -57,6 +57,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)
@@ -625,6 +628,14 @@ static int pcf2127_probe(struct device *dev, struct regmap *regmap,
dev_warn(dev, "Watchdog and alarm functions might not work properly\n");
}
+ 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);
+
/*
* Watchdog timer enabled and reset pin /RST activated when timed out.
* Select 1Hz clock source for watchdog timer.
--
2.29.2
prev parent reply other threads:[~2021-01-04 16:21 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-04 16:19 [PATCH 0/2] rtc: pcf2127: proper initilize rtc after power loss Philipp Rosenberger
2021-01-04 16:19 ` [PATCH 1/2] rtc: pcf2127: Disable Power-On Reset Override Philipp Rosenberger
2021-01-05 6:03 ` kernel test robot
2021-01-12 19:26 ` Uwe Kleine-König
2021-01-13 8:18 ` Philipp Rosenberger
2021-01-13 8:35 ` Uwe Kleine-König
2021-01-04 16:19 ` Philipp Rosenberger [this message]
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=20210104161910.9144-3-p.rosenberger@kunbus.com \
--to=p.rosenberger@kunbus.com \
--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=linux-kernel@vger.kernel.org \
--cc=linux-rtc@vger.kernel.org \
--cc=lvb@xiphos.com \
--cc=u.kleine-koenig@pengutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).