[PATCH v2 2/3] rtc: s3c: support for exynosautov9 on-chip RTC
Devang Tailor
dev.tailor at samsung.com
Thu Sep 4 02:13:48 PDT 2025
Hi,
> -----Original Message-----
> From: Henrik Grimler <henrik at grimler.se>
> Sent: 04 September 2025 00:51
> To: Devang Tailor <dev.tailor at samsung.com>
> Cc: robh at kernel.org; krzk+dt at kernel.org; conor+dt at kernel.org;
> alim.akhtar at samsung.com; alexandre.belloni at bootlin.com;
> devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-
> samsung-soc at vger.kernel.org; linux-kernel at vger.kernel.org; linux-
> rtc at vger.kernel.org; faraz.ata at samsung.com
> Subject: Re: [PATCH v2 2/3] rtc: s3c: support for exynosautov9 on-chip RTC
>
> Hi Devang,
>
> On Thu, Jul 10, 2025 at 02:04:33PM +0530, Devang Tailor wrote:
> > The on-chip RTC of this SoC is almost similar to the previous versions
> > of SoC. Hence re-use the existing driver with platform specific change
> > to enable RTC.
>
> Could you please describe what the differences are to previous SoCs?
> You write almost similar, please elaborate in what way in commit message.
Ok. I will add in V3.
>
> > This has been tested with 'hwclock' & 'date' utilities
> >
> > Signed-off-by: Devang Tailor <dev.tailor at samsung.com>
> > ---
> >
> > drivers/rtc/rtc-s3c.c | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index
> > 5dd575865adf..8db24b6360b8 100644
> > --- a/drivers/rtc/rtc-s3c.c
> > +++ b/drivers/rtc/rtc-s3c.c
> > @@ -384,6 +384,15 @@ static void s3c6410_rtc_disable(struct s3c_rtc
> *info)
> > writew(con, info->base + S3C2410_RTCCON); }
> >
> > +static void exynosautov9_rtc_disable(struct s3c_rtc *info) {
> > + unsigned int con;
> > +
> > + con = readb(info->base + S3C2410_RTCCON);
> > + con &= ~S3C2410_RTCCON_RTCEN;
> > + writeb(con, info->base + S3C2410_RTCCON); }
>
> Rather than adding a new rtc_disable variant I think this could be handled
in
> existing s3c24xx_rtc_disable (and I think that is what Krzysztof meant).
How
> about adding a new bool to rtc_data that describes if S3C2410_TICNT reg is
> supported or not, and checking it in s3c24xx_rtc_disable?
Ok. I will add bool 'use_s3c2410_ticnt´ to differentiate if any variant uses
TICNT or not, making it
'true' for existing RTC variants which are using s3c24xx_rtc_disable().
>
> Best regards,
> Henrik Grimler
>
> > static void s3c_rtc_remove(struct platform_device *pdev) {
> > struct s3c_rtc *info = platform_get_drvdata(pdev); @@ -574,6 +583,12
> > @@ static struct s3c_rtc_data const s3c6410_rtc_data = {
> > .disable = s3c6410_rtc_disable,
> > };
> >
> > +static const struct s3c_rtc_data exynosautov9_rtc_data = {
> > + .irq_handler = s3c6410_rtc_irq,
> > + .enable = s3c24xx_rtc_enable,
> > + .disable = exynosautov9_rtc_disable,
> > +};
> > +
> > static const __maybe_unused struct of_device_id s3c_rtc_dt_match[] = {
> > {
> > .compatible = "samsung,s3c2410-rtc", @@ -590,6 +605,9 @@
> static
> > const __maybe_unused struct of_device_id s3c_rtc_dt_match[] = {
> > }, {
> > .compatible = "samsung,exynos3250-rtc",
> > .data = &s3c6410_rtc_data,
> > + }, {
> > + .compatible = "samsung,exynosautov9-rtc",
> > + .data = &exynosautov9_rtc_data,
> > },
> > { /* sentinel */ },
> > };
> > --
> > 2.34.1
> >
> >
More information about the linux-arm-kernel
mailing list