public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Kuan-Wei Chiu <visitorckw@gmail.com>
To: alison.wang@nxp.com, angelo@kernel-space.org, trini@konsulko.com
Cc: me@ziyao.cc, daniel@0x0f.com, heinrich.schuchardt@canonical.com,
	jserv@ccns.ncku.edu.tw, eleanor15x@gmail.com,
	u-boot@lists.denx.de, Kuan-Wei Chiu <visitorckw@gmail.com>
Subject: [PATCH v5 3/7] rtc: goldfish: Support platform data for non-DT probing
Date: Mon,  5 Jan 2026 16:52:17 +0000	[thread overview]
Message-ID: <20260105165221.1816070-4-visitorckw@gmail.com> (raw)
In-Reply-To: <20260105165221.1816070-1-visitorckw@gmail.com>

Currently, the Goldfish RTC driver exclusively relies on device tree
to retrieve the base address, failing immediately if dev_read_addr()
returns FDT_ADDR_T_NONE. This restriction prevents the driver from
being used on platforms that instantiate devices via U_BOOT_DRVINFO()
instead of device tree, such as the QEMU m68k virt machine.

Add support for platform data to address this limitation. Update the
probe function to fall back to retrieving the base address from
struct goldfish_rtc_plat if the device tree address is unavailable.
Introduce a new header file include/goldfish_rtc.h to define the
platform data structure.

Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
---
Changes in v5:
- Rebase on u-boot/next branch.

 drivers/rtc/goldfish_rtc.c | 13 ++++++++++---
 include/goldfish_rtc.h     | 15 +++++++++++++++
 2 files changed, 25 insertions(+), 3 deletions(-)
 create mode 100644 include/goldfish_rtc.h

diff --git a/drivers/rtc/goldfish_rtc.c b/drivers/rtc/goldfish_rtc.c
index e63a2766c76..f6316896595 100644
--- a/drivers/rtc/goldfish_rtc.c
+++ b/drivers/rtc/goldfish_rtc.c
@@ -9,6 +9,7 @@
 
 #include <div64.h>
 #include <dm.h>
+#include <goldfish_rtc.h>
 #include <mapmem.h>
 #include <rtc.h>
 #include <linux/io.h>
@@ -77,12 +78,18 @@ static int goldfish_rtc_set(struct udevice *dev, const struct rtc_time *time)
 static int goldfish_rtc_probe(struct udevice *dev)
 {
 	struct goldfish_rtc *priv = dev_get_priv(dev);
+	struct goldfish_rtc_plat *plat;
 	fdt_addr_t addr;
 
 	addr = dev_read_addr(dev);
-	if (addr == FDT_ADDR_T_NONE)
-		return -EINVAL;
-	priv->base = map_sysmem(addr, 0x20);
+	if (addr != FDT_ADDR_T_NONE) {
+		priv->base = map_sysmem(addr, 0x20);
+	} else {
+		plat = dev_get_plat(dev);
+		if (!plat)
+			return -EINVAL;
+		priv->base = plat->base;
+	}
 
 	return 0;
 }
diff --git a/include/goldfish_rtc.h b/include/goldfish_rtc.h
new file mode 100644
index 00000000000..bb113a0bd79
--- /dev/null
+++ b/include/goldfish_rtc.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2025, Kuan-Wei Chiu <visitorckw@gmail.com>
+ */
+
+#ifndef _GOLDFISH_RTC_H_
+#define _GOLDFISH_RTC_H_
+
+#include <linux/types.h>
+
+struct goldfish_rtc_plat {
+	void __iomem *base;
+};
+
+#endif /* _GOLDFISH_RTC_H_ */
-- 
2.52.0.358.g0dd7633a29-goog


  parent reply	other threads:[~2026-01-05 18:20 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-05 16:52 [PATCH v5 0/7] m68k: Add support for QEMU virt machine Kuan-Wei Chiu
2026-01-05 16:52 ` [PATCH v5 1/7] serial: Add Goldfish TTY driver Kuan-Wei Chiu
2026-01-05 23:30   ` Simon Glass
2026-01-06 19:25     ` Kuan-Wei Chiu
2026-01-07 10:59   ` Angelo Dureghello
2026-01-05 16:52 ` [PATCH v5 2/7] timer: Add Goldfish timer driver Kuan-Wei Chiu
2026-01-05 23:30   ` Simon Glass
2026-01-07 11:07   ` Angelo Dureghello
2026-01-05 16:52 ` Kuan-Wei Chiu [this message]
2026-01-05 23:30   ` [PATCH v5 3/7] rtc: goldfish: Support platform data for non-DT probing Simon Glass
2026-01-05 23:47     ` Tom Rini
2026-01-06  0:58       ` Daniel Palmer
2026-01-06  1:49         ` Tom Rini
2026-01-06 16:22       ` Simon Glass
2026-01-06 16:58         ` Tom Rini
2026-01-05 16:52 ` [PATCH v5 4/7] m68k: Add support for M68040 CPU Kuan-Wei Chiu
2026-01-05 23:30   ` Simon Glass
2026-01-06 19:38     ` Kuan-Wei Chiu
2026-01-05 16:52 ` [PATCH v5 5/7] board: Add QEMU m68k virt board support Kuan-Wei Chiu
2026-01-05 23:30   ` Simon Glass
2026-01-06 19:22     ` Kuan-Wei Chiu
2026-01-05 16:52 ` [PATCH v5 6/7] CI: Add test jobs for QEMU m68k virt machine Kuan-Wei Chiu
2026-01-05 23:30   ` Simon Glass
2026-01-05 16:52 ` [PATCH v5 7/7] MAINTAINERS: Update m68k entry Kuan-Wei Chiu
2026-01-07 14:37   ` Angelo Dureghello
2026-01-08 18:52   ` Maciej W. Rozycki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260105165221.1816070-4-visitorckw@gmail.com \
    --to=visitorckw@gmail.com \
    --cc=alison.wang@nxp.com \
    --cc=angelo@kernel-space.org \
    --cc=daniel@0x0f.com \
    --cc=eleanor15x@gmail.com \
    --cc=heinrich.schuchardt@canonical.com \
    --cc=jserv@ccns.ncku.edu.tw \
    --cc=me@ziyao.cc \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox