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.go...@theobroma-systems.com>
Cc: Philipp Tomsich <philipp.toms...@theobroma-systems.com>
Cc: Simon Glass <s...@chromium.org>
Signed-off-by: Trent Piepho <tpie...@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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to