rtc: Add read8 and write8 support to isl1208 driver

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@theobroma-systems.com>
Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
This commit is contained in:
Trent Piepho 2018-05-31 11:14:44 -07:00 committed by Tom Rini
parent 0a60a81ba3
commit 4a094725b4

View file

@ -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[] = {