
On Friday 07 May 2021 06:15:02 Dario Binacchi wrote:
The Davinci's onchip RTC is also present on TI OMAP1, AM33XX, AM43XX and DRA7XX SOCs. So, let's enable compilation for these architectures too.
Hello! If it is available on AM33XX, do you know if it is also on OMAP3?
Signed-off-by: Dario Binacchi dariobin@libero.it
drivers/rtc/Kconfig | 7 +++++++ drivers/rtc/davinci.c | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index c84a9d2b27..cbdfddb80f 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -188,4 +188,11 @@ config RTC_ABX80X families of ultra-low-power battery- and capacitor-backed real-time clock chips.
+config RTC_DAVINCI
- bool "Enable TI OMAP RTC driver"
- depends on ARCH_DAVINCI || ARCH_OMAP2PLUS
- help
Say "yes" here to support the on chip real time clock
present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx.
endmenu diff --git a/drivers/rtc/davinci.c b/drivers/rtc/davinci.c index c446e7a735..8f5f76c9d6 100644 --- a/drivers/rtc/davinci.c +++ b/drivers/rtc/davinci.c @@ -9,11 +9,16 @@ #include <rtc.h> #include <asm/io.h> #include <asm/davinci_rtc.h> +#include <asm/arch/hardware.h> #include <linux/delay.h>
+#if !defined(RTC_BASE) && defined(DAVINCI_RTC_BASE) +#define RTC_BASE DAVINCI_RTC_BASE +#endif
int rtc_get(struct rtc_time *tmp) {
- struct davinci_rtc *rtc = (struct davinci_rtc *)DAVINCI_RTC_BASE;
- struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE; unsigned long sec, min, hour, mday, wday, mon_cent, year; unsigned long status;
@@ -57,7 +62,7 @@ int rtc_get(struct rtc_time *tmp)
int rtc_set(struct rtc_time *tmp) {
- struct davinci_rtc *rtc = (struct davinci_rtc *)DAVINCI_RTC_BASE;
struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE;
debug("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
@@ -75,7 +80,7 @@ int rtc_set(struct rtc_time *tmp)
void rtc_reset(void) {
- struct davinci_rtc *rtc = (struct davinci_rtc *)DAVINCI_RTC_BASE;
struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE;
/* run RTC counter */ writel(0x01, &rtc->ctrl);
-- 2.17.1