[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