Thread (17 messages) 17 messages, 3 authors, 2025-12-17

Re: [PATCH 1/4] rtc: zynqmp: correct frequency value

From: Tomas Melin <hidden>
Date: 2025-12-10 12:31:09
Also in: linux-rtc, lkml

Hi,

On 09/12/2025 18:51, T, Harini wrote:
[Public]

Hi,
quoted
-----Original Message-----
From: Tomas Melin <redacted>
Sent: Monday, December 1, 2025 6:20 PM
To: Alexandre Belloni <alexandre.belloni@bootlin.com>; Simek, Michal
[off-list ref]
Cc: linux-rtc@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux-
kernel@vger.kernel.org; Tomas Melin [off-list ref]
Subject: [PATCH 1/4] rtc: zynqmp: correct frequency value

Caution: This message originated from an External Source. Use proper
caution when opening attachments, clicking links, or responding.


Fix calibration value in case a clock reference is provided.
The actual calibration value written into register is
frequency - 1.

Signed-off-by: Tomas Melin <redacted>
---
 drivers/rtc/rtc-zynqmp.c | 3 +++
 1 file changed, 3 insertions(+)
diff --git a/drivers/rtc/rtc-zynqmp.c b/drivers/rtc/rtc-zynqmp.c
index
3baa2b481d9f2008750046005283b98a0d546c5c..856bc1678e7d31144f320ae
9f75fc58c742a2a64 100644
--- a/drivers/rtc/rtc-zynqmp.c
+++ b/drivers/rtc/rtc-zynqmp.c
@@ -345,7 +345,10 @@ static int xlnx_rtc_probe(struct platform_device
*pdev)
                                           &xrtcdev->freq);
                if (ret)
                        xrtcdev->freq = RTC_CALIB_DEF;
+       } else {
+               xrtcdev->freq--;
If freq > 65536, the 16-bit register silently truncates.
Please add some checks for above mentioned scenario.
That is indeed a scenario that is not accounted for in the current
driver. I can add a separate patch for that as part of this series.

Thanks,
Tomas

quoted
        }
+
        ret = readl(xrtcdev->reg_base + RTC_CALIB_RD);
        if (!ret)
                writel(xrtcdev->freq, (xrtcdev->reg_base + RTC_CALIB_WR));

--
2.47.3
Thanks,
Harini T
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help