Add Kconfig options so that the RTC can be used in SPL and TPL. This is
helpful for accessing the contents of CMOS RAM, for example.

Signed-off-by: Simon Glass <s...@chromium.org>
---

 drivers/rtc/Kconfig      | 18 ++++++++++++++++++
 drivers/rtc/Makefile     |  2 +-
 drivers/rtc/rtc-uclass.c |  1 +
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 97cf7d84dfa..bcc01b135e5 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -13,6 +13,24 @@ config DM_RTC
          drivers to perform the actual functions. See rtc.h for a
          description of the API.
 
+config SPL_DM_RTC
+       bool "Enable Driver Model for RTC drivers in SPL"
+       depends on SPL_DM
+       help
+         Enable drver model for real-time-clock drivers. The RTC uclass
+         then provides the rtc_get()/rtc_set() interface, delegating to
+         drivers to perform the actual functions. See rtc.h for a
+         description of the API.
+
+config TPL_DM_RTC
+       bool "Enable Driver Model for RTC drivers in TPL"
+       depends on TPL_DM
+       help
+         Enable drver model for real-time-clock drivers. The RTC uclass
+         then provides the rtc_get()/rtc_set() interface, delegating to
+         drivers to perform the actual functions. See rtc.h for a
+         description of the API.
+
 config RTC_PCF2127
        bool "Enable PCF2127 driver"
        depends on DM_RTC
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile
index 513e3ffc079..1724602f1cb 100644
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
@@ -4,7 +4,7 @@
 # Wolfgang Denk, DENX Software Engineering, w...@denx.de.
 #ccflags-y += -DDEBUG
 
-obj-$(CONFIG_DM_RTC) += rtc-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)DM_RTC) += rtc-uclass.o
 
 obj-$(CONFIG_RTC_AT91SAM9_RTT) += at91sam9_rtt.o
 obj-y += date.o
diff --git a/drivers/rtc/rtc-uclass.c b/drivers/rtc/rtc-uclass.c
index c676f0ff359..a0a238aedda 100644
--- a/drivers/rtc/rtc-uclass.c
+++ b/drivers/rtc/rtc-uclass.c
@@ -122,4 +122,5 @@ int rtc_write32(struct udevice *dev, unsigned int reg, u32 
value)
 UCLASS_DRIVER(rtc) = {
        .name           = "rtc",
        .id             = UCLASS_RTC,
+       .post_bind      = dm_scan_fdt_dev,
 };
-- 
2.19.0.605.g01d371f741-goog

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

Reply via email to