summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-10-22net: Add SYS_FAULT_MII_ADDR to KconfigTom Rini
The support found under SYS_FAULT_ECHO_LINK_DOWN requires that the SYS_FAULT_MII_ADDR symbol also be set. This wasn't previously found in Kconfig, so add it now. Signed-off-by: Tom Rini <[email protected]> Acked-by: Jerome Forissier <[email protected]>
2025-10-22arm: socfpga: Tighten a few more driver dependenciesTom Rini
Some drivers which depend on SoCFPGA specific headers had not had appropriate dependencies list in Kconfig. Add ARCH_SOCFPGA or TARGET_SOCFPGA_SOC64 where appropriate. Signed-off-by: Tom Rini <[email protected]>
2025-10-22uthreads: Make use of CONFIG_IS_ENABLED consistentlyTom Rini
We do not yet support UTHREADS in xPL phases. However, we have the need to dummy out certain functions so that xPL can build when full U-Boot has UTHREADS enabled. Update the few places that need to use CONFIG_IS_ENABLED so that we have the correct dummy in xPL. Signed-off-by: Tom Rini <[email protected]> Acked-by: Jerome Forissier <[email protected]>
2025-10-22tftp: make TFTP ports unconditionally configurableAlvin Šipraga
A few lines of code being guarded by the CONFIG_TFTP_PORT option seems an unnecessary restriction on the TFTP support provided by a vanilla U-Boot image. In cases where the TFTP server cannot run as superuser - and hence cannot run on the well-known port 69 - this quirk incurs a full reconfiguration and rebuild of the bootloader only in order to select the appropriate destination port. Remove the CONFIG_TFTP_PORT option entirely and make the tftpdstp and tftpsrcp variables always have an effect. Their being unset will mean that U-Boot behaves the same as if CONFIG_TFTP_PORT was unset. Update the documentation accordingly. And fix up the single board which was originally enabling this option. Signed-off-by: Alvin Šipraga <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-10-21.mailmap: update email address for Chen-Yu TsaiChen-Yu Tsai
The email forwarder I'm using has run into severe problems with Gmail lately. Switch over to my kernel.org address. Signed-off-by: Chen-Yu Tsai <[email protected]> Acked-by: Jernej Skrabec <[email protected]>
2025-10-21env: Invert gd->env_valid for env_mmc_saveJasper Orschulko
The A/B update strategy of the env's has a gap in the first 2 calls of saveenv. The env's are stored twice on the first memory area if: gd->env_valid == ENV_INVALID. u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK <-- !!! u-boot=> saveenv Saving Environment to MMC... Writing to redundant MMC(1)... OK u-boot=> saveenv Saving Environment to MMC... Writing to MMC(1)... OK This is the same issue as resolved in commit e589d5822cac ("env: spi: Fix gd->env_valid for the first write") Signed-off-by: Michael Glembotzki <[email protected]> Signed-off-by: Jasper Orschulko <[email protected]> Signed-off-by: Michael Heimpold <[email protected]> [trini: Amend the commit message] --- Changes in v2: - Rebase to current master - Amend the commit message to reference the SPI version of this fix, which had significant follow-up discussion.
2025-10-20spl: Restore args file being default in falcon modeTom Rini
When falcon mode is enabled and SPL_OS_BOOT_SECURE is not enabled, restore the previous default behavior of having an args file be expected. Platforms which are using a FIT image here and do not need this can update at their convenience to disable this option now. Fixes: b1a3ed068869 ("spl: make args file optional in falcon mode") Signed-off-by: Tom Rini <[email protected]>
2025-10-20Merge patch series "Add support for secure falcon mode: disable args file"Tom Rini
Anshul Dalal <[email protected]> says: Continuing from the last series[1], this patch series addresses the requirement to disable the args file in falcon mode. The args file is used in falcon mode for loading the device-tree for the kernel. However in secure falcon mode, the expected payload is a FIT containing a signed device-tree and kernel image. Thus removing the need to load the extra args file in the first place. Also, loading the extra file without any authentication mechanism exposes an attack vector and should therefore be disabled to keep the boot secure. This patch set builds on the last few to first optionally allow for loading the args file in non-secure falcon boot flow [1/3] and then disable them altogether in the next patch [2/3] for secure falcon mode. [1]: https://lore.kernel.org/u-boot/[email protected]/ Link: https://lore.kernel.org/r/[email protected]
2025-10-20spl: set fdt address as spl_image arg in falcon modeAnshul Dalal
The arg field of `struct spl_image_info` is used by jump_to_image_linux as the argument for the kernel in falcon mode. Since commit 601cebc29d2a ("cmd: spl: Remove ATAG support from this command"), fdt is the only valid argument for kernel in falcon mode. However fdt was only being set as the argument in nor and xip boot modes, this patch fixes it for all boot modes and removes the now redundant code from spl_nor and spl_xip. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: prevent loading args file in secure falcon modeAnshul Dalal
The expected payload for the SPL in secure falcon mode is a fitImage that contains the kernel image and the DT. This removes the need to load an additional args file, which exposes an additional attack vector since it can not be verified. Therefore this patch disables loading of the arg file when SPL_OS_BOOT_SECURE is set. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: make args file optional in falcon modeAnshul Dalal
Falcon mode loads a kernel file and an args file which is the device-tree. However in the case of kernel file being a FIT that contains the device-tree within it, loading the args file is not required. Therefore, this patch introduces a new SPL_OS_BOOT_ARGS config options that allows us to enable or disable loading of the args file in falcon mode. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20Merge patch series "Add support for secure falcon mode: disable fallback"Tom Rini
Anshul Dalal <[email protected]> says: Continuing from the last series[1], this patch series addresses the requirement of allowing no fallbacks in secure falcon mode. To do this in a clean way, all the falcon mode logic for each boot media was refactored to a corresponding *_load_image_os function whereas the regular boot is implemented in *_load_image, this allows us to easily return early in case the *_load_image_os function fails with secure mode enabled. The series also introduces the new SPL_OS_BOOT_SECURE config symbol which enables secure falcon boot flow. The generic flow after the patch series looks as follows: static int spl_<bootmedia>_load_image(...) { if (CONFIG_IS_ENABLED(OS_BOOT)) { ret = spl_<bootmedia>_load_image_os(...); puts("Failcon mode failed\n"); if (CONFIG_IS_ENABLED(OS_BOOT_SECURE)) { puts("no fallback allowed!\n"); return ret; } puts("Falling back to U-Boot\n"); } /* Regular boot flow */ } [1]: https://lore.kernel.org/u-boot/[email protected]/ Link: https://lore.kernel.org/r/[email protected]
2025-10-20spl: falcon: disable fallback to U-Boot on failureAnshul Dalal
Instead of falling back to the standard U-Boot boot flow, we should just halt boot if the expected boot flow in falcon mode fails. This prevents a malicious actor from accessing U-Boot proper if they can cause a boot failure on falcon mode. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: nand: refactor spl_nand_load_image for falcon modeAnshul Dalal
This patch moves the falcon mode handling logic out of spl_ubi_load_image to spl_ubi_load_image_os, this allows for cleaner handling for fallback to U-Boot in case falcon mode fails. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: nor: refactor spl_nor_load_image for falcon modeAnshul Dalal
This patch moves the falcon mode handling logic out of spl_nor_load_image to spl_nor_load_image_os, this allows for cleaner handling for fallback to U-Boot in case falcon mode fails. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: spi: refactor spl_spi_load_image for falcon modeAnshul Dalal
This patch moves the falcon mode handling logic out of spl_spi_load_image to spl_spi_load_image_os, this allows for cleaner handling for fallback to U-Boot in case falcon mode fails. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: ubi: refactor spl_ubi_load_image for falcon modeAnshul Dalal
This patch moves the falcon mode handling logic out of spl_ubi_load_image to spl_ubi_load_image_os, this allows for cleaner handling for fallback to U-Boot in case falcon mode fails. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: mmc: split spl_mmc_do_fs_boot into regular/os_bootAnshul Dalal
Currently the logic to handle falcon mode as well as the regular boot is inside spl_mmc_do_fs_boot, this prevents us from cleanly extending falcon mode functionality like toggleable fallback to U-Boot proper. Therefore this patch splits the logic into spl_mmc_fs_load and spl_mmc_fs_load_os to handle the regular boot and falcon mode use case. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20spl: Kconfig: add SPL_OS_BOOT_SECURE config symbolAnshul Dalal
This patch adds the new SPL_OS_BOOT_SECURE symbol that enables secure boot flow in falcon mode. This symbol can be used to disable certain inherently insecure options during falcon boot. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2025-10-20Revert "spi: cadence-qspi: Remove cdns, is-dma property handling"Michal Simek
This reverts commit a040578d8270ed8788d7663808ea63ce5ffd7840. Based on feedback other SOCs (for example Star64) are using driver in non DMA mode which is causing issues that's why revert this patch. cdns,is-dma should be removed differently. Signed-off-by: Michal Simek <[email protected]> Reported-by: E Shattow <[email protected]>
2025-10-20Merge tag 'efi-2026-01-rc1' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2026-01-rc1 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/27944 Documentation: * samsung: Extend E850-96 documentation to be comprehensive * environment: fix links to Linux kernel documentation * sandbox: fix typos * document dmareset command * ti: j722s_evm: drop outdated boot note UEFI: * Prevent leak of memory from tmp_files * Correctly check if the HTTP protocol is found * Use ESRT_FW_TYPE_SYSTEMFIRMWARE instead of ESRT_FW_TYPE_UNKNOWN * dbginfodump: use guid definition Others: * lib/uuid: add support for efi debug image info table guid
2025-10-18doc: ti: j722s_evm: drop outdated boot notePeter Robinson
The j722s_evm support is now largely complete and is certainly not limited to UART boot so drop the confusing note from the docs. Signed-off-by: Peter Robinson <[email protected]>
2025-10-18lib: uuid: add efi debug image info table guidVincent Stehlé
Add the EFI Debug Image Info Table GUID to the translation table used by uuid_guid_get_str(). This allows to print a human readable table name with `efidebug tables' instead of "(unknown)". Signed-off-by: Vincent Stehlé <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-10-18efi_loader: dbginfodump: use guid definitionVincent Stehlé
Use the Debug Image Info Table GUID definition from efi_api.h instead or redefining it locally. Signed-off-by: Vincent Stehlé <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-10-18doc: environment: fix links to Linux kernel documentationMattia Narducci
Architecture-specific documentation in the Linux kernel was moved to the arch/ subdirectory. Signed-off-by: Mattia Narducci <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-10-18efi_loader: Use ESRT_FW_TYPE_SYSTEMFIRMWARE instead of ESRT_FW_TYPE_UNKNOWNIlias Apalodimas
We currently set the firmware image type to ESRT_FW_TYPE_UNKNOWN. The spec defines the following: ESRT_FW_TYPE_UNKNOWN 0x00000000 ESRT_FW_TYPE_SYSTEMFIRMWARE 0x00000001 ESRT_FW_TYPE_DEVICEFIRMWARE 0x00000002 ESRT_FW_TYPE_UEFIDRIVER 0x00000003 Since we don't support updating DEVICEFIRMWARE or UEFIDRIVER types, let's switch over to SYSTEMFIRMWARE which seems more appropriate. Suggested-by: Michal Simek <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-10-18doc: sandbox: fix typosLukas Zirpel
Fix two typos in the sandbox docs. Signed-off-by: Lukas Zirpel <[email protected]> Cc: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-10-18cmd/dma: documentationBrian Sune
This explains how to use the new U-Boot command 'dmareset'. Signed-off-by: Brian Sune <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-10-18efi_loader: correctly check if the HTTP protocol is foundHeinrich Schuchardt
In function efi_http_service_binding_destroy_child() phandler is created as as a local variable. If efi_search_protocol() fails, phandler will hold a random value from the stack. Even it is not zero, we must not use it. If efi_search_protocol() succeeds, the pointer has already be dereferenced, so checking against NULL makes not sense here. If ChildHandle is not a valid UEFI handle, we must return EFI_INVALID_PARAMETER. Use a single location for EFI_EXIT(). Addresses-Coverity-ID: CID 531974 (Unchecked return value) Fixes: 5753dc3f6572 ("efi_loader: Prevent dereference of uninitialised variable") Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-10-18efi_loader: Prevent leak of memory from tmp_filesAndrew Goodbody
After the malloc of tmp_files and before its value is recorded an early exit will need to free tmp_files to prevent leaking that memory. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-10-18doc: samsung: Extend E850-96 documentation to be comprehensiveSam Protsenko
Add more bootloading details for E850-96 board. New sections cover next topics: - Hardware configuration of the boot device - Flashing and updating the software (multiple methods) - Booting with Standard Boot (multiple methods) - EFI System Partition structure for E850-96 - Loadable firmware (LDFW) note - Ethernet and USB Host Support That documents all recently enabled U-Boot features for E850-96, which can hopefully make U-Boot more useful for the users and developers of this platform. Signed-off-by: Sam Protsenko <[email protected]>
2025-10-17fs: semihosting: Use correct variable for error checkAndrew Goodbody
After calling a function that can return an error, the test to detect that error should use the return value not a different variable. Fix it. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Sean Anderson <[email protected]> Fixes: f676b45151c3 ("fs: Add semihosting filesystem")
2025-10-17Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
SH HSCIF FIFO fixes, R-Car V4H/V4M DT corrections, R-Car V4H Sparrow Hawk PCIe shutdown support before booting Linux.
2025-10-18ARM: dts: renesas: Disable RPC driver on R8A779H0 V4M Gray Hawk boardNguyen Tran
As requirement of CR side, QSPI Flash usage via RPC driver shall be disabled and leaving the control of this module to CR side. Perform DT modification to disable the RPC SPI. Signed-off-by: Nguyen Tran <[email protected]> Reviewed-by: Khanh Le <[email protected]> Signed-off-by: Marek Vasut <[email protected]> [Marek: Do not modify defconfig, modify the DT instead, this way the RPC SPI can be enabled without recompiling the U-Boot itself. Update commit message accordingly.]
2025-10-18ARM: dts: renesas: Reinstate R8A779H0 V4M U-Boot DTsMarek Vasut
Commit 63da3a795e86 ("ARM: dts: renesas: Drop R8A779H0 V4M DTs with OF_UPSTREAM counterparts") removed unnecessary V4H DTs from arch/arm/dts , but in the process also incorrectly dropped the -u-boot.dtsi U-Boot extras. Reinstate those extras. Due to DT file name change for the R8A779H0 V4M Gray Hawk, update the r8a779h0-gray-hawk-u-boot.dtsi filename to newly matching r8a779h0-gray-hawk-single-u-boot.dtsi . Align r8a779h0-u-boot.dtsi with clean up commits 1487c34efa7b ("arm64: dts: renesas: Deduplicate extalr_clk bootph-all") dd8f57ed2f0b ("ARM: dts: renesas: Drop most of bootph-* tags") Fixes: 63da3a795e86 ("ARM: dts: renesas: Drop R8A779H0 V4M DTs with OF_UPSTREAM counterparts") Signed-off-by: Marek Vasut <[email protected]>
2025-10-18ARM: dts: renesas: Disable R8A779G0 V4H White Hawk RPC SPI DT node againMarek Vasut
Commit 3faeb78378ea ("ARM: dts: renesas: Minimize R8A779G0 V4H RPC SPI DT node") incorrectly re-enabled the RPC SPI DT node, which was disabled in commit 13bdb6a26910 ("ARM: dts: renesas: Disable RPC driver on R8A779G0 V4H White Hawk board") Reinstate the disablement. Fixes: 3faeb78378ea ("ARM: dts: renesas: Minimize R8A779G0 V4H RPC SPI DT node") Signed-off-by: Marek Vasut <[email protected]>
2025-10-17serial: sh: Handle HSCIF RX FIFO overflowMarek Vasut
The HSCIF RX FIFO may overflow when data are streaming from remote end into the HSCIF while U-Boot is still starting up. In that case, HSFSR bit RDF is set, but HSFDR field R is zero. This confuses .tstc callback into considering RX FIFO to be empty, which leads to .getc to be never invoked, even when user attempts to pass more input onto the command line. Fix this by considering the RDF flag in serial_rx_fifo_level(), which is called from .tstc in case of no errors. If RDF flag is set, trigger the .getc callback and let it clear the RX FIFO. Signed-off-by: Marek Vasut <[email protected]>
2025-10-17arm64: renesas: r8a779g3: Reset PCIe before next stage on Retronix R-Car V4H ↵Marek Vasut
Sparrow Hawk Fully reset both PCIe controllers before booting the next stage on Retronix R-Car V4H Sparrow Hawk board. This is necessary especially in case U-Boot brought up the PCIe controllers, at which point the next stage might be confused by the state of the PCIe controller. The reset has to happen this late and not in the PCIe controller driver, because the SRCR11 bits seem to affect both controllers. Signed-off-by: Marek Vasut <[email protected]>
2025-10-17pci: pcie-rcar-gen4: Shut down controller on link down and removeMarek Vasut
In case the link is down, or the controller driver is removed before booting the next stage, shut down the PCIe link, put both the remote PCIe device and the controller into reset, and disable clock. This way, the hardware is not left active when not in use. Signed-off-by: Marek Vasut <[email protected]>
2025-10-17.gitignore: ignore more image filesYegor Yefremov
This expression covers various images files like, for example: mkimage-out.spl-stm32.mkimage mkimage.spl-stm32.mkimage Signed-off-by: Yegor Yefremov <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-10-17Merge patch series "led: fixes"Tom Rini
Patrice Chotard <[email protected]> says: - Update led_get_by_label() - Fix led Kconfig Link: https://lore.kernel.org/r/[email protected]
2025-10-17led: Add LED dependency for LED_ACTIVITY and LED_BOOTPatrice Chotard
Add LED dependency for LED_ACTIVITY and LED_BOOT. Signed-off-by: Patrice Chotard <[email protected]> Cc: Yegor Yefremov <[email protected]> Reviewed-by: Yegor Yefremov <[email protected]>
2025-10-17led: Update led_get_by_label()Patrice Chotard
During led_init() execution, led_get_label() returns either the label property (which is an obsolete property [1]) or the LED's node name. It can't be the function name as dev parameter is NULL. Later, during led_post_bind() execution, for the same LED, the attributed label by led_get_label() can be the function name, as led_get_label() dev's parameter is set. During call sequence led_boot_on() => led_boot_get() => led_get_by_label() with label given in parameter (priv->boot_led_label which is either the label or node's name set previously in led_init()) can be different to to uc_plat->label and returns -ENODEV. Update led_get_by_label() to allow to retrieve LED also by its node name. [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml Signed-off-by: Patrice Chotard <[email protected]> Cc: Yegor Yefremov <[email protected]>
2025-10-17ARM: dts: sam9x60ek: select PIT as tick-timerDharma Balasubiramani
U-Boot currently enables the UPLL during boot, which triggers a udelay() call that depends on the system tick timer. Since no explicit tick source is defined in the device tree, boot stalls on this board. Define the "tick-timer" property under /chosen and point it to the PIT node, ensuring U-Boot uses the PIT as the tick source. Fixes: ac30d90f3367 ("clk: Ensure the parent clocks are enabled while reparenting") Signed-off-by: Dharma Balasubiramani <[email protected]>
2025-10-17clk: at91: remove default values for PMC_PLL_ACRManikandan Muralidharan
Remove default values for PMC PLL Analog Control Register(ACR) as the values are specific for each SoC and PLL, so load them from PLL characteristics structure Signed-off-by: Manikandan Muralidharan <[email protected]> Signed-off-by: Varshini Rajendran <[email protected]>
2025-10-17clk: at91: Add ACR in all PLL setting.Manikandan Muralidharan
Add ACR in all PLL setting. Add correct ACR value for each PLL used in different SoCs. Signed-off-by: Manikandan Muralidharan <[email protected]> Signed-off-by: Varshini Rajendran <[email protected]>
2025-10-16test/py: Update to a newer pytest releaseTom Rini
Our pytest package was pinned to a release from 2021. The minimum compatible with labgrid v25.0.x is pytest 7.0.0. Update to the current relase which is currently 8.4.2 Signed-off-by: Tom Rini <[email protected]>
2025-10-16test: uninstall PK after secboot testsHeinrich Schuchardt
The EFI secure boot tests install a security data base. Other EFI tests assume that secure boot is not enabled. Add the missing tear-down at the end of each secboot test sequence. Reported-by: Tom Rini <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Tested-by: Tom Rini <[email protected]>
2025-10-16virito: blk: fix logic to determine block sizesHeinrich Schuchardt
With commit c85b8071e7d3 ("virtio: blk: support block sizes exceeding 512 bytes") logic was added to detect the VIRTIO_BLK_F_BLK_SIZE capability and to copy the block size reported by QEMU to the block device descriptor. The logical block size can be set when invoking QEMU: -drive if=none,file=4096.img,format=raw,id=vda \ -device virtio-blk-device,drive=vda,physical_block_size=4096,logical_block_size=4096 In U-Boot the logical block size is shown by command `virtio info`: => virtio info Device 0: QEMU VirtIO Block Device Type: Hard Disk Capacity: 1024.0 MB = 1.0 GB (262144 x 4096) There where two flaws which together hid that the logic was incorrect: * VIRTIO_BLK_F_BLK_SIZE was missing in the driver capabilities and the bit was filtered out. * The result of the call to virtio_has_feature() was negated. The problem became apparent when using ARM FVP as emulator which does not set VIRTIO_BLK_F_BLK_SIZE. Fixes: c85b8071e7d3 ("virtio: blk: support block sizes exceeding 512 bytes") Reported-by: Debbie Horsfall <[email protected]> Tested-by: Andre Przywara <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-10-16ci: rename conf.qemu_arm64_na to conf.qemu_arm64Raymond Mao
The test-hooks config file has been renamed by [1], thus update the name where it is used by the script. [1] https://lore.kernel.org/u-boot/[email protected]/ Signed-off-by: Raymond Mao <[email protected]>