[U-Boot] [PATCH] rtc: Add read8 and write8 support to isl1208 driver

Trent Piepho tpiepho at impinj.com
Thu May 31 18:14:44 UTC 2018


This can be used for device register access from board code.

This allows access to capabilities in the RTC chip not abstracted in
U-Boot's RTC class.  E.g., device NVRAM or a tamper detection circuit.

Cc: Klaus Goger <klaus.goger at theobroma-systems.com>
Cc: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
Cc: Simon Glass <sjg at chromium.org>
Signed-off-by: Trent Piepho <tpiepho at impinj.com>
---
 drivers/rtc/isl1208.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/rtc/isl1208.c b/drivers/rtc/isl1208.c
index 22ac0d2b08..59a60b75b3 100644
--- a/drivers/rtc/isl1208.c
+++ b/drivers/rtc/isl1208.c
@@ -51,6 +51,24 @@
 #define RTC_STAT_BIT_BAT	0x02	/* BATTERY BIT */
 #define RTC_STAT_BIT_RTCF	0x01	/* REAL TIME CLOCK FAIL BIT */
 
+/*
+ * Read an RTC register
+ */
+
+static int isl1208_rtc_read8(struct udevice *dev, unsigned int reg)
+{
+	return dm_i2c_reg_read(dev, reg);
+}
+
+/*
+ * Write an RTC register
+ */
+
+static int isl1208_rtc_write8(struct udevice *dev, unsigned int reg, int val)
+{
+	return dm_i2c_reg_write(dev, reg, val);
+}
+
 /*
  * Get the current time from the RTC
  */
@@ -161,6 +179,8 @@ static const struct rtc_ops isl1208_rtc_ops = {
 	.get = isl1208_rtc_get,
 	.set = isl1208_rtc_set,
 	.reset = isl1208_rtc_reset,
+	.read8 = isl1208_rtc_read8,
+	.write8 = isl1208_rtc_write8,
 };
 
 static const struct udevice_id isl1208_rtc_ids[] = {
-- 
2.14.3



More information about the U-Boot mailing list