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 <nora.schiffer@ew.tq-group.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Feilke <alexander.feilke@ew.tq-group.com>
This commit is contained in:
Nora Schiffer
2026-06-05 12:56:32 -03:00
committed by Fabio Estevam
parent a30556bc42
commit d57090e980
4 changed files with 58 additions and 0 deletions
+5
View File
@@ -14,3 +14,8 @@ config TQ_COMMON_SDMMC
config TQ_COMMON_SOM
bool
config TQ_COMMON_SYSINFO
bool
select SYSINFO
imply SYSINFO_TQ_EEPROM
+1
View File
@@ -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
+37
View File
@@ -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 <u-boot@ew.tq-group.com>
* 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;
}
+15
View File
@@ -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 <u-boot@ew.tq-group.com>
* 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 */