diff mbox series

[1/7] rtc: davinci: enable compilation for omap architectures

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

Commit Message

Dario Binacchi May 7, 2021, 4:15 a.m. UTC
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(-)

Comments

Pali Rohár May 7, 2021, 7:56 a.m. UTC | #1
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
>
Dario Binacchi May 8, 2021, 10:40 a.m. UTC | #2
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
> >
Lokesh Vutla May 27, 2021, 9:59 a.m. UTC | #3
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
Dario Binacchi May 28, 2021, 11:07 a.m. UTC | #4
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 mbox series

Patch

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);