* [PATCH] toradex: select EVENT for TDX_CFG_BLOCK
@ 2026-08-07 11:25 Mehmet Fide
2026-08-07 17:34 ` Tom Rini
2026-08-12 5:50 ` Francesco Dolcini
0 siblings, 2 replies; 3+ messages in thread
From: Mehmet Fide @ 2026-08-07 11:25 UTC (permalink / raw)
To: u-boot; +Cc: Francesco Dolcini, Marcel Ziswiler, Tom Rini, Simon Glass
From: Mehmet Fide <mehmet.fide@screeningeagle.com>
The Toradex config block is read by settings_r(), which is reachable
only as an event spy:
EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
board_r.c does call INITCALL_EVT(EVT_SETTINGS_R) unconditionally, but
with CONFIG_EVENT disabled event_notify_null() is an empty inline, so
the spy is never reached and settings_r() never runs. Nothing else
selects EVENT for colibri_vf, and CONFIG_EVENT has no prompt, so a
defconfig cannot turn it on by itself.
The effect is that serial#, ethaddr and eth1addr are never populated
from the config block. serial# in turn is what fdt_root() copies into
the device tree as "serial-number", so Linux loses
/proc/device-tree/serial-number along with anything deriving a MAC
address or a device identity from it. The failure is quiet: a module
whose saved environment predates the conversion to the event framework
keeps the old values and looks healthy until the environment is
rewritten.
Verified on a Colibri VF50. Before the change "printenv serial#"
reports "not defined" and no "MISSING TORADEX CONFIG BLOCK" is
printed, which is the signature of the spy never running. After it the
banner shows
Model: Toradex 0013 Colibri VF50 128MB IT V1.2B
Serial#: 03135809
and Linux finds /proc/device-tree/serial-number again.
TDX_CFG_BLOCK cannot work without the spy, so select what it needs.
Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
---
board/toradex/common/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/board/toradex/common/Kconfig b/board/toradex/common/Kconfig
index b85893ab44e..05f8341e4c3 100644
--- a/board/toradex/common/Kconfig
+++ b/board/toradex/common/Kconfig
@@ -3,6 +3,7 @@
menuconfig TDX_CFG_BLOCK
bool "Enable Toradex config block support"
+ select EVENT
select OF_BOARD_SETUP
select SYSINFO
help
--
2.54.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] toradex: select EVENT for TDX_CFG_BLOCK
2026-08-07 11:25 [PATCH] toradex: select EVENT for TDX_CFG_BLOCK Mehmet Fide
@ 2026-08-07 17:34 ` Tom Rini
2026-08-12 5:50 ` Francesco Dolcini
1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2026-08-07 17:34 UTC (permalink / raw)
To: Mehmet Fide; +Cc: u-boot, Francesco Dolcini, Marcel Ziswiler, Simon Glass
[-- Attachment #1: Type: text/plain, Size: 1768 bytes --]
On Fri, Aug 07, 2026 at 01:25:45PM +0200, Mehmet Fide wrote:
> From: Mehmet Fide <mehmet.fide@screeningeagle.com>
>
> The Toradex config block is read by settings_r(), which is reachable
> only as an event spy:
>
> EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
>
> board_r.c does call INITCALL_EVT(EVT_SETTINGS_R) unconditionally, but
> with CONFIG_EVENT disabled event_notify_null() is an empty inline, so
> the spy is never reached and settings_r() never runs. Nothing else
> selects EVENT for colibri_vf, and CONFIG_EVENT has no prompt, so a
> defconfig cannot turn it on by itself.
>
> The effect is that serial#, ethaddr and eth1addr are never populated
> from the config block. serial# in turn is what fdt_root() copies into
> the device tree as "serial-number", so Linux loses
> /proc/device-tree/serial-number along with anything deriving a MAC
> address or a device identity from it. The failure is quiet: a module
> whose saved environment predates the conversion to the event framework
> keeps the old values and looks healthy until the environment is
> rewritten.
>
> Verified on a Colibri VF50. Before the change "printenv serial#"
> reports "not defined" and no "MISSING TORADEX CONFIG BLOCK" is
> printed, which is the signature of the spy never running. After it the
> banner shows
>
> Model: Toradex 0013 Colibri VF50 128MB IT V1.2B
> Serial#: 03135809
>
> and Linux finds /proc/device-tree/serial-number again.
>
> TDX_CFG_BLOCK cannot work without the spy, so select what it needs.
>
> Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
Fixes: 118b17b84fc7 ("toradex: common: Use SETTINGS_R event to read toradex config block")
Reviewed-by: Tom Rini <trini@konsulko.com>
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] toradex: select EVENT for TDX_CFG_BLOCK
2026-08-07 11:25 [PATCH] toradex: select EVENT for TDX_CFG_BLOCK Mehmet Fide
2026-08-07 17:34 ` Tom Rini
@ 2026-08-12 5:50 ` Francesco Dolcini
1 sibling, 0 replies; 3+ messages in thread
From: Francesco Dolcini @ 2026-08-12 5:50 UTC (permalink / raw)
To: Mehmet Fide
Cc: u-boot, Francesco Dolcini, Marcel Ziswiler, Tom Rini, Simon Glass
On Fri, Aug 07, 2026 at 01:25:45PM +0200, Mehmet Fide wrote:
> From: Mehmet Fide <mehmet.fide@screeningeagle.com>
>
> The Toradex config block is read by settings_r(), which is reachable
> only as an event spy:
>
> EVENT_SPY_SIMPLE(EVT_SETTINGS_R, settings_r);
>
> board_r.c does call INITCALL_EVT(EVT_SETTINGS_R) unconditionally, but
> with CONFIG_EVENT disabled event_notify_null() is an empty inline, so
> the spy is never reached and settings_r() never runs. Nothing else
> selects EVENT for colibri_vf, and CONFIG_EVENT has no prompt, so a
> defconfig cannot turn it on by itself.
>
> The effect is that serial#, ethaddr and eth1addr are never populated
> from the config block. serial# in turn is what fdt_root() copies into
> the device tree as "serial-number", so Linux loses
> /proc/device-tree/serial-number along with anything deriving a MAC
> address or a device identity from it. The failure is quiet: a module
> whose saved environment predates the conversion to the event framework
> keeps the old values and looks healthy until the environment is
> rewritten.
>
> Verified on a Colibri VF50. Before the change "printenv serial#"
> reports "not defined" and no "MISSING TORADEX CONFIG BLOCK" is
> printed, which is the signature of the spy never running. After it the
> banner shows
>
> Model: Toradex 0013 Colibri VF50 128MB IT V1.2B
> Serial#: 03135809
>
> and Linux finds /proc/device-tree/serial-number again.
>
> TDX_CFG_BLOCK cannot work without the spy, so select what it needs.
>
> Signed-off-by: Mehmet Fide <mehmet.fide@screeningeagle.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-12 5:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-07 11:25 [PATCH] toradex: select EVENT for TDX_CFG_BLOCK Mehmet Fide
2026-08-07 17:34 ` Tom Rini
2026-08-12 5:50 ` Francesco Dolcini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.