boot/bootfdt: Add smbios3-entrypoint to FDT for non-EFI boots
authorAdriana Nicolae <adriana@arista.com>
Thu, 27 Nov 2025 16:28:34 +0000 (08:28 -0800)
committerTom Rini <trini@konsulko.com>
Tue, 2 Dec 2025 22:34:27 +0000 (16:34 -0600)
commit209bbc4e0032228c6ea17e2172a8a6b89756c4f5
tree047953e32a731f7b5da3180ec61c58f6ad985543
parentd4a8124805e3de3da5c9a005daa791bfba2ed28d
boot/bootfdt: Add smbios3-entrypoint to FDT for non-EFI boots

The Linux kernel can discover SMBIOS tables through two primary methods:
1. Via EFI tables, when using EFI boot;
2. Via the 'smbios3-entrypoint' property in the /chosen node of the
device tree.

When U-Boot boots a Linux kernel using a non-EFI command ("bootm",
"bootz", or "booti"), the kernel relies on the device tree to detect
the hardware. If SMBIOS tables are available in U-Boot, they should
be passed to the kernel via this device tree property.

This patch modifies boot_fdt_prepare(), to inject the SMBIOSv3 table
address into the device tree if there is a table generated by U-boot.
The "board_fdt_chosen_smbios" is weak in order to leave the possibilty
for specific boards to select custom SMBIOS addresses.

The changes in this patch are added in the context of supporting this
device tree property in linux kernel:
https://lkml.org/lkml/2025/10/24/1393

Device tree schema was updated to include the "smbios3-entrypoint" node
in pull request: https://github.com/devicetree-org/dt-schema/pull/177

Signed-off-by: Adriana Nicolae <adriana@arista.com>
boot/fdt_support.c
test/cmd/fdt.c
test/dm/fdtdec.c