Message ID | 20210507041509.4928-2-dariobin@libero.it |
---|---|
State | Changes Requested |
Delegated to: | Lokesh Vutla |
Headers | show |
Series | rtc: davinci: add driver model support | expand |
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 >
Hi Pali, > Il 07/05/2021 09:56 Pali Rohár <pali@kernel.org> ha scritto: > > > 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? > I do not think so. I think am335x is omap2 and not omap3. In https://www.ti.com/lit/ug/spruf98y/spruf98y.pdf I don't see any reference to the RTC. Thanks and regards, Dario > > 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 > >
On 07/05/21 9:45 am, 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. > > 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 I assume you are converting to a Kconfig symbol? Can you keep this as a separate patch and use tools/moveconfig.py? Thanks and regards, Lokesh
Hi Lokesh, > Il 27/05/2021 11:59 Lokesh Vutla <lokeshvutla@ti.com> ha scritto: > > > On 07/05/21 9:45 am, 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. > > > > 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 > > I assume you are converting to a Kconfig symbol? Can you keep this as a separate > patch and use tools/moveconfig.py? The CONFIG_RTC_DAVINCI symbol was only in the Makefile. I ran moveconfig.py and in fact it didn't find it in any configuration header. I'll add the Kconfig symbol in a separate patch. Thanks and regards Dario Binacchi > > Thanks and regards, > Lokesh
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);
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. Signed-off-by: Dario Binacchi <dariobin@libero.it> --- drivers/rtc/Kconfig | 7 +++++++ drivers/rtc/davinci.c | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-)