drivers: rtc: max313xx: provide read8/write8
authorChris Packham <judge.packham@gmail.com>
Tue, 11 Jul 2023 23:30:44 +0000 (11:30 +1200)
committerTom Rini <trini@konsulko.com>
Tue, 25 Jul 2023 16:44:46 +0000 (12:44 -0400)
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>
drivers/rtc/max313xx.c

index 748f3c4..6040023 100644 (file)
@@ -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)