From: Nora Schiffer Date: Tue, 2 Jun 2026 11:57:52 +0000 (+0200) Subject: board: tq: common: add sysinfo setup helper X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=d57090e980ff326167a30bcd6b0b91653056cc0f;p=thirdparty%2Fu-boot.git 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 Reviewed-by: Simon Glass Signed-off-by: Alexander Feilke --- 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 + * D-82229 Seefeld, Germany. + * Author: Nora Schiffer + */ + +#include +#include +#include + +#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 + * 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 */