[PATCH 5/6] board: tq: common: add sysinfo helpers

Alexander Feilke Alexander.Feilke at ew.tq-group.com
Fri May 8 10:48:33 CEST 2026


From: Nora Schiffer <nora.schiffer at ew.tq-group.com>

Add a number of helpers based on the tq_eeprom sysinfo driver and
related hardware detection features. The helpers set up the U-Boot
environment and fixup the OS Device Tree.

Signed-off-by: Nora Schiffer <nora.schiffer at ew.tq-group.com>
Signed-off-by: Alexander Feilke <alexander.feilke at ew.tq-group.com>
---
 board/tq/common/Kconfig      | 27 +++++++++++++++++++++++++++
 board/tq/common/Makefile     |  4 ++++
 board/tq/common/tq_sysinfo.c | 32 ++++++++++++++++++++++++++++++++
 board/tq/common/tq_sysinfo.h | 18 ++++++++++++++++++
 4 files changed, 81 insertions(+)
 create mode 100644 board/tq/common/tq_sysinfo.c
 create mode 100644 board/tq/common/tq_sysinfo.h

diff --git a/board/tq/common/Kconfig b/board/tq/common/Kconfig
index 2fe2ca30072..9d32051e02e 100644
--- a/board/tq/common/Kconfig
+++ b/board/tq/common/Kconfig
@@ -14,3 +14,30 @@ config TQ_COMMON_SDMMC
 
 config TQ_COMMON_SOM
 	bool
+
+config TQ_COMMON_SPL_BOARD_SETUP
+	bool
+	depends on SPL
+
+config TQ_COMMON_SYSINFO
+	bool
+	select SYSINFO
+	imply SYSINFO_TQ_EEPROM
+
+if TQ_COMMON_SYSINFO
+
+config TQ_COMMON_SYSINFO_MACADDR_OFFSET
+	int "TQ EEPROM MAC address offset"
+	default 1
+	help
+	  Set ethXaddr variables based on EEPROM contents
+	  starting with this offset
+
+config TQ_COMMON_SYSINFO_MACADDR_NUM
+	int "TQ EEPROM MAC address number"
+	default 1
+	help
+	  Number of ethXaddr variables to set
+	  based on EEPROM contents
+
+endif
diff --git a/board/tq/common/Makefile b/board/tq/common/Makefile
index 4af9207da4a..af8506dd1bd 100644
--- a/board/tq/common/Makefile
+++ b/board/tq/common/Makefile
@@ -8,3 +8,7 @@
 obj-$(CONFIG_TQ_COMMON_BB) += tq_bb.o
 obj-$(CONFIG_TQ_COMMON_SOM) += tq_som.o
 obj-$(CONFIG_TQ_COMMON_SDMMC) += tq_sdmmc.o
+
+ifneq ($(CONFIG_XPL_BUILD),y)
+obj-$(CONFIG_TQ_COMMON_SYSINFO) += tq_sysinfo.o
+endif
diff --git a/board/tq/common/tq_sysinfo.c b/board/tq/common/tq_sysinfo.c
new file mode 100644
index 00000000000..6ba6e26f275
--- /dev/null
+++ b/board/tq/common/tq_sysinfo.c
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Common sysinfo helpers for TQ-Systems SOMs
+ *
+ * Copyright (c) 2020-2026 TQ-Systems GmbH <u-boot at ew.tq-group.com>
+ * D-82229 Seefeld, Germany.
+ * Author: Nora Schiffer
+ */
+
+#include <env.h>
+#include <sysinfo/tq_eeprom.h>
+
+#define MAX_NAME_LENGTH	80
+
+void tq_common_sysinfo_setup(void)
+{
+	struct udevice *sysinfo;
+	char buf[MAX_NAME_LENGTH] = "";
+	int ret;
+
+	ret = sysinfo_get_and_detect(&sysinfo);
+	if (ret) {
+		pr_err("Failed to get sysinfo data: %d\n", ret);
+		return;
+	}
+
+	if (!sysinfo_get_str(sysinfo, SYSID_TQ_MODEL, sizeof(buf), buf))
+		env_set_runtime("boardtype", buf);
+
+	if (!sysinfo_get_str(sysinfo, SYSID_TQ_SERIAL, sizeof(buf), buf))
+		env_set_runtime("serial#", buf);
+}
diff --git a/board/tq/common/tq_sysinfo.h b/board/tq/common/tq_sysinfo.h
new file mode 100644
index 00000000000..f72281f75c0
--- /dev/null
+++ b/board/tq/common/tq_sysinfo.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Common sysinfo helpers for TQ-Systems SOMs
+ *
+ * Copyright (c) 2025-2026 TQ-Systems GmbH <u-boot at ew.tq-group.com>
+ * D-82229 Seefeld, Germany.
+ * Author: Nora Schiffer
+ */
+
+#ifndef __TQ_SYSINFO_H
+
+#ifndef CONFIG_XPL_BUILD
+
+void tq_common_sysinfo_setup(void);
+
+#endif
+
+#endif /* __TQ_SYSINFO_H */
-- 
2.34.1



More information about the U-Boot mailing list