
This adds nvmem support for RTCs with nvmem registers.
Signed-off-by: Sean Anderson sean.anderson@seco.com ---
drivers/rtc/rtc-uclass.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/drivers/rtc/rtc-uclass.c b/drivers/rtc/rtc-uclass.c index e5ae6ea4d5..345185d2b8 100644 --- a/drivers/rtc/rtc-uclass.c +++ b/drivers/rtc/rtc-uclass.c @@ -11,6 +11,7 @@ #include <errno.h> #include <log.h> #include <rtc.h> +#include <nvmem.h>
int dm_rtc_get(struct udevice *dev, struct rtc_time *time) { @@ -181,3 +182,21 @@ UCLASS_DRIVER(rtc) = { .post_bind = dm_scan_fdt_dev, #endif }; + +static int rtc_nvmem_read(struct udevice *dev, unsigned int offset, void *buf, + size_t size) +{ + return dm_rtc_read(dev, offset, buf, size); +} + +static int rtc_nvmem_write(struct udevice *dev, unsigned int offset, + const void *buf, size_t size) +{ + return dm_rtc_write(dev, offset, buf, size); +} + +NVMEM_INTERFACE(rtc) = { + .id = UCLASS_RTC, + .read = rtc_nvmem_read, + .write = rtc_nvmem_write, +};