* [PATCH v1 0/7] toradex: fix reset and hardware detection regressions
@ 2024-02-20 18:29 Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 1/7] toradex: Fix recursive call to checkboard Francesco Dolcini
` (7 more replies)
0 siblings, 8 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
Marcel Ziswiler, Tom Rini, Thierry Reding, Svyatoslav Ryhel
Cc: Francesco Dolcini, u-boot, Sahaj Sarup, Francesco Dolcini
From: Francesco Dolcini <francesco.dolcini@toradex.com>
This series fixes two regressions affecting multiple Toradex boards
(i.MX, TI and TEGRA based) and targets the current master, e.g. v2024.04 release.
U-Boot `reset` command is broken on all Tordex i.MX6* based SoMs since
v2023.07, this series fixes it enabling the `wdt-reboot` driver.
Since v2024.04-rc1 reading the Toradex configuration block is not working
properly anymore, the serial number and the hardware version are not read
correctly, preventing the board from functioning correctly (wrong mac address,
wrong DT, ...). This is fixed by reading the config block in `EVT_SETTINGS_R` and
adding a toradex sysinfo driver. In addition to that, we now use a random mac
address in case the config block is invalid.
Reported-by: Sahaj Sarup <sahaj.sarup@linaro.org>
Closes: https://lore.kernel.org/all/CAKZ1LvM45MB8N0CqgU+C7i9=Bjb6kqNTxWo2Tv407HKLWtCMkA@mail.gmail.com/
Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Closes: https://lore.kernel.org/all/e40ed93bd8f371ec56b8fc451dcb458f3ce6dcba.camel@toradex.com/
Reported-by: Francesco Dolcini <francesco@dolcini.it>
Closes: https://lore.kernel.org/all/ZY2ZDWAQuTlRjV9H@francesco-nb/
Emanuele Ghidoli (6):
toradex: Fix recursive call to checkboard
toradex: Remove not necessary model prints from checkboard()
toradex: common: Use SETTINGS_R event to read toradex config block
arm: dts: Refactor device trees using "&{/aliases}" syntax
toradex: common: Add sysinfo driver
toradex: common: Use random mac address if toradex config block is
missing
Parth Pancholi (1):
toradex: imx6*: fix reset using wdt-reboot driver
arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +
arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +
.../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 28 +++-
arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 36 +++--
.../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 14 ++
.../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 14 +-
.../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 16 +-
.../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 16 +-
.../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 +
arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 ++
arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 ++
arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 ++
arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 ++
.../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 +
board/toradex/apalis-imx8/apalis-imx8.c | 10 --
board/toradex/apalis-tk1/apalis-tk1.c | 7 -
board/toradex/apalis_imx6/apalis_imx6.c | 21 ---
board/toradex/apalis_t30/apalis_t30.c | 8 -
.../toradex/colibri-imx6ull/colibri-imx6ull.c | 7 -
board/toradex/colibri-imx8x/colibri-imx8x.c | 10 --
board/toradex/colibri_imx6/colibri_imx6.c | 20 ---
board/toradex/colibri_imx7/colibri_imx7.c | 8 -
board/toradex/colibri_t20/colibri_t20.c | 10 --
board/toradex/colibri_t30/colibri_t30.c | 7 -
board/toradex/colibri_vf/colibri_vf.c | 10 --
board/toradex/common/Kconfig | 1 +
board/toradex/common/tdx-common.c | 137 +++++++++++++-----
board/toradex/common/tdx-common.h | 1 -
configs/apalis-imx8_defconfig | 1 +
configs/apalis-tk1_defconfig | 1 +
configs/apalis_imx6_defconfig | 4 +
configs/apalis_t30_defconfig | 1 +
configs/colibri-imx6ull-emmc_defconfig | 4 +
configs/colibri-imx6ull_defconfig | 4 +
configs/colibri-imx8x_defconfig | 1 +
configs/colibri_imx6_defconfig | 4 +
configs/colibri_imx7_defconfig | 1 +
configs/colibri_imx7_emmc_defconfig | 1 +
configs/colibri_t20_defconfig | 1 +
configs/colibri_t30_defconfig | 1 +
configs/colibri_vf_defconfig | 1 +
configs/verdin-am62_a53_defconfig | 1 +
configs/verdin-am62_r5_defconfig | 1 +
configs/verdin-imx8mm_defconfig | 1 +
configs/verdin-imx8mp_defconfig | 1 +
45 files changed, 284 insertions(+), 194 deletions(-)
create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
--
2.39.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v1 1/7] toradex: Fix recursive call to checkboard
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 2/7] toradex: Remove not necessary model prints from checkboard() Francesco Dolcini
` (6 subsequent siblings)
7 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Marcel Ziswiler, Tom Rini; +Cc: Emanuele Ghidoli, u-boot, Francesco Dolcini
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Since checkboard() is used instead of show_board_info(), in case toradex
config block is missing or malformed, checkboard is recursively called.
It prints a long list of "MISSING TORADEX CONFIG BLOCK" till the stack
is full.
Fixes: edb0ecd18708 ("toradex: Use checkboard() instead of show_board_info()")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
board/toradex/common/tdx-common.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
index ed8f0a6a4756..ddc4a175da68 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -103,7 +103,6 @@ int tdx_checkboard(void)
if (read_tdx_cfg_block()) {
printf("MISSING TORADEX CONFIG BLOCK\n");
get_mac_from_serial(tdx_serial, &tdx_eth_addr);
- checkboard();
} else {
snprintf(tdx_serial_str, sizeof(tdx_serial_str),
"%08u", tdx_serial);
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 2/7] toradex: Remove not necessary model prints from checkboard()
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 1/7] toradex: Fix recursive call to checkboard Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 3/7] toradex: common: Use SETTINGS_R event to read toradex config block Francesco Dolcini
` (5 subsequent siblings)
7 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Marcel Ziswiler, Tom Rini; +Cc: Emanuele Ghidoli, u-boot, Francesco Dolcini
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Sysinfo prints the model obtained from device tree, checkboard()
take info from hardware and tdx_checkboard() use the model retrieved by
toradex config block.
Remove the print from checkboard() function because the model obtained
from toradex config block is the most complete.
If toradex config block is missing the model info from device tree is
enough.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
board/toradex/apalis-imx8/apalis-imx8.c | 10 ---------
board/toradex/apalis-tk1/apalis-tk1.c | 7 -------
board/toradex/apalis_imx6/apalis_imx6.c | 21 -------------------
board/toradex/apalis_t30/apalis_t30.c | 8 -------
.../toradex/colibri-imx6ull/colibri-imx6ull.c | 7 -------
board/toradex/colibri-imx8x/colibri-imx8x.c | 10 ---------
board/toradex/colibri_imx6/colibri_imx6.c | 20 ------------------
board/toradex/colibri_imx7/colibri_imx7.c | 8 -------
board/toradex/colibri_t20/colibri_t20.c | 10 ---------
board/toradex/colibri_t30/colibri_t30.c | 7 -------
board/toradex/colibri_vf/colibri_vf.c | 10 ---------
board/toradex/common/tdx-common.c | 9 +++++++-
board/toradex/common/tdx-common.h | 1 -
13 files changed, 8 insertions(+), 120 deletions(-)
diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c
index b351ce64abfc..2483a63c6733 100644
--- a/board/toradex/apalis-imx8/apalis-imx8.c
+++ b/board/toradex/apalis-imx8/apalis-imx8.c
@@ -208,16 +208,6 @@ void board_preboot_os(void)
gpio_direction_output(BKL1_GPIO, 0);
}
-int checkboard(void)
-{
- puts("Model: Toradex Apalis iMX8\n");
-
- build_info();
- print_bootinfo();
-
- return tdx_checkboard();
-}
-
static enum pcb_rev_t get_pcb_revision(void)
{
unsigned int pcb_vers = 0;
diff --git a/board/toradex/apalis-tk1/apalis-tk1.c b/board/toradex/apalis-tk1/apalis-tk1.c
index 79a1c92da0a0..ee87d9f4145f 100644
--- a/board/toradex/apalis-tk1/apalis-tk1.c
+++ b/board/toradex/apalis-tk1/apalis-tk1.c
@@ -91,13 +91,6 @@ int arch_misc_init(void)
return 0;
}
-int checkboard(void)
-{
- puts("Model: Toradex Apalis TK1 2GB\n");
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/apalis_imx6/apalis_imx6.c b/board/toradex/apalis_imx6/apalis_imx6.c
index 164fcc41f550..0da245374a0d 100644
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -716,27 +716,6 @@ int board_late_init(void)
}
#endif /* CONFIG_BOARD_LATE_INIT */
-int checkboard(void)
-{
- char it[] = " IT";
- int minc, maxc;
-
- switch (get_cpu_temp_grade(&minc, &maxc)) {
- case TEMP_AUTOMOTIVE:
- case TEMP_INDUSTRIAL:
- break;
- case TEMP_EXTCOMMERCIAL:
- default:
- it[0] = 0;
- };
- printf("Model: Toradex Apalis iMX6 %s %s%s\n",
- is_cpu_type(MXC_CPU_MX6D) ? "Dual" : "Quad",
- (gd->ram_size == 0x80000000) ? "2GB" :
- (gd->ram_size == 0x40000000) ? "1GB" : "512MB", it);
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/apalis_t30/apalis_t30.c b/board/toradex/apalis_t30/apalis_t30.c
index b9a2af33f19f..b10beb447965 100644
--- a/board/toradex/apalis_t30/apalis_t30.c
+++ b/board/toradex/apalis_t30/apalis_t30.c
@@ -45,14 +45,6 @@ int arch_misc_init(void)
return 0;
}
-int checkboard(void)
-{
- printf("Model: Toradex Apalis T30 %dGB\n",
- (gd->ram_size == 0x40000000) ? 1 : 2);
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/colibri-imx6ull/colibri-imx6ull.c b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
index a775f54eb3f4..9b9fb342c9d9 100644
--- a/board/toradex/colibri-imx6ull/colibri-imx6ull.c
+++ b/board/toradex/colibri-imx6ull/colibri-imx6ull.c
@@ -205,13 +205,6 @@ int board_late_init(void)
return 0;
}
-int checkboard(void)
-{
- printf("Model: Toradex Colibri iMX6ULL\n");
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c
index d8cc72f323c5..2c673a4a6b06 100644
--- a/board/toradex/colibri-imx8x/colibri-imx8x.c
+++ b/board/toradex/colibri-imx8x/colibri-imx8x.c
@@ -114,16 +114,6 @@ int board_phy_config(struct phy_device *phydev)
}
#endif
-int checkboard(void)
-{
- puts("Model: Toradex Colibri iMX8X\n");
-
- build_info();
- print_bootinfo();
-
- return tdx_checkboard();
-}
-
static void select_dt_from_module_version(void)
{
/*
diff --git a/board/toradex/colibri_imx6/colibri_imx6.c b/board/toradex/colibri_imx6/colibri_imx6.c
index 784ca7f65f7b..ce19a9c79752 100644
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -636,26 +636,6 @@ int board_late_init(void)
}
#endif /* CONFIG_BOARD_LATE_INIT */
-int checkboard(void)
-{
- char it[] = " IT";
- int minc, maxc;
-
- switch (get_cpu_temp_grade(&minc, &maxc)) {
- case TEMP_AUTOMOTIVE:
- case TEMP_INDUSTRIAL:
- break;
- case TEMP_EXTCOMMERCIAL:
- default:
- it[0] = 0;
- };
- printf("Model: Toradex Colibri iMX6 %s %sMB%s\n",
- is_cpu_type(MXC_CPU_MX6DL) ? "DualLite" : "Solo",
- (gd->ram_size == 0x20000000) ? "512" : "256", it);
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 2e5b02f72675..c37c5e0af6d9 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -273,14 +273,6 @@ void reset_cpu(void)
}
#endif
-int checkboard(void)
-{
- printf("Model: Toradex Colibri iMX7%c\n",
- is_cpu_type(MXC_CPU_MX7D) ? 'D' : 'S');
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/colibri_t20/colibri_t20.c b/board/toradex/colibri_t20/colibri_t20.c
index 5861cf7dc93e..97e33d00f0d6 100644
--- a/board/toradex/colibri_t20/colibri_t20.c
+++ b/board/toradex/colibri_t20/colibri_t20.c
@@ -70,16 +70,6 @@ int arch_misc_init(void)
return 0;
}
-int checkboard(void)
-{
- printf("Model: Toradex Colibri T20 %dMB V%s\n",
- (gd->ram_size == 0x10000000) ? 256 : 512,
- (get_nand_dev_by_index(0)->erasesize >> 10 == 512) ?
- ((gd->ram_size == 0x10000000) ? "1.1B" : "1.1C") : "1.2A");
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/colibri_t30/colibri_t30.c b/board/toradex/colibri_t30/colibri_t30.c
index 8cef098c8e59..0da247de98f9 100644
--- a/board/toradex/colibri_t30/colibri_t30.c
+++ b/board/toradex/colibri_t30/colibri_t30.c
@@ -28,13 +28,6 @@ int arch_misc_init(void)
return 0;
}
-int checkboard(void)
-{
- puts("Model: Toradex Colibri T30 1GB\n");
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/colibri_vf/colibri_vf.c b/board/toradex/colibri_vf/colibri_vf.c
index af9f2d379cf4..35920008805f 100644
--- a/board/toradex/colibri_vf/colibri_vf.c
+++ b/board/toradex/colibri_vf/colibri_vf.c
@@ -366,16 +366,6 @@ int board_init(void)
return 0;
}
-int checkboard(void)
-{
- if (is_colibri_vf61())
- puts("Model: Toradex Colibri VF61\n");
- else
- puts("Model: Toradex Colibri VF50\n");
-
- return tdx_checkboard();
-}
-
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, struct bd_info *bd)
{
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
index ddc4a175da68..cdf645b14177 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -96,7 +96,12 @@ static const char *get_board_assembly(u16 ver_assembly)
return ver_name;
}
-int tdx_checkboard(void)
+__weak int print_bootinfo(void)
+{
+ return 0;
+}
+
+int checkboard(void)
{
unsigned char ethaddr[6];
@@ -144,6 +149,8 @@ int tdx_checkboard(void)
#endif
}
+ print_bootinfo();
+
/*
* Check if environment contains a valid MAC address,
* set the one from config block if not
diff --git a/board/toradex/common/tdx-common.h b/board/toradex/common/tdx-common.h
index 44234dc49cd7..d446e9f1d5ca 100644
--- a/board/toradex/common/tdx-common.h
+++ b/board/toradex/common/tdx-common.h
@@ -11,6 +11,5 @@
int ft_common_board_setup(void *blob, struct bd_info *bd);
u32 get_board_revision(void);
-int tdx_checkboard(void);
#endif /* _TDX_COMMON_H */
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 3/7] toradex: common: Use SETTINGS_R event to read toradex config block
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 1/7] toradex: Fix recursive call to checkboard Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 2/7] toradex: Remove not necessary model prints from checkboard() Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 4/7] arm: dts: Refactor device trees using "&{/aliases}" syntax Francesco Dolcini
` (4 subsequent siblings)
7 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Marcel Ziswiler, Tom Rini; +Cc: Emanuele Ghidoli, u-boot, Francesco Dolcini
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Use SETTINGS_R event to read toradex config block and checkboard()
to print board info.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
board/toradex/common/tdx-common.c | 92 ++++++++++++++++++-------------
1 file changed, 54 insertions(+), 38 deletions(-)
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
index cdf645b14177..6084436b48b4 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -103,54 +103,69 @@ __weak int print_bootinfo(void)
int checkboard(void)
{
- unsigned char ethaddr[6];
-
- if (read_tdx_cfg_block()) {
- printf("MISSING TORADEX CONFIG BLOCK\n");
- get_mac_from_serial(tdx_serial, &tdx_eth_addr);
- } else {
- snprintf(tdx_serial_str, sizeof(tdx_serial_str),
- "%08u", tdx_serial);
- snprintf(tdx_board_rev_str, sizeof(tdx_board_rev_str),
- "V%1d.%1d%s",
- tdx_hw_tag.ver_major,
- tdx_hw_tag.ver_minor,
- get_board_assembly(tdx_hw_tag.ver_assembly));
-
- env_set("serial#", tdx_serial_str);
-
+ if (valid_cfgblock) {
printf("Model: Toradex %04d %s %s\n",
tdx_hw_tag.prodid,
toradex_modules[tdx_hw_tag.prodid].name,
tdx_board_rev_str);
printf("Serial#: %s\n", tdx_serial_str);
+ }
+
#ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
- if (read_tdx_cfg_block_carrier()) {
- printf("MISSING TORADEX CARRIER CONFIG BLOCKS\n");
- try_migrate_tdx_cfg_block_carrier();
- } else {
- tdx_carrier_board_name =
- get_toradex_carrier_boards(tdx_car_hw_tag.prodid);
-
- snprintf(tdx_car_serial_str, sizeof(tdx_car_serial_str),
- "%08u", tdx_car_serial);
- snprintf(tdx_car_rev_str, sizeof(tdx_car_rev_str),
- "V%1d.%1d%s",
- tdx_car_hw_tag.ver_major,
- tdx_car_hw_tag.ver_minor,
- get_board_assembly(tdx_car_hw_tag.ver_assembly));
-
- env_set("carrier_serial#", tdx_car_serial_str);
- printf("Carrier: Toradex %s %s, Serial# %s\n",
- tdx_carrier_board_name,
- tdx_car_rev_str,
- tdx_car_serial_str);
- }
+ if (tdx_carrier_board_name)
+ printf("Carrier: Toradex %s %s, Serial# %s\n",
+ tdx_carrier_board_name,
+ tdx_car_rev_str,
+ tdx_car_serial_str);
#endif
- }
print_bootinfo();
+ return 0;
+}
+
+static int settings_r(void)
+{
+ unsigned char ethaddr[6];
+
+ if (read_tdx_cfg_block()) {
+ printf("MISSING TORADEX CONFIG BLOCK\n");
+ get_mac_from_serial(tdx_serial, &tdx_eth_addr);
+
+ /* Board can run even if config block is not present */
+ return 0;
+ }
+
+ snprintf(tdx_serial_str, sizeof(tdx_serial_str),
+ "%08u", tdx_serial);
+ snprintf(tdx_board_rev_str, sizeof(tdx_board_rev_str),
+ "V%1d.%1d%s",
+ tdx_hw_tag.ver_major,
+ tdx_hw_tag.ver_minor,
+ get_board_assembly(tdx_hw_tag.ver_assembly));
+
+ env_set("serial#", tdx_serial_str);
+
+#ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
+ if (read_tdx_cfg_block_carrier()) {
+ printf("MISSING TORADEX CARRIER CONFIG BLOCKS\n");
+ try_migrate_tdx_cfg_block_carrier();
+ } else {
+ tdx_carrier_board_name =
+ get_toradex_carrier_boards(tdx_car_hw_tag.prodid);
+
+ snprintf(tdx_car_serial_str, sizeof(tdx_car_serial_str),
+ "%08u", tdx_car_serial);
+ snprintf(tdx_car_rev_str, sizeof(tdx_car_rev_str),
+ "V%1d.%1d%s",
+ tdx_car_hw_tag.ver_major,
+ tdx_car_hw_tag.ver_minor,
+ get_board_assembly(tdx_car_hw_tag.ver_assembly));
+
+ env_set("carrier_serial#", tdx_car_serial_str);
+ }
+#endif
+
/*
* Check if environment contains a valid MAC address,
* set the one from config block if not
@@ -171,6 +186,7 @@ int checkboard(void)
return 0;
}
+EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
#ifdef CONFIG_TDX_CFG_BLOCK_USB_GADGET_PID
int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 4/7] arm: dts: Refactor device trees using "&{/aliases}" syntax
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
` (2 preceding siblings ...)
2024-02-20 18:29 ` [PATCH v1 3/7] toradex: common: Use SETTINGS_R event to read toradex config block Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 5/7] toradex: common: Add sysinfo driver Francesco Dolcini
` (3 subsequent siblings)
7 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
Marcel Ziswiler, Tom Rini
Cc: Emanuele Ghidoli, u-boot, Francesco Dolcini
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Use the common syntax to define aliases.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
.../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 18 ++++++++-----
arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 26 ++++++++++---------
.../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 10 ++++---
.../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 12 ++++-----
.../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 12 ++++-----
5 files changed, 43 insertions(+), 35 deletions(-)
diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
index 31f3a48dd9f0..0eea4d1862ae 100644
--- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
@@ -5,13 +5,17 @@
#include "imx6qdl-u-boot.dtsi"
-&{/aliases} {
- /* U-Boot won't find PMIC otherwise */
- i2c0 = &i2c3;
- i2c1 = &i2c2;
- /* SDHCI instance order: eMMC, 4-bit SD/MMC (U-Boot won't find ConfigBlock otherwise) */
- mmc0 = &usdhc3;
- mmc1 = &usdhc1;
+/ {
+ aliases {
+ /* U-Boot won't find PMIC otherwise */
+ i2c0 = &i2c3;
+ i2c1 = &i2c2;
+ /* SDHCI instance order: eMMC, 4-bit SD/MMC
+ * (U-Boot won't find ConfigBlock otherwise)
+ */
+ mmc0 = &usdhc3;
+ mmc1 = &usdhc1;
+ };
};
&wdog1 {
diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
index 3d19796cb698..3c6e503d043b 100644
--- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
+++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
@@ -5,18 +5,20 @@
#include "imx6qdl-u-boot.dtsi"
-&{/aliases} {
- /* U-Boot won't find PMIC otherwise */
- i2c0 = &i2c1;
- i2c1 = &i2c2;
- i2c2 = &i2c3;
- /*
- * SDHCI instance order: eMMC, 8-bit SD/MMC, 4-bit SD
- * (U-Boot won't find ConfigBlock otherwise)
- */
- mmc0 = &usdhc3;
- mmc1 = &usdhc1;
- mmc2 = &usdhc2;
+/ {
+ aliases {
+ /* U-Boot won't find PMIC otherwise */
+ i2c0 = &i2c1;
+ i2c1 = &i2c2;
+ i2c2 = &i2c3;
+ /*
+ * SDHCI instance order: eMMC, 8-bit SD/MMC, 4-bit SD
+ * (U-Boot won't find ConfigBlock otherwise)
+ */
+ mmc0 = &usdhc3;
+ mmc1 = &usdhc1;
+ mmc2 = &usdhc2;
+ };
};
&wdog1 {
diff --git a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
index 57ca28edb70d..b2c12a413daf 100644
--- a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
@@ -5,10 +5,12 @@
#include "imx7s-u-boot.dtsi"
-&{/aliases} {
- /* SDHCI instance order: eMMC, SD/MMC */
- mmc0 = &usdhc3;
- mmc1 = &usdhc1;
+/ {
+ aliases {
+ /* SDHCI instance order: eMMC, SD/MMC */
+ mmc0 = &usdhc3;
+ mmc1 = &usdhc1;
+ };
};
&lcdif {
diff --git a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
index 8efa4ddc734a..515f195ab759 100644
--- a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
+++ b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
@@ -6,6 +6,12 @@
#include "imx8mm-u-boot.dtsi"
/ {
+ aliases {
+ eeprom0 = &eeprom_module;
+ eeprom1 = &eeprom_carrier_board;
+ eeprom2 = &eeprom_display_adapter;
+ };
+
wdt-reboot {
compatible = "wdt-reboot";
bootph-pre-ram;
@@ -13,12 +19,6 @@
};
};
-&{/aliases} {
- eeprom0 = &eeprom_module;
- eeprom1 = &eeprom_carrier_board;
- eeprom2 = &eeprom_display_adapter;
-};
-
&{/soc@0/bus@30800000/i2c@30a20000/pmic@25} {
bootph-pre-ram;
};
diff --git a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
index 2a1aa1935a76..67f1d45ce269 100644
--- a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
+++ b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
@@ -6,6 +6,12 @@
#include "imx8mp-u-boot.dtsi"
/ {
+ aliases {
+ eeprom0 = &eeprom_module;
+ eeprom1 = &eeprom_carrier_board;
+ eeprom2 = &eeprom_display_adapter;
+ };
+
wdt-reboot {
compatible = "wdt-reboot";
bootph-pre-ram;
@@ -13,12 +19,6 @@
};
};
-&{/aliases} {
- eeprom0 = &eeprom_module;
- eeprom1 = &eeprom_carrier_board;
- eeprom2 = &eeprom_display_adapter;
-};
-
&clk {
bootph-all;
bootph-pre-ram;
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
` (3 preceding siblings ...)
2024-02-20 18:29 ` [PATCH v1 4/7] arm: dts: Refactor device trees using "&{/aliases}" syntax Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-20 19:14 ` Svyatoslav Ryhel
2024-02-21 15:43 ` Igor Opaniuk
2024-02-20 18:29 ` [PATCH v1 6/7] toradex: common: Use random mac address if toradex config block is missing Francesco Dolcini
` (2 subsequent siblings)
7 siblings, 2 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
Marcel Ziswiler, Tom Rini, Thierry Reding, Svyatoslav Ryhel
Cc: Emanuele Ghidoli, u-boot, Francesco Dolcini
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
This commit introduces support for the Toradex sysinfo driver in U-Boot,
which uses information from Toradex config block to print correct
board model.
In case the Toradex config block is not present sysinfo prints the model
of the board provided by device tree removing per board specific prints.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
.../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
.../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
.../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
.../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
.../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
.../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
.../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
board/toradex/common/Kconfig | 1 +
board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
16 files changed, 136 insertions(+), 7 deletions(-)
create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
diff --git a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
index c54a59e89c5d..d73be74d2112 100644
--- a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
+++ b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
@@ -3,6 +3,12 @@
* Copyright 2019 Toradex AG
*/
+/ {
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+};
+
&mu {
bootph-some-ram;
};
diff --git a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
index 6ab6b1f9ee69..60c4cd6fc01f 100644
--- a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
+++ b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
@@ -3,6 +3,12 @@
* Copyright 2019 Toradex AG
*/
+/ {
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+};
+
&{/imx8qx-pm} {
bootph-some-ram;
diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
index 0eea4d1862ae..5a91d0aca204 100644
--- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
@@ -16,6 +16,10 @@
mmc0 = &usdhc3;
mmc1 = &usdhc1;
};
+
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
};
&wdog1 {
diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
index 3c6e503d043b..59412635420a 100644
--- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
+++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
@@ -19,6 +19,10 @@
mmc1 = &usdhc1;
mmc2 = &usdhc2;
};
+
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
};
&wdog1 {
diff --git a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
index 6823b42d4514..731814216e1f 100644
--- a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
@@ -9,6 +9,10 @@
usb0 = &usbotg1; /* required for ums */
display0 = &lcdif;
};
+
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
};
&pinctrl_uart1 {
diff --git a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
index b2c12a413daf..68142769d360 100644
--- a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
@@ -11,6 +11,10 @@
mmc0 = &usdhc3;
mmc1 = &usdhc1;
};
+
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
};
&lcdif {
diff --git a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
index 515f195ab759..38db56059d69 100644
--- a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
+++ b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
@@ -12,6 +12,10 @@
eeprom2 = &eeprom_display_adapter;
};
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+
wdt-reboot {
compatible = "wdt-reboot";
bootph-pre-ram;
diff --git a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
index 67f1d45ce269..03f211d5f7d3 100644
--- a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
+++ b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
@@ -12,6 +12,10 @@
eeprom2 = &eeprom_display_adapter;
};
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+
wdt-reboot {
compatible = "wdt-reboot";
bootph-pre-ram;
diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
index 02f34c90c6d7..28b697b67ae0 100644
--- a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
+++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
@@ -19,6 +19,10 @@
memory@80000000 {
bootph-all;
};
+
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
};
&main_timer0 {
diff --git a/arch/arm/dts/tegra124-apalis-u-boot.dtsi b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
new file mode 100644
index 000000000000..a3614d279439
--- /dev/null
+++ b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+#include "tegra124-u-boot.dtsi"
+
+/ {
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+};
diff --git a/arch/arm/dts/tegra20-colibri-u-boot.dtsi b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
new file mode 100644
index 000000000000..d4a669a288d8
--- /dev/null
+++ b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+#include "tegra20-u-boot.dtsi"
+
+/ {
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+};
diff --git a/arch/arm/dts/tegra30-apalis-u-boot.dtsi b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
new file mode 100644
index 000000000000..37cbfbcc3506
--- /dev/null
+++ b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+#include "tegra30-u-boot.dtsi"
+
+/ {
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+};
diff --git a/arch/arm/dts/tegra30-colibri-u-boot.dtsi b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
new file mode 100644
index 000000000000..37cbfbcc3506
--- /dev/null
+++ b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright 2023 Toradex
+ */
+
+#include "tegra30-u-boot.dtsi"
+
+/ {
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
+};
diff --git a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
index 572d40877ef9..8c3b86c201fa 100644
--- a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
@@ -7,6 +7,10 @@
soc {
bootph-all;
};
+
+ sysinfo {
+ compatible = "toradex,sysinfo";
+ };
};
&aips0 {
diff --git a/board/toradex/common/Kconfig b/board/toradex/common/Kconfig
index 1f6a5e4db561..b85893ab44e4 100644
--- a/board/toradex/common/Kconfig
+++ b/board/toradex/common/Kconfig
@@ -4,6 +4,7 @@
menuconfig TDX_CFG_BLOCK
bool "Enable Toradex config block support"
select OF_BOARD_SETUP
+ select SYSINFO
help
The Toradex config block stored production data on the on-module
flash device (NAND, NOR or eMMC). The area is normally preserved by
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
index 6084436b48b4..1f3253f4222e 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -3,15 +3,16 @@
* Copyright (c) 2016 Toradex, Inc.
*/
+#include <dm.h>
#include <common.h>
#include <env.h>
#include <g_dnl.h>
#include <init.h>
#include <linux/libfdt.h>
+#include <sysinfo.h>
#ifdef CONFIG_VIDEO
#include <bmp_logo.h>
-#include <dm.h>
#include <splash.h>
#include <video.h>
#endif
@@ -103,13 +104,8 @@ __weak int print_bootinfo(void)
int checkboard(void)
{
- if (valid_cfgblock) {
- printf("Model: Toradex %04d %s %s\n",
- tdx_hw_tag.prodid,
- toradex_modules[tdx_hw_tag.prodid].name,
- tdx_board_rev_str);
+ if (valid_cfgblock)
printf("Serial#: %s\n", tdx_serial_str);
- }
#ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
if (tdx_carrier_board_name)
@@ -188,6 +184,46 @@ static int settings_r(void)
}
EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
+static int tdx_detect(struct udevice *dev)
+{
+ return valid_cfgblock ? 0 : -EINVAL;
+}
+
+static int tdx_get_str(struct udevice *dev, int id, size_t size, char *val)
+{
+ int ret = -ENOTSUPP;
+
+ switch (id) {
+ case SYSINFO_ID_BOARD_MODEL:
+ snprintf(val, size,
+ "Toradex %04d %s %s",
+ tdx_hw_tag.prodid,
+ toradex_modules[tdx_hw_tag.prodid].name,
+ tdx_board_rev_str);
+
+ ret = 0;
+ }
+
+ return ret;
+}
+
+static const struct udevice_id sysinfo_tdx_ids[] = {
+ { .compatible = "toradex,sysinfo" },
+ { /* sentinel */ }
+};
+
+static const struct sysinfo_ops sysinfo_tdx_ops = {
+ .detect = tdx_detect,
+ .get_str = tdx_get_str,
+};
+
+U_BOOT_DRIVER(sysinfo_toradex) = {
+ .name = "sysinfo_toradex",
+ .id = UCLASS_SYSINFO,
+ .of_match = sysinfo_tdx_ids,
+ .ops = &sysinfo_tdx_ops,
+};
+
#ifdef CONFIG_TDX_CFG_BLOCK_USB_GADGET_PID
int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
{
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 6/7] toradex: common: Use random mac address if toradex config block is missing
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
` (4 preceding siblings ...)
2024-02-20 18:29 ` [PATCH v1 5/7] toradex: common: Add sysinfo driver Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-23 8:07 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 7/7] toradex: imx6*: fix reset using wdt-reboot driver Francesco Dolcini
2024-02-20 19:51 ` [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Marcel Ziswiler
7 siblings, 1 reply; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Marcel Ziswiler, Tom Rini; +Cc: Emanuele Ghidoli, u-boot, Francesco Dolcini
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Set CONFIG_NET_RANDOM_ETHADDR=y, which sets random eth address in
case there is no toradex config block programmed.
In case of missing toradex config block the generated mac address was
always the same, linked to serial number 0.
Use random generated mac address instead.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
board/toradex/common/tdx-common.c | 1 -
configs/apalis-imx8_defconfig | 1 +
configs/apalis-tk1_defconfig | 1 +
configs/apalis_imx6_defconfig | 1 +
configs/apalis_t30_defconfig | 1 +
configs/colibri-imx6ull-emmc_defconfig | 1 +
configs/colibri-imx6ull_defconfig | 1 +
configs/colibri-imx8x_defconfig | 1 +
configs/colibri_imx6_defconfig | 1 +
configs/colibri_imx7_defconfig | 1 +
configs/colibri_imx7_emmc_defconfig | 1 +
configs/colibri_t20_defconfig | 1 +
configs/colibri_t30_defconfig | 1 +
configs/colibri_vf_defconfig | 1 +
configs/verdin-am62_a53_defconfig | 1 +
configs/verdin-am62_r5_defconfig | 1 +
configs/verdin-imx8mm_defconfig | 1 +
configs/verdin-imx8mp_defconfig | 1 +
18 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
index 1f3253f4222e..9f09788137d5 100644
--- a/board/toradex/common/tdx-common.c
+++ b/board/toradex/common/tdx-common.c
@@ -126,7 +126,6 @@ static int settings_r(void)
if (read_tdx_cfg_block()) {
printf("MISSING TORADEX CONFIG BLOCK\n");
- get_mac_from_serial(tdx_serial, &tdx_eth_addr);
/* Board can run even if config block is not present */
return 0;
diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig
index 982098d81420..da3b0e254899 100644
--- a/configs/apalis-imx8_defconfig
+++ b/configs/apalis-imx8_defconfig
@@ -52,6 +52,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=4096
CONFIG_TFTP_TSIZE=y
diff --git a/configs/apalis-tk1_defconfig b/configs/apalis-tk1_defconfig
index 6ed3898b60c3..20c9c06cdeac 100644
--- a/configs/apalis-tk1_defconfig
+++ b/configs/apalis-tk1_defconfig
@@ -52,6 +52,7 @@ CONFIG_ENV_OVERWRITE=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_TFTP_TSIZE=y
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index 05ff6fa115ce..492550607035 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -75,6 +75,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=4096
CONFIG_USE_IPADDR=y
diff --git a/configs/apalis_t30_defconfig b/configs/apalis_t30_defconfig
index 0a27509a97e6..03a1f2c23906 100644
--- a/configs/apalis_t30_defconfig
+++ b/configs/apalis_t30_defconfig
@@ -45,6 +45,7 @@ CONFIG_OF_LIVE=y
CONFIG_ENV_OVERWRITE=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_TFTP_TSIZE=y
diff --git a/configs/colibri-imx6ull-emmc_defconfig b/configs/colibri-imx6ull-emmc_defconfig
index 285fed9e4faf..2b04855770ab 100644
--- a/configs/colibri-imx6ull-emmc_defconfig
+++ b/configs/colibri-imx6ull-emmc_defconfig
@@ -51,6 +51,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_TFTP_TSIZE=y
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index a8a633063d00..959930cf2e31 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -60,6 +60,7 @@ CONFIG_ENV_RANGE=0x80000
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_TFTP_TSIZE=y
diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
index aa18d28d3e6d..88928b0e4bc5 100644
--- a/configs/colibri-imx8x_defconfig
+++ b/configs/colibri-imx8x_defconfig
@@ -52,6 +52,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=4096
CONFIG_TFTP_TSIZE=y
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index 70cb79531e92..55c71a000d00 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -74,6 +74,7 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_USE_IPADDR=y
diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index d5c8604f7097..58eb4317857b 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -60,6 +60,7 @@ CONFIG_ENV_IS_IN_NAND=y
CONFIG_ENV_RANGE=0x80000
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_USE_IPADDR=y
diff --git a/configs/colibri_imx7_emmc_defconfig b/configs/colibri_imx7_emmc_defconfig
index ae8406f70de5..3382371d40de 100644
--- a/configs/colibri_imx7_emmc_defconfig
+++ b/configs/colibri_imx7_emmc_defconfig
@@ -51,6 +51,7 @@ CONFIG_ENV_OVERWRITE=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_USE_IPADDR=y
diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig
index 3c506ffb6877..3405e02ad347 100644
--- a/configs/colibri_t20_defconfig
+++ b/configs/colibri_t20_defconfig
@@ -50,6 +50,7 @@ CONFIG_OF_LIVE=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_IS_IN_NAND=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=1536
CONFIG_TFTP_TSIZE=y
diff --git a/configs/colibri_t30_defconfig b/configs/colibri_t30_defconfig
index c7012031c0a8..394d656a1260 100644
--- a/configs/colibri_t30_defconfig
+++ b/configs/colibri_t30_defconfig
@@ -43,6 +43,7 @@ CONFIG_OF_LIVE=y
CONFIG_ENV_OVERWRITE=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SYS_MMC_ENV_PART=1
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=16352
CONFIG_TFTP_TSIZE=y
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
index 3d1319cf812e..891637dee741 100644
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -66,6 +66,7 @@ CONFIG_ENV_RANGE=0x80000
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_USE_IPADDR=y
CONFIG_IPADDR="192.168.10.2"
CONFIG_USE_NETMASK=y
diff --git a/configs/verdin-am62_a53_defconfig b/configs/verdin-am62_a53_defconfig
index 956e3a1ad75e..63e75474ca71 100644
--- a/configs/verdin-am62_a53_defconfig
+++ b/configs/verdin-am62_a53_defconfig
@@ -104,6 +104,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_USE_ETHPRIME=y
CONFIG_ETHPRIME="eth0"
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=4096
CONFIG_SPL_DM=y
diff --git a/configs/verdin-am62_r5_defconfig b/configs/verdin-am62_r5_defconfig
index a3febdcb6941..910340ea5a41 100644
--- a/configs/verdin-am62_r5_defconfig
+++ b/configs/verdin-am62_r5_defconfig
@@ -65,6 +65,7 @@ CONFIG_SPL_OF_CONTROL=y
CONFIG_SPL_MULTI_DTB_FIT=y
CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_SPL_DM=y
CONFIG_SPL_DM_SEQ_ALIAS=y
CONFIG_REGMAP=y
diff --git a/configs/verdin-imx8mm_defconfig b/configs/verdin-imx8mm_defconfig
index 0c88982f75c8..4e00fb4008dc 100644
--- a/configs/verdin-imx8mm_defconfig
+++ b/configs/verdin-imx8mm_defconfig
@@ -90,6 +90,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_USE_ETHPRIME=y
CONFIG_ETHPRIME="eth0"
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=4096
CONFIG_SPL_DM=y
diff --git a/configs/verdin-imx8mp_defconfig b/configs/verdin-imx8mp_defconfig
index 22b8a334dfaf..a95edff961b2 100644
--- a/configs/verdin-imx8mp_defconfig
+++ b/configs/verdin-imx8mp_defconfig
@@ -99,6 +99,7 @@ CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
CONFIG_USE_ETHPRIME=y
CONFIG_ETHPRIME="eth0"
CONFIG_VERSION_VARIABLE=y
+CONFIG_NET_RANDOM_ETHADDR=y
CONFIG_IP_DEFRAG=y
CONFIG_TFTP_BLOCKSIZE=4096
CONFIG_SPL_DM=y
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v1 7/7] toradex: imx6*: fix reset using wdt-reboot driver
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
` (5 preceding siblings ...)
2024-02-20 18:29 ` [PATCH v1 6/7] toradex: common: Use random mac address if toradex config block is missing Francesco Dolcini
@ 2024-02-20 18:29 ` Francesco Dolcini
2024-02-20 19:51 ` [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Marcel Ziswiler
7 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-20 18:29 UTC (permalink / raw)
To: Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
Marcel Ziswiler, Tom Rini
Cc: Parth Pancholi, u-boot, Francesco Dolcini
From: Parth Pancholi <parth.pancholi@toradex.com>
commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()")
introduced a regression that 'reset' command unable to reset
imx6 and imx6ull based Toradex's modules in the u-boot.
This change enables a watchdog-based sysreset driver for
Toradex's colibri-imx6, colibri-imx6ull (with nand and emmc)
and apalis-imx6 which solves the reset command regression on
these modules.
Fixes: 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()")
Signed-off-by: Parth Pancholi <parth.pancholi@toradex.com>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 6 ++++++
arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 6 ++++++
arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 10 ++++++++++
configs/apalis_imx6_defconfig | 3 +++
configs/colibri-imx6ull-emmc_defconfig | 3 +++
configs/colibri-imx6ull_defconfig | 3 +++
configs/colibri_imx6_defconfig | 3 +++
7 files changed, 34 insertions(+)
diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
index 5a91d0aca204..44baaa803243 100644
--- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
@@ -20,6 +20,12 @@
sysinfo {
compatible = "toradex,sysinfo";
};
+
+ wdt-reboot {
+ compatible = "wdt-reboot";
+ wdt = <&wdog1>;
+ bootph-pre-ram;
+ };
};
&wdog1 {
diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
index 59412635420a..103605ac930d 100644
--- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
+++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
@@ -23,6 +23,12 @@
sysinfo {
compatible = "toradex,sysinfo";
};
+
+ wdt-reboot {
+ compatible = "wdt-reboot";
+ wdt = <&wdog1>;
+ bootph-pre-ram;
+ };
};
&wdog1 {
diff --git a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
index 731814216e1f..8494b1a2c603 100644
--- a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
+++ b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
@@ -13,6 +13,12 @@
sysinfo {
compatible = "toradex,sysinfo";
};
+
+ wdt-reboot {
+ compatible = "wdt-reboot";
+ wdt = <&wdog1>;
+ bootph-pre-ram;
+ };
};
&pinctrl_uart1 {
@@ -58,3 +64,7 @@
};
};
};
+
+&wdog1 {
+ bootph-pre-ram;
+};
diff --git a/configs/apalis_imx6_defconfig b/configs/apalis_imx6_defconfig
index 492550607035..fae3dc322471 100644
--- a/configs/apalis_imx6_defconfig
+++ b/configs/apalis_imx6_defconfig
@@ -96,6 +96,8 @@ CONFIG_DM_I2C=y
CONFIG_SPL_SYS_I2C_LEGACY=y
CONFIG_SYS_I2C_MXC=y
CONFIG_SYS_MXC_I2C3_SPEED=400000
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_WATCHDOG=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_FSL_USDHC=y
CONFIG_PHYLIB=y
@@ -113,6 +115,7 @@ CONFIG_DM_REGULATOR_FIXED=y
CONFIG_SCSI=y
CONFIG_MXC_UART=y
CONFIG_IMX_THERMAL=y
+CONFIG_IMX_WATCHDOG=y
CONFIG_USB=y
CONFIG_SPL_USB_HOST=y
CONFIG_USB_MAX_CONTROLLER_COUNT=2
diff --git a/configs/colibri-imx6ull-emmc_defconfig b/configs/colibri-imx6ull-emmc_defconfig
index 2b04855770ab..c4ecdc03e2a8 100644
--- a/configs/colibri-imx6ull-emmc_defconfig
+++ b/configs/colibri-imx6ull-emmc_defconfig
@@ -69,6 +69,8 @@ CONFIG_FASTBOOT_BUF_ADDR=0x81100000
CONFIG_FASTBOOT_UUU_SUPPORT=y
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_MXC=y
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_WATCHDOG=y
CONFIG_SUPPORT_EMMC_BOOT=y
CONFIG_FSL_USDHC=y
CONFIG_PHYLIB=y
@@ -83,6 +85,7 @@ CONFIG_DM_REGULATOR_FIXED=y
CONFIG_DM_SERIAL=y
CONFIG_MXC_UART=y
CONFIG_IMX_THERMAL=y
+CONFIG_IMX_WATCHDOG=y
CONFIG_USB=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Toradex"
diff --git a/configs/colibri-imx6ull_defconfig b/configs/colibri-imx6ull_defconfig
index 959930cf2e31..9c68d96b2fd7 100644
--- a/configs/colibri-imx6ull_defconfig
+++ b/configs/colibri-imx6ull_defconfig
@@ -80,6 +80,8 @@ CONFIG_FASTBOOT_BUF_ADDR=0x81100000
CONFIG_FASTBOOT_UUU_SUPPORT=y
CONFIG_DM_I2C=y
CONFIG_SYS_I2C_MXC=y
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_WATCHDOG=y
CONFIG_FSL_USDHC=y
CONFIG_MTD=y
CONFIG_DM_MTD=y
@@ -100,6 +102,7 @@ CONFIG_DM_REGULATOR_FIXED=y
CONFIG_DM_SERIAL=y
CONFIG_MXC_UART=y
CONFIG_IMX_THERMAL=y
+CONFIG_IMX_WATCHDOG=y
CONFIG_USB=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="Toradex"
diff --git a/configs/colibri_imx6_defconfig b/configs/colibri_imx6_defconfig
index 55c71a000d00..74c54011989c 100644
--- a/configs/colibri_imx6_defconfig
+++ b/configs/colibri_imx6_defconfig
@@ -22,6 +22,8 @@ CONFIG_SYS_MONITOR_LEN=409600
CONFIG_SPL_MMC=y
CONFIG_SPL_SERIAL=y
CONFIG_SPL=y
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_WATCHDOG=y
CONFIG_CMD_HDMIDETECT=y
CONFIG_SYS_LOAD_ADDR=0x14200000
CONFIG_SYS_MEMTEST_START=0x10000000
@@ -109,6 +111,7 @@ CONFIG_DM_REGULATOR_PFUZE100=y
CONFIG_DM_REGULATOR_FIXED=y
CONFIG_MXC_UART=y
CONFIG_IMX_THERMAL=y
+CONFIG_IMX_WATCHDOG=y
CONFIG_USB=y
CONFIG_SPL_USB_HOST=y
CONFIG_USB_MAX_CONTROLLER_COUNT=2
--
2.39.2
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-20 18:29 ` [PATCH v1 5/7] toradex: common: Add sysinfo driver Francesco Dolcini
@ 2024-02-20 19:14 ` Svyatoslav Ryhel
2024-02-20 19:51 ` Marcel Ziswiler
2024-02-21 15:43 ` Igor Opaniuk
1 sibling, 1 reply; 17+ messages in thread
From: Svyatoslav Ryhel @ 2024-02-20 19:14 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
Marcel Ziswiler, Tom Rini, Thierry Reding, Emanuele Ghidoli,
u-boot, Francesco Dolcini
вт, 20 лют. 2024 р. о 20:29 Francesco Dolcini <francesco@dolcini.it> пише:
>
> From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
>
> This commit introduces support for the Toradex sysinfo driver in U-Boot,
> which uses information from Toradex config block to print correct
> board model.
> In case the Toradex config block is not present sysinfo prints the model
> of the board provided by device tree removing per board specific prints.
>
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
> arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
> arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
> .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
> arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
> .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
> .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
> .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
> .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
> .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
> arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
> arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
> arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
> arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
> .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
> board/toradex/common/Kconfig | 1 +
> board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
> 16 files changed, 136 insertions(+), 7 deletions(-)
> create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
>
Greetings! Thank you for contribution but may you at split patches
according to SoC vendor at least? For imx, tegra and ti since it
would be hard to both review and pick them to correct custodian
trees.
> diff --git a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> index c54a59e89c5d..d73be74d2112 100644
> --- a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> +++ b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> @@ -3,6 +3,12 @@
> * Copyright 2019 Toradex AG
> */
>
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> +
> &mu {
> bootph-some-ram;
> };
> diff --git a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> index 6ab6b1f9ee69..60c4cd6fc01f 100644
> --- a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> +++ b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> @@ -3,6 +3,12 @@
> * Copyright 2019 Toradex AG
> */
>
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> +
> &{/imx8qx-pm} {
>
> bootph-some-ram;
> diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> index 0eea4d1862ae..5a91d0aca204 100644
> --- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> @@ -16,6 +16,10 @@
> mmc0 = &usdhc3;
> mmc1 = &usdhc1;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &wdog1 {
> diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> index 3c6e503d043b..59412635420a 100644
> --- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> +++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> @@ -19,6 +19,10 @@
> mmc1 = &usdhc1;
> mmc2 = &usdhc2;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &wdog1 {
> diff --git a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> index 6823b42d4514..731814216e1f 100644
> --- a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> @@ -9,6 +9,10 @@
> usb0 = &usbotg1; /* required for ums */
> display0 = &lcdif;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &pinctrl_uart1 {
> diff --git a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> index b2c12a413daf..68142769d360 100644
> --- a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> @@ -11,6 +11,10 @@
> mmc0 = &usdhc3;
> mmc1 = &usdhc1;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &lcdif {
> diff --git a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> index 515f195ab759..38db56059d69 100644
> --- a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> @@ -12,6 +12,10 @@
> eeprom2 = &eeprom_display_adapter;
> };
>
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +
> wdt-reboot {
> compatible = "wdt-reboot";
> bootph-pre-ram;
> diff --git a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> index 67f1d45ce269..03f211d5f7d3 100644
> --- a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> @@ -12,6 +12,10 @@
> eeprom2 = &eeprom_display_adapter;
> };
>
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +
> wdt-reboot {
> compatible = "wdt-reboot";
> bootph-pre-ram;
> diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> index 02f34c90c6d7..28b697b67ae0 100644
> --- a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> +++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> @@ -19,6 +19,10 @@
> memory@80000000 {
> bootph-all;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &main_timer0 {
> diff --git a/arch/arm/dts/tegra124-apalis-u-boot.dtsi b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
> new file mode 100644
> index 000000000000..a3614d279439
> --- /dev/null
> +++ b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra124-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/tegra20-colibri-u-boot.dtsi b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
> new file mode 100644
> index 000000000000..d4a669a288d8
> --- /dev/null
> +++ b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra20-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/tegra30-apalis-u-boot.dtsi b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
> new file mode 100644
> index 000000000000..37cbfbcc3506
> --- /dev/null
> +++ b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra30-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/tegra30-colibri-u-boot.dtsi b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
> new file mode 100644
> index 000000000000..37cbfbcc3506
> --- /dev/null
> +++ b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra30-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> index 572d40877ef9..8c3b86c201fa 100644
> --- a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> @@ -7,6 +7,10 @@
> soc {
> bootph-all;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &aips0 {
> diff --git a/board/toradex/common/Kconfig b/board/toradex/common/Kconfig
> index 1f6a5e4db561..b85893ab44e4 100644
> --- a/board/toradex/common/Kconfig
> +++ b/board/toradex/common/Kconfig
> @@ -4,6 +4,7 @@
> menuconfig TDX_CFG_BLOCK
> bool "Enable Toradex config block support"
> select OF_BOARD_SETUP
> + select SYSINFO
> help
> The Toradex config block stored production data on the on-module
> flash device (NAND, NOR or eMMC). The area is normally preserved by
> diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
> index 6084436b48b4..1f3253f4222e 100644
> --- a/board/toradex/common/tdx-common.c
> +++ b/board/toradex/common/tdx-common.c
> @@ -3,15 +3,16 @@
> * Copyright (c) 2016 Toradex, Inc.
> */
>
> +#include <dm.h>
> #include <common.h>
> #include <env.h>
> #include <g_dnl.h>
> #include <init.h>
> #include <linux/libfdt.h>
> +#include <sysinfo.h>
>
> #ifdef CONFIG_VIDEO
> #include <bmp_logo.h>
> -#include <dm.h>
> #include <splash.h>
> #include <video.h>
> #endif
> @@ -103,13 +104,8 @@ __weak int print_bootinfo(void)
>
> int checkboard(void)
> {
> - if (valid_cfgblock) {
> - printf("Model: Toradex %04d %s %s\n",
> - tdx_hw_tag.prodid,
> - toradex_modules[tdx_hw_tag.prodid].name,
> - tdx_board_rev_str);
> + if (valid_cfgblock)
> printf("Serial#: %s\n", tdx_serial_str);
> - }
>
> #ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
> if (tdx_carrier_board_name)
> @@ -188,6 +184,46 @@ static int settings_r(void)
> }
> EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
>
> +static int tdx_detect(struct udevice *dev)
> +{
> + return valid_cfgblock ? 0 : -EINVAL;
> +}
> +
> +static int tdx_get_str(struct udevice *dev, int id, size_t size, char *val)
> +{
> + int ret = -ENOTSUPP;
> +
> + switch (id) {
> + case SYSINFO_ID_BOARD_MODEL:
> + snprintf(val, size,
> + "Toradex %04d %s %s",
> + tdx_hw_tag.prodid,
> + toradex_modules[tdx_hw_tag.prodid].name,
> + tdx_board_rev_str);
> +
> + ret = 0;
> + }
> +
> + return ret;
> +}
> +
> +static const struct udevice_id sysinfo_tdx_ids[] = {
> + { .compatible = "toradex,sysinfo" },
> + { /* sentinel */ }
> +};
> +
> +static const struct sysinfo_ops sysinfo_tdx_ops = {
> + .detect = tdx_detect,
> + .get_str = tdx_get_str,
> +};
> +
> +U_BOOT_DRIVER(sysinfo_toradex) = {
> + .name = "sysinfo_toradex",
> + .id = UCLASS_SYSINFO,
> + .of_match = sysinfo_tdx_ids,
> + .ops = &sysinfo_tdx_ops,
> +};
> +
> #ifdef CONFIG_TDX_CFG_BLOCK_USB_GADGET_PID
> int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
> {
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 0/7] toradex: fix reset and hardware detection regressions
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
` (6 preceding siblings ...)
2024-02-20 18:29 ` [PATCH v1 7/7] toradex: imx6*: fix reset using wdt-reboot driver Francesco Dolcini
@ 2024-02-20 19:51 ` Marcel Ziswiler
7 siblings, 0 replies; 17+ messages in thread
From: Marcel Ziswiler @ 2024-02-20 19:51 UTC (permalink / raw)
To: francesco@dolcini.it, festevam@gmail.com, uboot-imx@nxp.com,
sbabic@denx.de, trini@konsulko.com, treding@nvidia.com,
clamor95@gmail.com
Cc: u-boot@lists.denx.de, sahaj.sarup@linaro.org, Francesco Dolcini
On Tue, 2024-02-20 at 19:29 +0100, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
>
> This series fixes two regressions affecting multiple Toradex boards
> (i.MX, TI and TEGRA based) and targets the current master, e.g. v2024.04 release.
>
> U-Boot `reset` command is broken on all Tordex i.MX6* based SoMs since
> v2023.07, this series fixes it enabling the `wdt-reboot` driver.
>
> Since v2024.04-rc1 reading the Toradex configuration block is not working
> properly anymore, the serial number and the hardware version are not read
> correctly, preventing the board from functioning correctly (wrong mac address,
> wrong DT, ...). This is fixed by reading the config block in `EVT_SETTINGS_R` and
> adding a toradex sysinfo driver. In addition to that, we now use a random mac
> address in case the config block is invalid.
>
>
> Reported-by: Sahaj Sarup <sahaj.sarup@linaro.org>
> Closes: https://lore.kernel.org/all/CAKZ1LvM45MB8N0CqgU+C7i9=Bjb6kqNTxWo2Tv407HKLWtCMkA@mail.gmail.com/
> Reported-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> Closes: https://lore.kernel.org/all/e40ed93bd8f371ec56b8fc451dcb458f3ce6dcba.camel@toradex.com/
> Reported-by: Francesco Dolcini <francesco@dolcini.it>
> Closes: https://lore.kernel.org/all/ZY2ZDWAQuTlRjV9H@francesco-nb/
For the whole series:
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> # Verdin iMX8M Plus
> Emanuele Ghidoli (6):
> toradex: Fix recursive call to checkboard
> toradex: Remove not necessary model prints from checkboard()
> toradex: common: Use SETTINGS_R event to read toradex config block
> arm: dts: Refactor device trees using "&{/aliases}" syntax
> toradex: common: Add sysinfo driver
> toradex: common: Use random mac address if toradex config block is
> missing
>
> Parth Pancholi (1):
> toradex: imx6*: fix reset using wdt-reboot driver
>
> arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +
> arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +
> .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 28 +++-
> arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 36 +++--
> .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 14 ++
> .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 14 +-
> .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 16 +-
> .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 16 +-
> .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 +
> arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 ++
> arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 ++
> arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 ++
> arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 ++
> .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 +
> board/toradex/apalis-imx8/apalis-imx8.c | 10 --
> board/toradex/apalis-tk1/apalis-tk1.c | 7 -
> board/toradex/apalis_imx6/apalis_imx6.c | 21 ---
> board/toradex/apalis_t30/apalis_t30.c | 8 -
> .../toradex/colibri-imx6ull/colibri-imx6ull.c | 7 -
> board/toradex/colibri-imx8x/colibri-imx8x.c | 10 --
> board/toradex/colibri_imx6/colibri_imx6.c | 20 ---
> board/toradex/colibri_imx7/colibri_imx7.c | 8 -
> board/toradex/colibri_t20/colibri_t20.c | 10 --
> board/toradex/colibri_t30/colibri_t30.c | 7 -
> board/toradex/colibri_vf/colibri_vf.c | 10 --
> board/toradex/common/Kconfig | 1 +
> board/toradex/common/tdx-common.c | 137 +++++++++++++-----
> board/toradex/common/tdx-common.h | 1 -
> configs/apalis-imx8_defconfig | 1 +
> configs/apalis-tk1_defconfig | 1 +
> configs/apalis_imx6_defconfig | 4 +
> configs/apalis_t30_defconfig | 1 +
> configs/colibri-imx6ull-emmc_defconfig | 4 +
> configs/colibri-imx6ull_defconfig | 4 +
> configs/colibri-imx8x_defconfig | 1 +
> configs/colibri_imx6_defconfig | 4 +
> configs/colibri_imx7_defconfig | 1 +
> configs/colibri_imx7_emmc_defconfig | 1 +
> configs/colibri_t20_defconfig | 1 +
> configs/colibri_t30_defconfig | 1 +
> configs/colibri_vf_defconfig | 1 +
> configs/verdin-am62_a53_defconfig | 1 +
> configs/verdin-am62_r5_defconfig | 1 +
> configs/verdin-imx8mm_defconfig | 1 +
> configs/verdin-imx8mp_defconfig | 1 +
> 45 files changed, 284 insertions(+), 194 deletions(-)
> create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-20 19:14 ` Svyatoslav Ryhel
@ 2024-02-20 19:51 ` Marcel Ziswiler
2024-02-21 13:10 ` Tom Rini
0 siblings, 1 reply; 17+ messages in thread
From: Marcel Ziswiler @ 2024-02-20 19:51 UTC (permalink / raw)
To: francesco@dolcini.it, clamor95@gmail.com
Cc: uboot-imx@nxp.com, trini@konsulko.com, festevam@gmail.com,
Emanuele Ghidoli, sbabic@denx.de, Francesco Dolcini,
u-boot@lists.denx.de, treding@nvidia.com
On Tue, 2024-02-20 at 21:14 +0200, Svyatoslav Ryhel wrote:
> вт, 20 лют. 2024 р. о 20:29 Francesco Dolcini <francesco@dolcini.it> пише:
> >
> > From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> >
> > This commit introduces support for the Toradex sysinfo driver in U-Boot,
> > which uses information from Toradex config block to print correct
> > board model.
> > In case the Toradex config block is not present sysinfo prints the model
> > of the board provided by device tree removing per board specific prints.
> >
> > Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > ---
> > arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
> > arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
> > .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
> > arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
> > .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
> > .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
> > .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
> > arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
> > arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
> > arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
> > .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
> > board/toradex/common/Kconfig | 1 +
> > board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
> > 16 files changed, 136 insertions(+), 7 deletions(-)
> > create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> > create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> > create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> > create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
> >
>
> Greetings! Thank you for contribution but may you at split patches
> according to SoC vendor at least? For imx, tegra and ti since it
> would be hard to both review and pick them to correct custodian
> trees.
I would assume for those urgent fixes to go through Tom directly to master. Thanks!
> > diff --git a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> > index c54a59e89c5d..d73be74d2112 100644
> > --- a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> > +++ b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> > @@ -3,6 +3,12 @@
> > * Copyright 2019 Toradex AG
> > */
> >
> > +/ {
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +};
> > +
> > &mu {
> > bootph-some-ram;
> > };
> > diff --git a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> > index 6ab6b1f9ee69..60c4cd6fc01f 100644
> > --- a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> > +++ b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> > @@ -3,6 +3,12 @@
> > * Copyright 2019 Toradex AG
> > */
> >
> > +/ {
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +};
> > +
> > &{/imx8qx-pm} {
> >
> > bootph-some-ram;
> > diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-
> > boot.dtsi
> > index 0eea4d1862ae..5a91d0aca204 100644
> > --- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> > +++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> > @@ -16,6 +16,10 @@
> > mmc0 = &usdhc3;
> > mmc1 = &usdhc1;
> > };
> > +
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > };
> >
> > &wdog1 {
> > diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> > index 3c6e503d043b..59412635420a 100644
> > --- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> > +++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> > @@ -19,6 +19,10 @@
> > mmc1 = &usdhc1;
> > mmc2 = &usdhc2;
> > };
> > +
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > };
> >
> > &wdog1 {
> > diff --git a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6ull-colibri-eval-v3-u-
> > boot.dtsi
> > index 6823b42d4514..731814216e1f 100644
> > --- a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> > +++ b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> > @@ -9,6 +9,10 @@
> > usb0 = &usbotg1; /* required for ums */
> > display0 = &lcdif;
> > };
> > +
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > };
> >
> > &pinctrl_uart1 {
> > diff --git a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx7d-colibri-eval-v3-u-
> > boot.dtsi
> > index b2c12a413daf..68142769d360 100644
> > --- a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> > +++ b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> > @@ -11,6 +11,10 @@
> > mmc0 = &usdhc3;
> > mmc1 = &usdhc1;
> > };
> > +
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > };
> >
> > &lcdif {
> > diff --git a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-
> > boot.dtsi
> > index 515f195ab759..38db56059d69 100644
> > --- a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> > +++ b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> > @@ -12,6 +12,10 @@
> > eeprom2 = &eeprom_display_adapter;
> > };
> >
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +
> > wdt-reboot {
> > compatible = "wdt-reboot";
> > bootph-pre-ram;
> > diff --git a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-
> > boot.dtsi
> > index 67f1d45ce269..03f211d5f7d3 100644
> > --- a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> > +++ b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> > @@ -12,6 +12,10 @@
> > eeprom2 = &eeprom_display_adapter;
> > };
> >
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +
> > wdt-reboot {
> > compatible = "wdt-reboot";
> > bootph-pre-ram;
> > diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-
> > boot.dtsi
> > index 02f34c90c6d7..28b697b67ae0 100644
> > --- a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> > +++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> > @@ -19,6 +19,10 @@
> > memory@80000000 {
> > bootph-all;
> > };
> > +
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > };
> >
> > &main_timer0 {
> > diff --git a/arch/arm/dts/tegra124-apalis-u-boot.dtsi b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
> > new file mode 100644
> > index 000000000000..a3614d279439
> > --- /dev/null
> > +++ b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
> > @@ -0,0 +1,12 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> > +/*
> > + * Copyright 2023 Toradex
> > + */
> > +
> > +#include "tegra124-u-boot.dtsi"
> > +
> > +/ {
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +};
> > diff --git a/arch/arm/dts/tegra20-colibri-u-boot.dtsi b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
> > new file mode 100644
> > index 000000000000..d4a669a288d8
> > --- /dev/null
> > +++ b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
> > @@ -0,0 +1,12 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> > +/*
> > + * Copyright 2023 Toradex
> > + */
> > +
> > +#include "tegra20-u-boot.dtsi"
> > +
> > +/ {
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +};
> > diff --git a/arch/arm/dts/tegra30-apalis-u-boot.dtsi b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
> > new file mode 100644
> > index 000000000000..37cbfbcc3506
> > --- /dev/null
> > +++ b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
> > @@ -0,0 +1,12 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> > +/*
> > + * Copyright 2023 Toradex
> > + */
> > +
> > +#include "tegra30-u-boot.dtsi"
> > +
> > +/ {
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +};
> > diff --git a/arch/arm/dts/tegra30-colibri-u-boot.dtsi b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
> > new file mode 100644
> > index 000000000000..37cbfbcc3506
> > --- /dev/null
> > +++ b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
> > @@ -0,0 +1,12 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> > +/*
> > + * Copyright 2023 Toradex
> > + */
> > +
> > +#include "tegra30-u-boot.dtsi"
> > +
> > +/ {
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +};
> > diff --git a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/vf610-colibri-eval-v3-u-
> > boot.dtsi
> > index 572d40877ef9..8c3b86c201fa 100644
> > --- a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> > +++ b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> > @@ -7,6 +7,10 @@
> > soc {
> > bootph-all;
> > };
> > +
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > };
> >
> > &aips0 {
> > diff --git a/board/toradex/common/Kconfig b/board/toradex/common/Kconfig
> > index 1f6a5e4db561..b85893ab44e4 100644
> > --- a/board/toradex/common/Kconfig
> > +++ b/board/toradex/common/Kconfig
> > @@ -4,6 +4,7 @@
> > menuconfig TDX_CFG_BLOCK
> > bool "Enable Toradex config block support"
> > select OF_BOARD_SETUP
> > + select SYSINFO
> > help
> > The Toradex config block stored production data on the on-module
> > flash device (NAND, NOR or eMMC). The area is normally preserved by
> > diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
> > index 6084436b48b4..1f3253f4222e 100644
> > --- a/board/toradex/common/tdx-common.c
> > +++ b/board/toradex/common/tdx-common.c
> > @@ -3,15 +3,16 @@
> > * Copyright (c) 2016 Toradex, Inc.
> > */
> >
> > +#include <dm.h>
> > #include <common.h>
> > #include <env.h>
> > #include <g_dnl.h>
> > #include <init.h>
> > #include <linux/libfdt.h>
> > +#include <sysinfo.h>
> >
> > #ifdef CONFIG_VIDEO
> > #include <bmp_logo.h>
> > -#include <dm.h>
> > #include <splash.h>
> > #include <video.h>
> > #endif
> > @@ -103,13 +104,8 @@ __weak int print_bootinfo(void)
> >
> > int checkboard(void)
> > {
> > - if (valid_cfgblock) {
> > - printf("Model: Toradex %04d %s %s\n",
> > - tdx_hw_tag.prodid,
> > - toradex_modules[tdx_hw_tag.prodid].name,
> > - tdx_board_rev_str);
> > + if (valid_cfgblock)
> > printf("Serial#: %s\n", tdx_serial_str);
> > - }
> >
> > #ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
> > if (tdx_carrier_board_name)
> > @@ -188,6 +184,46 @@ static int settings_r(void)
> > }
> > EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
> >
> > +static int tdx_detect(struct udevice *dev)
> > +{
> > + return valid_cfgblock ? 0 : -EINVAL;
> > +}
> > +
> > +static int tdx_get_str(struct udevice *dev, int id, size_t size, char *val)
> > +{
> > + int ret = -ENOTSUPP;
> > +
> > + switch (id) {
> > + case SYSINFO_ID_BOARD_MODEL:
> > + snprintf(val, size,
> > + "Toradex %04d %s %s",
> > + tdx_hw_tag.prodid,
> > + toradex_modules[tdx_hw_tag.prodid].name,
> > + tdx_board_rev_str);
> > +
> > + ret = 0;
> > + }
> > +
> > + return ret;
> > +}
> > +
> > +static const struct udevice_id sysinfo_tdx_ids[] = {
> > + { .compatible = "toradex,sysinfo" },
> > + { /* sentinel */ }
> > +};
> > +
> > +static const struct sysinfo_ops sysinfo_tdx_ops = {
> > + .detect = tdx_detect,
> > + .get_str = tdx_get_str,
> > +};
> > +
> > +U_BOOT_DRIVER(sysinfo_toradex) = {
> > + .name = "sysinfo_toradex",
> > + .id = UCLASS_SYSINFO,
> > + .of_match = sysinfo_tdx_ids,
> > + .ops = &sysinfo_tdx_ops,
> > +};
> > +
> > #ifdef CONFIG_TDX_CFG_BLOCK_USB_GADGET_PID
> > int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
> > {
> > --
> > 2.39.2
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-20 19:51 ` Marcel Ziswiler
@ 2024-02-21 13:10 ` Tom Rini
2024-02-21 14:24 ` Marcel Ziswiler
0 siblings, 1 reply; 17+ messages in thread
From: Tom Rini @ 2024-02-21 13:10 UTC (permalink / raw)
To: Marcel Ziswiler
Cc: francesco@dolcini.it, clamor95@gmail.com, uboot-imx@nxp.com,
festevam@gmail.com, Emanuele Ghidoli, sbabic@denx.de,
Francesco Dolcini, u-boot@lists.denx.de, treding@nvidia.com
[-- Attachment #1: Type: text/plain, Size: 2636 bytes --]
On Tue, Feb 20, 2024 at 07:51:35PM +0000, Marcel Ziswiler wrote:
> On Tue, 2024-02-20 at 21:14 +0200, Svyatoslav Ryhel wrote:
> > вт, 20 лют. 2024 р. о 20:29 Francesco Dolcini <francesco@dolcini.it> пише:
> > >
> > > From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > >
> > > This commit introduces support for the Toradex sysinfo driver in U-Boot,
> > > which uses information from Toradex config block to print correct
> > > board model.
> > > In case the Toradex config block is not present sysinfo prints the model
> > > of the board provided by device tree removing per board specific prints.
> > >
> > > Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > > ---
> > > arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
> > > arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
> > > .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
> > > .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
> > > arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
> > > arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
> > > arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
> > > .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > board/toradex/common/Kconfig | 1 +
> > > board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
> > > 16 files changed, 136 insertions(+), 7 deletions(-)
> > > create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> > > create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> > > create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> > > create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
> > >
> >
> > Greetings! Thank you for contribution but may you at split patches
> > according to SoC vendor at least? For imx, tegra and ti since it
> > would be hard to both review and pick them to correct custodian
> > trees.
>
> I would assume for those urgent fixes to go through Tom directly to master. Thanks!
So this is a series we need for v2024.04 then?
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-21 13:10 ` Tom Rini
@ 2024-02-21 14:24 ` Marcel Ziswiler
2024-02-21 15:23 ` Tom Rini
0 siblings, 1 reply; 17+ messages in thread
From: Marcel Ziswiler @ 2024-02-21 14:24 UTC (permalink / raw)
To: trini@konsulko.com
Cc: clamor95@gmail.com, uboot-imx@nxp.com, festevam@gmail.com,
Emanuele Ghidoli, francesco@dolcini.it, sbabic@denx.de,
Francesco Dolcini, u-boot@lists.denx.de, treding@nvidia.com
Hi Tom
On Wed, 2024-02-21 at 08:10 -0500, Tom Rini wrote:
> On Tue, Feb 20, 2024 at 07:51:35PM +0000, Marcel Ziswiler wrote:
> > On Tue, 2024-02-20 at 21:14 +0200, Svyatoslav Ryhel wrote:
> > > вт, 20 лют. 2024 р. о 20:29 Francesco Dolcini <francesco@dolcini.it> пише:
> > > >
> > > > From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > > >
> > > > This commit introduces support for the Toradex sysinfo driver in U-Boot,
> > > > which uses information from Toradex config block to print correct
> > > > board model.
> > > > In case the Toradex config block is not present sysinfo prints the model
> > > > of the board provided by device tree removing per board specific prints.
> > > >
> > > > Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > > > ---
> > > > arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
> > > > arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
> > > > .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
> > > > .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > > .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > > .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > > arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
> > > > arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
> > > > arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
> > > > arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
> > > > .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > board/toradex/common/Kconfig | 1 +
> > > > board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
> > > > 16 files changed, 136 insertions(+), 7 deletions(-)
> > > > create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> > > > create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> > > > create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> > > > create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
> > > >
> > >
> > > Greetings! Thank you for contribution but may you at split patches
> > > according to SoC vendor at least? For imx, tegra and ti since it
> > > would be hard to both review and pick them to correct custodian
> > > trees.
> >
> > I would assume for those urgent fixes to go through Tom directly to master. Thanks!
>
> So this is a series we need for v2024.04 then?
Yes, please. From the cover letter:
> This series fixes two regressions affecting multiple Toradex boards (i.MX, TI and TEGRA based) and targets
the current master, e.g. v2024.04 release.
Thanks!
Cheers
Marcel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-21 14:24 ` Marcel Ziswiler
@ 2024-02-21 15:23 ` Tom Rini
0 siblings, 0 replies; 17+ messages in thread
From: Tom Rini @ 2024-02-21 15:23 UTC (permalink / raw)
To: Marcel Ziswiler
Cc: clamor95@gmail.com, uboot-imx@nxp.com, festevam@gmail.com,
Emanuele Ghidoli, francesco@dolcini.it, sbabic@denx.de,
Francesco Dolcini, u-boot@lists.denx.de, treding@nvidia.com
[-- Attachment #1: Type: text/plain, Size: 3245 bytes --]
On Wed, Feb 21, 2024 at 02:24:23PM +0000, Marcel Ziswiler wrote:
> Hi Tom
>
> On Wed, 2024-02-21 at 08:10 -0500, Tom Rini wrote:
> > On Tue, Feb 20, 2024 at 07:51:35PM +0000, Marcel Ziswiler wrote:
> > > On Tue, 2024-02-20 at 21:14 +0200, Svyatoslav Ryhel wrote:
> > > > вт, 20 лют. 2024 р. о 20:29 Francesco Dolcini <francesco@dolcini.it> пише:
> > > > >
> > > > > From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > > > >
> > > > > This commit introduces support for the Toradex sysinfo driver in U-Boot,
> > > > > which uses information from Toradex config block to print correct
> > > > > board model.
> > > > > In case the Toradex config block is not present sysinfo prints the model
> > > > > of the board provided by device tree removing per board specific prints.
> > > > >
> > > > > Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> > > > > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > > > > ---
> > > > > arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
> > > > > arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
> > > > > .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > > arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
> > > > > .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > > .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > > .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > > > .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > > > .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
> > > > > arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
> > > > > arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
> > > > > arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
> > > > > arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
> > > > > .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
> > > > > board/toradex/common/Kconfig | 1 +
> > > > > board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
> > > > > 16 files changed, 136 insertions(+), 7 deletions(-)
> > > > > create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> > > > > create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> > > > > create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> > > > > create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
> > > > >
> > > >
> > > > Greetings! Thank you for contribution but may you at split patches
> > > > according to SoC vendor at least? For imx, tegra and ti since it
> > > > would be hard to both review and pick them to correct custodian
> > > > trees.
> > >
> > > I would assume for those urgent fixes to go through Tom directly to master. Thanks!
> >
> > So this is a series we need for v2024.04 then?
>
> Yes, please. From the cover letter:
>
> > This series fixes two regressions affecting multiple Toradex boards (i.MX, TI and TEGRA based) and targets
> the current master, e.g. v2024.04 release.
OK, thanks. I'll wait a bit more for further feedback on the contents
themselves.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-20 18:29 ` [PATCH v1 5/7] toradex: common: Add sysinfo driver Francesco Dolcini
2024-02-20 19:14 ` Svyatoslav Ryhel
@ 2024-02-21 15:43 ` Igor Opaniuk
2024-02-21 21:16 ` Francesco Dolcini
1 sibling, 1 reply; 17+ messages in thread
From: Igor Opaniuk @ 2024-02-21 15:43 UTC (permalink / raw)
To: Francesco Dolcini
Cc: Stefano Babic, Fabio Estevam, NXP i.MX U-Boot Team,
Marcel Ziswiler, Tom Rini, Thierry Reding, Svyatoslav Ryhel,
Emanuele Ghidoli, u-boot, Francesco Dolcini
Hello Francesco,
On Tue, Feb 20, 2024 at 7:31 PM Francesco Dolcini <francesco@dolcini.it> wrote:
>
> From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
>
> This commit introduces support for the Toradex sysinfo driver in U-Boot,
> which uses information from Toradex config block to print correct
> board model.
> In case the Toradex config block is not present sysinfo prints the model
> of the board provided by device tree removing per board specific prints.
>
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
> arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi | 6 +++
> arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi | 6 +++
> .../dts/imx6dl-colibri-eval-v3-u-boot.dtsi | 4 ++
> arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi | 4 ++
> .../dts/imx6ull-colibri-eval-v3-u-boot.dtsi | 4 ++
> .../arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi | 4 ++
> .../dts/imx8mm-verdin-wifi-dev-u-boot.dtsi | 4 ++
> .../dts/imx8mp-verdin-wifi-dev-u-boot.dtsi | 4 ++
> .../dts/k3-am625-verdin-wifi-dev-u-boot.dtsi | 4 ++
> arch/arm/dts/tegra124-apalis-u-boot.dtsi | 12 +++++
> arch/arm/dts/tegra20-colibri-u-boot.dtsi | 12 +++++
> arch/arm/dts/tegra30-apalis-u-boot.dtsi | 12 +++++
> arch/arm/dts/tegra30-colibri-u-boot.dtsi | 12 +++++
> .../arm/dts/vf610-colibri-eval-v3-u-boot.dtsi | 4 ++
> board/toradex/common/Kconfig | 1 +
> board/toradex/common/tdx-common.c | 50 ++++++++++++++++---
> 16 files changed, 136 insertions(+), 7 deletions(-)
> create mode 100644 arch/arm/dts/tegra124-apalis-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra20-colibri-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra30-apalis-u-boot.dtsi
> create mode 100644 arch/arm/dts/tegra30-colibri-u-boot.dtsi
>
> diff --git a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> index c54a59e89c5d..d73be74d2112 100644
> --- a/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> +++ b/arch/arm/dts/fsl-imx8qm-apalis-u-boot.dtsi
> @@ -3,6 +3,12 @@
> * Copyright 2019 Toradex AG
> */
>
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> +
> &mu {
> bootph-some-ram;
> };
> diff --git a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> index 6ab6b1f9ee69..60c4cd6fc01f 100644
> --- a/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> +++ b/arch/arm/dts/fsl-imx8qxp-colibri-u-boot.dtsi
> @@ -3,6 +3,12 @@
> * Copyright 2019 Toradex AG
> */
>
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> +
> &{/imx8qx-pm} {
>
> bootph-some-ram;
> diff --git a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> index 0eea4d1862ae..5a91d0aca204 100644
> --- a/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/imx6dl-colibri-eval-v3-u-boot.dtsi
> @@ -16,6 +16,10 @@
> mmc0 = &usdhc3;
> mmc1 = &usdhc1;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &wdog1 {
> diff --git a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> index 3c6e503d043b..59412635420a 100644
> --- a/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> +++ b/arch/arm/dts/imx6q-apalis-eval-u-boot.dtsi
> @@ -19,6 +19,10 @@
> mmc1 = &usdhc1;
> mmc2 = &usdhc2;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &wdog1 {
> diff --git a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> index 6823b42d4514..731814216e1f 100644
> --- a/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/imx6ull-colibri-eval-v3-u-boot.dtsi
> @@ -9,6 +9,10 @@
> usb0 = &usbotg1; /* required for ums */
> display0 = &lcdif;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &pinctrl_uart1 {
> diff --git a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> index b2c12a413daf..68142769d360 100644
> --- a/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/imx7d-colibri-eval-v3-u-boot.dtsi
> @@ -11,6 +11,10 @@
> mmc0 = &usdhc3;
> mmc1 = &usdhc1;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &lcdif {
> diff --git a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> index 515f195ab759..38db56059d69 100644
> --- a/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mm-verdin-wifi-dev-u-boot.dtsi
> @@ -12,6 +12,10 @@
> eeprom2 = &eeprom_display_adapter;
> };
>
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +
Have you considered introducing some common *-u-boot.dtsi include
and putting such nodes there just to avoid code duplication?
> wdt-reboot {
> compatible = "wdt-reboot";
> bootph-pre-ram;
> diff --git a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> index 67f1d45ce269..03f211d5f7d3 100644
> --- a/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> +++ b/arch/arm/dts/imx8mp-verdin-wifi-dev-u-boot.dtsi
> @@ -12,6 +12,10 @@
> eeprom2 = &eeprom_display_adapter;
> };
>
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +
> wdt-reboot {
> compatible = "wdt-reboot";
> bootph-pre-ram;
> diff --git a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> index 02f34c90c6d7..28b697b67ae0 100644
> --- a/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> +++ b/arch/arm/dts/k3-am625-verdin-wifi-dev-u-boot.dtsi
> @@ -19,6 +19,10 @@
> memory@80000000 {
> bootph-all;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &main_timer0 {
> diff --git a/arch/arm/dts/tegra124-apalis-u-boot.dtsi b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
> new file mode 100644
> index 000000000000..a3614d279439
> --- /dev/null
> +++ b/arch/arm/dts/tegra124-apalis-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra124-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/tegra20-colibri-u-boot.dtsi b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
> new file mode 100644
> index 000000000000..d4a669a288d8
> --- /dev/null
> +++ b/arch/arm/dts/tegra20-colibri-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra20-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/tegra30-apalis-u-boot.dtsi b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
> new file mode 100644
> index 000000000000..37cbfbcc3506
> --- /dev/null
> +++ b/arch/arm/dts/tegra30-apalis-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra30-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/tegra30-colibri-u-boot.dtsi b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
> new file mode 100644
> index 000000000000..37cbfbcc3506
> --- /dev/null
> +++ b/arch/arm/dts/tegra30-colibri-u-boot.dtsi
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright 2023 Toradex
> + */
> +
> +#include "tegra30-u-boot.dtsi"
> +
> +/ {
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> +};
> diff --git a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> index 572d40877ef9..8c3b86c201fa 100644
> --- a/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> +++ b/arch/arm/dts/vf610-colibri-eval-v3-u-boot.dtsi
> @@ -7,6 +7,10 @@
> soc {
> bootph-all;
> };
> +
> + sysinfo {
> + compatible = "toradex,sysinfo";
> + };
> };
>
> &aips0 {
> diff --git a/board/toradex/common/Kconfig b/board/toradex/common/Kconfig
> index 1f6a5e4db561..b85893ab44e4 100644
> --- a/board/toradex/common/Kconfig
> +++ b/board/toradex/common/Kconfig
> @@ -4,6 +4,7 @@
> menuconfig TDX_CFG_BLOCK
> bool "Enable Toradex config block support"
> select OF_BOARD_SETUP
> + select SYSINFO
> help
> The Toradex config block stored production data on the on-module
> flash device (NAND, NOR or eMMC). The area is normally preserved by
> diff --git a/board/toradex/common/tdx-common.c b/board/toradex/common/tdx-common.c
> index 6084436b48b4..1f3253f4222e 100644
> --- a/board/toradex/common/tdx-common.c
> +++ b/board/toradex/common/tdx-common.c
> @@ -3,15 +3,16 @@
> * Copyright (c) 2016 Toradex, Inc.
> */
>
> +#include <dm.h>
> #include <common.h>
> #include <env.h>
> #include <g_dnl.h>
> #include <init.h>
> #include <linux/libfdt.h>
> +#include <sysinfo.h>
>
> #ifdef CONFIG_VIDEO
> #include <bmp_logo.h>
> -#include <dm.h>
> #include <splash.h>
> #include <video.h>
> #endif
> @@ -103,13 +104,8 @@ __weak int print_bootinfo(void)
>
> int checkboard(void)
> {
> - if (valid_cfgblock) {
> - printf("Model: Toradex %04d %s %s\n",
> - tdx_hw_tag.prodid,
> - toradex_modules[tdx_hw_tag.prodid].name,
> - tdx_board_rev_str);
> + if (valid_cfgblock)
> printf("Serial#: %s\n", tdx_serial_str);
> - }
>
> #ifdef CONFIG_TDX_CFG_BLOCK_EXTRA
> if (tdx_carrier_board_name)
> @@ -188,6 +184,46 @@ static int settings_r(void)
> }
> EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
>
> +static int tdx_detect(struct udevice *dev)
> +{
> + return valid_cfgblock ? 0 : -EINVAL;
> +}
> +
> +static int tdx_get_str(struct udevice *dev, int id, size_t size, char *val)
> +{
> + int ret = -ENOTSUPP;
> +
> + switch (id) {
> + case SYSINFO_ID_BOARD_MODEL:
> + snprintf(val, size,
> + "Toradex %04d %s %s",
> + tdx_hw_tag.prodid,
> + toradex_modules[tdx_hw_tag.prodid].name,
> + tdx_board_rev_str);
> +
> + ret = 0;
> + }
> +
> + return ret;
> +}
> +
> +static const struct udevice_id sysinfo_tdx_ids[] = {
> + { .compatible = "toradex,sysinfo" },
> + { /* sentinel */ }
> +};
> +
> +static const struct sysinfo_ops sysinfo_tdx_ops = {
> + .detect = tdx_detect,
> + .get_str = tdx_get_str,
> +};
> +
> +U_BOOT_DRIVER(sysinfo_toradex) = {
> + .name = "sysinfo_toradex",
> + .id = UCLASS_SYSINFO,
> + .of_match = sysinfo_tdx_ids,
> + .ops = &sysinfo_tdx_ops,
> +};
> +
> #ifdef CONFIG_TDX_CFG_BLOCK_USB_GADGET_PID
> int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
> {
> --
> 2.39.2
>
--
Best regards - Atentamente - Meilleures salutations
Igor Opaniuk
mailto: igor.opaniuk@gmail.com
skype: igor.opanyuk
http://ua.linkedin.com/in/iopaniuk
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 5/7] toradex: common: Add sysinfo driver
2024-02-21 15:43 ` Igor Opaniuk
@ 2024-02-21 21:16 ` Francesco Dolcini
0 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-21 21:16 UTC (permalink / raw)
To: Igor Opaniuk
Cc: Francesco Dolcini, Stefano Babic, Fabio Estevam,
NXP i.MX U-Boot Team, Marcel Ziswiler, Tom Rini, Thierry Reding,
Svyatoslav Ryhel, Emanuele Ghidoli, u-boot, Francesco Dolcini
On Wed, Feb 21, 2024 at 04:43:28PM +0100, Igor Opaniuk wrote:
> On Tue, Feb 20, 2024 at 7:31 PM Francesco Dolcini <francesco@dolcini.it> wrote:
> >
> > + sysinfo {
> > + compatible = "toradex,sysinfo";
> > + };
> > +
> Have you considered introducing some common *-u-boot.dtsi include
> and putting such nodes there just to avoid code duplication?
Yes, we discussed internally about this. In pratice it was a trade off between
one line with a well defined and transparent meaning with an opaque include, we
concluded that the current proposal is the best approach.
Francesco
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v1 6/7] toradex: common: Use random mac address if toradex config block is missing
2024-02-20 18:29 ` [PATCH v1 6/7] toradex: common: Use random mac address if toradex config block is missing Francesco Dolcini
@ 2024-02-23 8:07 ` Francesco Dolcini
0 siblings, 0 replies; 17+ messages in thread
From: Francesco Dolcini @ 2024-02-23 8:07 UTC (permalink / raw)
To: Tom Rini
Cc: Marcel Ziswiler, Emanuele Ghidoli, u-boot, Francesco Dolcini,
Francesco Dolcini
On Tue, Feb 20, 2024 at 07:29:25PM +0100, Francesco Dolcini wrote:
> From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
>
> Set CONFIG_NET_RANDOM_ETHADDR=y, which sets random eth address in
> case there is no toradex config block programmed.
> In case of missing toradex config block the generated mac address was
> always the same, linked to serial number 0.
> Use random generated mac address instead.
>
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
> board/toradex/common/tdx-common.c | 1 -
> configs/apalis-imx8_defconfig | 1 +
> configs/apalis-tk1_defconfig | 1 +
> configs/apalis_imx6_defconfig | 1 +
> configs/apalis_t30_defconfig | 1 +
> configs/colibri-imx6ull-emmc_defconfig | 1 +
> configs/colibri-imx6ull_defconfig | 1 +
> configs/colibri-imx8x_defconfig | 1 +
> configs/colibri_imx6_defconfig | 1 +
> configs/colibri_imx7_defconfig | 1 +
> configs/colibri_imx7_emmc_defconfig | 1 +
> configs/colibri_t20_defconfig | 1 +
> configs/colibri_t30_defconfig | 1 +
> configs/colibri_vf_defconfig | 1 +
> configs/verdin-am62_a53_defconfig | 1 +
> configs/verdin-am62_r5_defconfig | 1 +
> configs/verdin-imx8mm_defconfig | 1 +
> configs/verdin-imx8mp_defconfig | 1 +
> 18 files changed, 17 insertions(+), 1 deletion(-)
...
> diff --git a/configs/verdin-am62_r5_defconfig b/configs/verdin-am62_r5_defconfig
> index a3febdcb6941..910340ea5a41 100644
> --- a/configs/verdin-am62_r5_defconfig
> +++ b/configs/verdin-am62_r5_defconfig
> @@ -65,6 +65,7 @@ CONFIG_SPL_OF_CONTROL=y
> CONFIG_SPL_MULTI_DTB_FIT=y
> CONFIG_SPL_MULTI_DTB_FIT_NO_COMPRESSION=y
> CONFIG_SYS_RELOC_GD_ENV_ADDR=y
> +CONFIG_NET_RANDOM_ETHADDR=y
> CONFIG_SPL_DM=y
> CONFIG_SPL_DM_SEQ_ALIAS=y
> CONFIG_REGMAP=y
This change here is not required, it has no effect since there is no
network available on the verdin am62 r5, however it is just confusing to
have it enabled.
I will send a v2 with this removed.
Francesco
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2024-02-23 8:08 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-20 18:29 [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 1/7] toradex: Fix recursive call to checkboard Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 2/7] toradex: Remove not necessary model prints from checkboard() Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 3/7] toradex: common: Use SETTINGS_R event to read toradex config block Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 4/7] arm: dts: Refactor device trees using "&{/aliases}" syntax Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 5/7] toradex: common: Add sysinfo driver Francesco Dolcini
2024-02-20 19:14 ` Svyatoslav Ryhel
2024-02-20 19:51 ` Marcel Ziswiler
2024-02-21 13:10 ` Tom Rini
2024-02-21 14:24 ` Marcel Ziswiler
2024-02-21 15:23 ` Tom Rini
2024-02-21 15:43 ` Igor Opaniuk
2024-02-21 21:16 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 6/7] toradex: common: Use random mac address if toradex config block is missing Francesco Dolcini
2024-02-23 8:07 ` Francesco Dolcini
2024-02-20 18:29 ` [PATCH v1 7/7] toradex: imx6*: fix reset using wdt-reboot driver Francesco Dolcini
2024-02-20 19:51 ` [PATCH v1 0/7] toradex: fix reset and hardware detection regressions Marcel Ziswiler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox