aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Packham <judge.packham@gmail.com>2023-07-12 11:30:44 +1200
committerTom Rini <trini@konsulko.com>2023-07-25 12:44:46 -0400
commitd6c0d7087f0d17d954a39e0f6af406cfb2d7d43a (patch)
tree1ed9f92759fb4c8e6f8c8d13e3842d92952144cd
parentb1aade87ca1f5d3788bd6ef570b438c2dc7a9428 (diff)
downloadu-boot-d6c0d7087f0d17d954a39e0f6af406cfb2d7d43a.zip
u-boot-d6c0d7087f0d17d954a39e0f6af406cfb2d7d43a.tar.gz
u-boot-d6c0d7087f0d17d954a39e0f6af406cfb2d7d43a.tar.bz2
drivers: rtc: max313xx: provide read8/write8
In some designs the MAX313xx RTC may need calibration to cope with oscillator inaccuracies. Provide read8/write8 ops so that the registers can be accessed. Because the driver covers a range of MAX313xx variants no attempt is made to ensure the register is valid. Signed-off-by: Chris Packham <judge.packham@gmail.com>
-rw-r--r--drivers/rtc/max313xx.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/rtc/max313xx.c b/drivers/rtc/max313xx.c
index 748f3c4..6040023 100644
--- a/drivers/rtc/max313xx.c
+++ b/drivers/rtc/max313xx.c
@@ -326,10 +326,22 @@ static int max313xx_reset(struct udevice *dev)
return ret;
}
+static int max313xx_read8(struct udevice *dev, unsigned int reg)
+{
+ return dm_i2c_reg_read(dev, reg);
+}
+
+static int max313xx_write8(struct udevice *dev, unsigned int reg, int val)
+{
+ return dm_i2c_reg_write(dev, reg, val);
+}
+
static const struct rtc_ops max3133x_rtc_ops = {
.get = max313xx_read_time,
.set = max313xx_set_time,
.reset = max313xx_reset,
+ .read8 = max313xx_read8,
+ .write8 = max313xx_write8,
};
static int max313xx_init(struct udevice *dev)