From 56778d4c2787cb0eea35b5e9bb82e4782b17ff41 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 22 Nov 2025 23:17:37 +0100 Subject: [PATCH 1/6] tools/logos: Add U-Boot logo with text 'U-Boot' The logo with the text 'U-Boot' has been used in multiple presentations. Up to now it was only available from my upload to wikimedia.org. Make it available in our repository. Link: https://upload.wikimedia.org/wikipedia/commons/9/9e/U-Boot_Logo.svg Signed-off-by: Heinrich Schuchardt --- tools/logos/u-boot_logo_with_text.svg | 280 ++++++++++++++++++++++++++ 1 file changed, 280 insertions(+) create mode 100644 tools/logos/u-boot_logo_with_text.svg diff --git a/tools/logos/u-boot_logo_with_text.svg b/tools/logos/u-boot_logo_with_text.svg new file mode 100644 index 00000000000..1527e79a3a9 --- /dev/null +++ b/tools/logos/u-boot_logo_with_text.svg @@ -0,0 +1,280 @@ + + + + + + + U-Boot Logo + + + + image/svg+xml + + U-Boot Logo + + + + Heinrich Schuchardt <xypron.glpk@gmx.de> + + + May 21st, 2018 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From cb8156e9efbf2a70a9f16a4634a8d8a86801b811 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 22 Nov 2025 23:17:38 +0100 Subject: [PATCH 2/6] doc: add a page for downloading the U-Boot logo Add a page showing the logo with and without text. Signed-off-by: Heinrich Schuchardt --- doc/learn/index.rst | 1 + doc/learn/logo.rst | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 doc/learn/logo.rst diff --git a/doc/learn/index.rst b/doc/learn/index.rst index 8075c01d1df..5b139e3c9fd 100644 --- a/doc/learn/index.rst +++ b/doc/learn/index.rst @@ -6,4 +6,5 @@ Learn about U-Boot .. toctree:: :maxdepth: 1 + logo talks diff --git a/doc/learn/logo.rst b/doc/learn/logo.rst new file mode 100644 index 00000000000..66d403e4cff --- /dev/null +++ b/doc/learn/logo.rst @@ -0,0 +1,20 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +U-Boot logo +=========== + +The project uses the logos below. + +Logo with text +-------------- + +.. image:: ../../tools/logos/u-boot_logo_with_text.svg + :width: 10em + :alt: U-Boot logo with text + +Logo without text +----------------- + +.. image:: ../../tools/logos/u-boot_logo.svg + :width: 10em + :alt: U-Boot logo without text From 50cbdaba66ac0fc1bd8d915a2452c54a120f06f6 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Mon, 24 Nov 2025 16:44:06 -0600 Subject: [PATCH 3/6] doc: pytest: fix hook script environment variable names Fix the names of environment variables set for hook scripts. These have a U_BOOT_ prefix, not UBOOT_. Signed-off-by: David Lechner --- doc/develop/pytest/usage.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/develop/pytest/usage.rst b/doc/develop/pytest/usage.rst index 7335a39b963..7c42a31528f 100644 --- a/doc/develop/pytest/usage.rst +++ b/doc/develop/pytest/usage.rst @@ -315,14 +315,14 @@ Environment variables The following environment variables are set when running hook scripts: -- ``UBOOT_BOARD_TYPE`` the board type being tested. -- ``UBOOT_BOARD_IDENTITY`` the board identity being tested, or ``na`` if none +- ``U_BOOT_BOARD_TYPE`` the board type being tested. +- ``U_BOOT_BOARD_IDENTITY`` the board identity being tested, or ``na`` if none was specified. -- ``UBOOT_SOURCE_DIR`` the U-Boot source directory. -- ``UBOOT_TEST_PY_DIR`` the full path to ``test/py/`` in the source directory. -- ``UBOOT_BUILD_DIR`` the U-Boot build directory. -- ``UBOOT_RESULT_DIR`` the test result directory. -- ``UBOOT_PERSISTENT_DATA_DIR`` the test persistent data directory. +- ``U_BOOT_SOURCE_DIR`` the U-Boot source directory. +- ``U_BOOT_TEST_PY_DIR`` the full path to ``test/py/`` in the source directory. +- ``U_BOOT_BUILD_DIR`` the U-Boot build directory. +- ``U_BOOT_RESULT_DIR`` the test result directory. +- ``U_BOOT_PERSISTENT_DATA_DIR`` the test persistent data directory. u-boot-test-console ''''''''''''''''''' From 18e2a059ff3f04e21cf2f17af59d2c812cebc517 Mon Sep 17 00:00:00 2001 From: David Lechner Date: Mon, 24 Nov 2025 16:44:07 -0600 Subject: [PATCH 4/6] doc: pytest: add missing hook script env vars Add the _EXTRA variants of U_BOOT_BUILD_DIR and U_BOOT_RESULT_DIR to the list of environment variables set for hook scripts. These were added in commit 8f2a9fa7d6e7 ("test: Support testing with two board-builds") but were not documented. Signed-off-by: David Lechner --- doc/develop/pytest/usage.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/develop/pytest/usage.rst b/doc/develop/pytest/usage.rst index 7c42a31528f..df3821da20d 100644 --- a/doc/develop/pytest/usage.rst +++ b/doc/develop/pytest/usage.rst @@ -316,11 +316,13 @@ Environment variables The following environment variables are set when running hook scripts: - ``U_BOOT_BOARD_TYPE`` the board type being tested. +- ``U_BOOT_BOARD_TYPE_EXTRA`` the 2nd board type being tested, if applicable. - ``U_BOOT_BOARD_IDENTITY`` the board identity being tested, or ``na`` if none was specified. - ``U_BOOT_SOURCE_DIR`` the U-Boot source directory. - ``U_BOOT_TEST_PY_DIR`` the full path to ``test/py/`` in the source directory. - ``U_BOOT_BUILD_DIR`` the U-Boot build directory. +- ``U_BOOT_BUILD_DIR_EXTRA`` the 2nd U-Boot build directory, if applicable. - ``U_BOOT_RESULT_DIR`` the test result directory. - ``U_BOOT_PERSISTENT_DATA_DIR`` the test persistent data directory. From ad53505a4861ad7eec5c6a919ea39692d915e433 Mon Sep 17 00:00:00 2001 From: Ilias Apalodimas Date: Thu, 27 Nov 2025 14:19:06 +0200 Subject: [PATCH 5/6] efi_loader: Fix a memory leak when retrieving device paths from boot vars get_dp_device() is used to derive the device path from a boot variable. However, if the last efi_get_variable_int() call fails, we return an error without freeing 'buf'. There's no need to call efi_get_variable_int() for variables we don't know the size since we have the efi_get_var() wrapper. Replace that in the two instances we use it. The first one will also fix the memory leak. A nice sideeffect is that the code size is also reduced, since we are re-using functions instead of open coding them $~ bloat-o-meter u-boot u-boot.new add/remove: 0/0 grow/shrink: 1/2 up/down: 6/-196 (-190) Function old new delta version_string 70 76 +6 efi_launch_capsules 2288 2196 -92 get_dp_device 244 140 -104 Total: Before=1222331, After=1222141, chg -0.02% Fixes: c74cd8bd08d1 ("efi_loader: capsule: add capsule_on_disk support") Signed-off-by: Ilias Apalodimas Reviewed-by: Heinrich Schuchardt --- lib/efi_loader/efi_capsule.c | 34 +++++++--------------------------- 1 file changed, 7 insertions(+), 27 deletions(-) diff --git a/lib/efi_loader/efi_capsule.c b/lib/efi_loader/efi_capsule.c index 31b47a20186..eafc647f558 100644 --- a/lib/efi_loader/efi_capsule.c +++ b/lib/efi_loader/efi_capsule.c @@ -857,18 +857,9 @@ static efi_status_t get_dp_device(u16 *boot_var, struct efi_device_path *file_dp; efi_status_t ret; - size = 0; - ret = efi_get_variable_int(boot_var, &efi_global_variable_guid, - NULL, &size, NULL, NULL); - if (ret == EFI_BUFFER_TOO_SMALL) { - buf = malloc(size); - if (!buf) - return EFI_OUT_OF_RESOURCES; - ret = efi_get_variable_int(boot_var, &efi_global_variable_guid, - NULL, &size, buf, NULL); - } - if (ret != EFI_SUCCESS) - return ret; + buf = efi_get_var(boot_var, &efi_global_variable_guid, &size); + if (!buf) + return EFI_NOT_FOUND; efi_deserialize_load_option(&lo, buf, &size); @@ -960,22 +951,11 @@ static efi_status_t find_boot_device(void) skip: /* find active boot device in BootOrder */ - size = 0; - ret = efi_get_variable_int(u"BootOrder", &efi_global_variable_guid, - NULL, &size, NULL, NULL); - if (ret == EFI_BUFFER_TOO_SMALL) { - boot_order = malloc(size); - if (!boot_order) { - ret = EFI_OUT_OF_RESOURCES; - goto out; - } - - ret = efi_get_variable_int(u"BootOrder", - &efi_global_variable_guid, - NULL, &size, boot_order, NULL); - } - if (ret != EFI_SUCCESS) + boot_order = efi_get_var(u"BootOrder", &efi_global_variable_guid, &size); + if (!boot_order) { + ret = EFI_NOT_FOUND; goto out; + } /* check in higher order */ num = size / sizeof(u16); From e5996e3ed350598c79cd7afaf6d4f0618598e390 Mon Sep 17 00:00:00 2001 From: Francesco Dolcini Date: Fri, 5 Dec 2025 09:27:28 +0100 Subject: [PATCH 6/6] doc: board: verdin-am62p: Fix boot log output Fix boot log output not being rendered correctly, fix it doing the same as done in verdin-am62.rst. Fixes: b8c43968b801 ("board: toradex: add verdin am62p support") Signed-off-by: Francesco Dolcini --- doc/board/toradex/verdin-am62p.rst | 123 ++++++++++++++--------------- 1 file changed, 60 insertions(+), 63 deletions(-) diff --git a/doc/board/toradex/verdin-am62p.rst b/doc/board/toradex/verdin-am62p.rst index 2f3262b8d1e..cc60505a40c 100644 --- a/doc/board/toradex/verdin-am62p.rst +++ b/doc/board/toradex/verdin-am62p.rst @@ -125,72 +125,69 @@ one may also use the update U-Boot wrappers: Boot ---- -Output: +Output:: -.. code-block:: console + U-Boot SPL 2025.04-00006-g51dc98d36470 (May 12 2025 - 15:46:57 +0100) + SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)') + Changed A53 CPU frequency to 1250000000Hz (U grade) in DT + SPL initial stack usage: 17080 bytes + Trying to boot from MMC1 + Authentication passed + Authentication passed + Authentication passed + Loading Environment from nowhere... OK + init_env from device 9 not supported! + Authentication passed + Authentication passed + Starting ATF on ARM64 core... -U-Boot SPL 2025.04-00006-g51dc98d36470 (May 12 2025 - 15:46:57 +0100) -SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)') -Changed A53 CPU frequency to 1250000000Hz (U grade) in DT -SPL initial stack usage: 17080 bytes -Trying to boot from MMC1 -Authentication passed -Authentication passed -Authentication passed -Loading Environment from nowhere... OK -init_env from device 9 not supported! -Authentication passed -Authentication passed -Starting ATF on ARM64 core... + NOTICE: BL31: v2.12.0(release):v2.12.0-1106-g4301798db096 + NOTICE: BL31: Built : 10:57:58, May 9 2025 + I/TC: + I/TC: OP-TEE version: 4.6.0-18-g76d920d354df (gcc version 12.3.1 20230626 (Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35))) #4 Tue May 6 19:48:13 UTC 2025 aarch64 + I/TC: WARNING: This OP-TEE configuration might be insecure! + I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html + I/TC: Primary CPU initializing + I/TC: GIC redistributor base address not provided + I/TC: Assuming default GIC group status and modifier + I/TC: SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)') + I/TC: Activated SA2UL device + I/TC: Enabled firewalls for SA2UL TRNG device + I/TC: SA2UL TRNG initialized + I/TC: SA2UL Drivers initialized + I/TC: HUK Initialized + I/TC: Primary CPU switching to normal world boot -NOTICE: BL31: v2.12.0(release):v2.12.0-1106-g4301798db096 -NOTICE: BL31: Built : 10:57:58, May 9 2025 -I/TC: -I/TC: OP-TEE version: 4.6.0-18-g76d920d354df (gcc version 12.3.1 20230626 (Arm GNU Toolchain 12.3.Rel1 (Build arm-12.35))) #4 Tue May 6 19:48:13 UTC 2025 aarch64 -I/TC: WARNING: This OP-TEE configuration might be insecure! -I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html -I/TC: Primary CPU initializing -I/TC: GIC redistributor base address not provided -I/TC: Assuming default GIC group status and modifier -I/TC: SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)') -I/TC: Activated SA2UL device -I/TC: Enabled firewalls for SA2UL TRNG device -I/TC: SA2UL TRNG initialized -I/TC: SA2UL Drivers initialized -I/TC: HUK Initialized -I/TC: Primary CPU switching to normal world boot - -U-Boot SPL 2025.04-00006-g51dc98d36470 (May 12 2025 - 15:47:54 +0100) -SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)') -SPL initial stack usage: 1760 bytes -HW CFG: 0x00 -Trying to boot from MMC1 -Authentication passed -Authentication passed + U-Boot SPL 2025.04-00006-g51dc98d36470 (May 12 2025 - 15:47:54 +0100) + SYSFW ABI: 4.0 (firmware rev 0x000b '11.0.7--v11.00.07 (Fancy Rat)') + SPL initial stack usage: 1760 bytes + HW CFG: 0x00 + Trying to boot from MMC1 + Authentication passed + Authentication passed -U-Boot 2025.04-00006-g51dc98d36470 (May 12 2025 - 15:47:54 +0100) - -SoC: AM62PX SR1.0 HS-FS -DRAM: 2 GiB -Core: 147 devices, 31 uclasses, devicetree: separate -MMC: mmc@fa10000: 0, mmc@fa00000: 1 -Loading Environment from MMC... Reading from MMC(0)... OK -In: serial@2800000 -Out: serial@2800000 -Err: serial@2800000 -Model: Toradex 0099 Verdin AM62P Quad 2GB WB IT V1.0A -Serial#: 15664919 -Carrier: Toradex Dahlia V1.1D, Serial# 11287149 -am65_cpsw_nuss ethernet@8000000: K3 CPSW: nuss_ver: 0x6BA01903 cpsw_ver: 0x6BA81903 ale_ver: 0x00290105 Ports:2 -Setting variant to wifi -Net: -Warning: ethernet@8000000port@1 MAC addresses don't match: -Address in ROM is 58:a1:5f:b8:93:f9 -Address in environment is 00:14:2d:ef:07:17 -eth0: ethernet@8000000port@1 [PRIME]Could not get PHY for mdio@f00: addr 7 -am65_cpsw_nuss_port ethernet@8000000port@2: phy_connect() failed - -Hit any key to stop autoboot: 0 -Verdin AM62P # + U-Boot 2025.04-00006-g51dc98d36470 (May 12 2025 - 15:47:54 +0100) + + SoC: AM62PX SR1.0 HS-FS + DRAM: 2 GiB + Core: 147 devices, 31 uclasses, devicetree: separate + MMC: mmc@fa10000: 0, mmc@fa00000: 1 + Loading Environment from MMC... Reading from MMC(0)... OK + In: serial@2800000 + Out: serial@2800000 + Err: serial@2800000 + Model: Toradex 0099 Verdin AM62P Quad 2GB WB IT V1.0A + Serial#: 15664919 + Carrier: Toradex Dahlia V1.1D, Serial# 11287149 + am65_cpsw_nuss ethernet@8000000: K3 CPSW: nuss_ver: 0x6BA01903 cpsw_ver: 0x6BA81903 ale_ver: 0x00290105 Ports:2 + Setting variant to wifi + Net: + Warning: ethernet@8000000port@1 MAC addresses don't match: + Address in ROM is 58:a1:5f:b8:93:f9 + Address in environment is 00:14:2d:ef:07:17 + eth0: ethernet@8000000port@1 [PRIME]Could not get PHY for mdio@f00: addr 7 + am65_cpsw_nuss_port ethernet@8000000port@2: phy_connect() failed + Hit any key to stop autoboot: 0 + Verdin AM62P #