summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNora Schiffer <[email protected]>2026-06-02 13:57:52 +0200
committerFabio Estevam <[email protected]>2026-06-05 12:56:32 -0300
commitd57090e980ff326167a30bcd6b0b91653056cc0f (patch)
tree034a1dba4dee62315863693b868d6714a322c7d8
parenta30556bc4249b4154f86c9460da740ff86d30807 (diff)
board: tq: common: add sysinfo setup helper
Add a setup helper based on the tq_eeprom sysinfo driver and set up the U-Boot environment. Signed-off-by: Nora Schiffer <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
-rw-r--r--board/tq/common/Kconfig5
-rw-r--r--board/tq/common/Makefile1
-rw-r--r--board/tq/common/tq_sysinfo.c37
-rw-r--r--board/tq/common/tq_sysinfo.h15
4 files changed, 58 insertions, 0 deletions
diff --git a/board/tq/common/Kconfig b/board/tq/common/Kconfig
index 2fe2ca30072..567b6e2380a 100644
--- a/board/tq/common/Kconfig
+++ b/board/tq/common/Kconfig
@@ -14,3 +14,8 @@ config TQ_COMMON_SDMMC
config TQ_COMMON_SOM
bool
+
+config TQ_COMMON_SYSINFO
+ bool
+ select SYSINFO
+ imply SYSINFO_TQ_EEPROM
diff --git a/board/tq/common/Makefile b/board/tq/common/Makefile
index 4af9207da4a..6cb39a1925e 100644
--- a/board/tq/common/Makefile
+++ b/board/tq/common/Makefile
@@ -8,3 +8,4 @@
obj-$(CONFIG_TQ_COMMON_BB) += tq_bb.o
obj-$(CONFIG_TQ_COMMON_SOM) += tq_som.o
obj-$(CONFIG_TQ_COMMON_SDMMC) += tq_sdmmc.o
+obj-$(CONFIG_$(PHASE_)TQ_COMMON_SYSINFO) += tq_sysinfo.o
diff --git a/board/tq/common/tq_sysinfo.c b/board/tq/common/tq_sysinfo.c
new file mode 100644
index 00000000000..8d21d1e97c6
--- /dev/null
+++ b/board/tq/common/tq_sysinfo.c
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Common sysinfo helpers for TQ-Systems SOMs
+ *
+ * Copyright (c) 2020-2026 TQ-Systems GmbH <[email protected]>
+ * D-82229 Seefeld, Germany.
+ * Author: Nora Schiffer
+ */
+
+#include <env.h>
+#include <log.h>
+#include <sysinfo/tq_eeprom.h>
+
+#include "tq_sysinfo.h"
+
+#define MAX_NAME_LENGTH 80
+
+int tq_common_sysinfo_setup(void)
+{
+ struct udevice *sysinfo;
+ char buf[MAX_NAME_LENGTH];
+ int ret;
+
+ ret = sysinfo_get_and_detect(&sysinfo);
+ if (ret) {
+ log_debug("Failed to get sysinfo data: %d\n", ret);
+ return ret;
+ }
+
+ 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);
+
+ return 0;
+}
diff --git a/board/tq/common/tq_sysinfo.h b/board/tq/common/tq_sysinfo.h
new file mode 100644
index 00000000000..d73b00eb8d7
--- /dev/null
+++ b/board/tq/common/tq_sysinfo.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Common sysinfo helpers for TQ-Systems SOMs
+ *
+ * Copyright (c) 2025-2026 TQ-Systems GmbH <[email protected]>
+ * D-82229 Seefeld, Germany.
+ * Author: Nora Schiffer
+ */
+
+#ifndef __TQ_SYSINFO_H
+#define __TQ_SYSINFO_H
+
+int tq_common_sysinfo_setup(void);
+
+#endif /* __TQ_SYSINFO_H */