summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-11board: dragonboard410c: Use BOOTSTD instead of DISTRO_DEFAULTSStephan Gerhold
Reduce the environment size by using standard boot instead of distro boot. It uses faster bootdevs first by default (eMMC -> SD -> USB -> Network), so set "boot_targets" to keep the current ordering (USB -> SD -> eMMC -> Network). Perhaps this should be changed for consistency, but for now this keeps the behavior similar to before. Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Enable RTL8152 ethernetStephan Gerhold
The Geniatech DB4 V3 [1] has a RTL8152 onboard for Ethernet. I don't have one to test if that works, but the other USB Ethernet drivers work pretty much as-is, so just enable it with the assumption it will work out fine. [1]: https://www.96boards.org/product/db4/ Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Fix counter frequencyStephan Gerhold
The actual counter frequency is 19.2 MHz, not 19.0 MHz. This isn't really used so far though, since probably no one (except me) ever tried using U-Boot in EL3 where we need to program the counter frequency. Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Use dynamically allocated load addressesStephan Gerhold
The generic Qualcomm board code allocates addresses for loading the kernel, ramdisk, DT, fastboot etc. This also happens on the DB410c and already overrides these definitions defined in the default env. So let's just drop the static ones, since the dynamic ones work just fine. Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Drop unused linux_imageStephan Gerhold
This does not seem to be used anywhere. Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Drop reflash functionalityStephan Gerhold
This is broken ever since we switched to using U-Boot as first stage bootloader. Since no one seems to test this actively, let's just drop this entirely. There are other tools available for re-flashing the DB410c. Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Drop UNSTUFF_BITS() macroStephan Gerhold
This was originally taken from Linux, but at this point it's an inline function upstream and no longer a macro. Given that we just want to extract the serial number from the MMC CID, let's just inline that specifically. This is also the style used in the MMC core code within U-Boot. Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Fix BD addressStephan Gerhold
local-bd-address in the device tree needs to be formatted with the least significant byte first (i.e. little endian). We're not doing this when adding it to the DT, which means the MAC address ends up being reversed in Linux. Fix this by reversing the array before setting it in the DT. We're also flipping the wrong bit when generating the BD address. Before reversing the array, the least significant bit is in the last byte. Fixes: ff06dc240325 ("db410: alter WLAN/BT MAC address fixup") Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: dragonboard410c: Fix RAM sizeStephan Gerhold
DB410c has exactly 1 GiB of RAM. Some of it is reserved, but this is described separately in the DT. This was fixed before in commit 1d667227ea51 ("board: dragonboard410c: Fix PHYS_SDRAM_1_SIZE"), but was reintroduced when DB410c was converted to use the upstream device tree. Note that there are variants of apq8016-sbc with 2 GiB RAM (e.g. the Geniatech DB4). They need the WIP SMEM memory map parsing [1] to use the full amount of RAM. [1]: https://lore.kernel.org/u-boot/[email protected]/T/ Fixes: ed8fbd2889fc ("dts: msm8916: replace with upstream DTS") Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11mach-snapdragon: Fix EL2 boot on DragonBoard 410cStephan Gerhold
The workaround for the "PSCI bug" on DragonBoard 410c implemented in arch/arm/mach-snapdragon/include/mach/boot0.h clobbers the x0 register by storing the CurrentEL in there. When running in EL1, the mode switch sequence implemented there later clears the register again, but this is skipped when U-Boot is booted in EL2. This causes crashes in the mach-snapdragon board_fdt_blob_setup() later, because the invalid address stored in x0 gets dereferenced to check if it points to a valid DTB. We can't rely on having a valid values in the CPU registers for the first stage bootloader configuration on DB410c, and nothing would place a DTB there anyway. Skip selecting the SAVE_PREV_BL_FDT_ADDR option for the boot0 hook case to avoid crashing with the clobbered register value. Fixes: 059d526af312 ("mach-snapdragon: generalise board support") Signed-off-by: Stephan Gerhold <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11pinctrl: qcom: handle reserved rangesCaleb Connolly
Some Qualcomm boards feature reserved ranges of pins which are protected by firmware. Attempting to read or write any registers associated with these pins results the board resetting. Add support for parsing these ranges from devicetree and ensure that the pinctrl and GPIO drivers don't try to interact with these pins. Signed-off-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://lore.kernel.org/r/20250410-topic-sm8x50-pinctrl-reserved-ranges-v2-1-654488392b9a@linaro.org Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11button: make button_get_by_label() case insensitiveCaleb Connolly
This function is already doing a fuzzy match, since there are no guarantees that a given label is unique. Ignoring case makes it much easier to catch "Volume down" or "Volume Down" in board-agnostic code. Tested-by: Danila Tikhonov <[email protected]> # google-sunfish Tested-by: Jens Reidel <[email protected]> # xiaomi-davinci Reviewed-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11button: qcom-pmic: prettify and standardise button labelsCaleb Connolly
Boards using gpio-keys for volume buttons label them "Volume Down", let's match that here, and make the power button nicer too. This simplifies configuring button_cmds in a board-agnostic way. Tested-by: Danila Tikhonov <[email protected]> # google-sunfish Tested-by: Jens Reidel <[email protected]> # xiaomi-davinci Reviewed-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11doc: board/qualcomm: describe phone support and bringupCaleb Connolly
Add some documentation which attempts to describe Qualcomm smartphone support with the qcom-phone.config fragment, as well as a high level debugging guide for diagnosing U-Boot issues when UART and framebuffer are unavailable. Reviewed-by: Simon Glass <[email protected]> Tested-by: Danila Tikhonov <[email protected]> # google-sunfish Tested-by: Jens Reidel <[email protected]> # xiaomi-davinci Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11bootretry: check for bootretry variable changesCaleb Connolly
To enable more complex sequencing of the bootmenu, autoboot, and bootretry, handle changes to the bootretry variable between tries. This makes it possible to turn bootretry off (e.g. to drop to a shell) and then back on again. This makes it possible to have a persistent bootmenu (the only way to navigate U-Boot on devices like smartphones which lack a physical keyboard) by having bootcmd be defined to launch the bootmenu. This allows for menu options like enabling USB mass storage gadget to return back to the boot menu once the gadget is shut down. Reviewed-by: Tom Rini <[email protected]> Tested-by: Danila Tikhonov <[email protected]> # google-sunfish Tested-by: Jens Reidel <[email protected]> # xiaomi-davinci Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11cli_hush: support running bootcmd on boot retryCaleb Connolly
Introduce a new config option: RETRY_BOOTCMD. When enabled this causes hush shell to re-run "bootcmd" when the auto-boot counter times out. Tested-by: Danila Tikhonov <[email protected]> # google-sunfish Tested-by: Jens Reidel <[email protected]> # xiaomi-davinci Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board/qualcomm: introduce phone configCaleb Connolly
Phones don't have keyboards! Introduce a phone-specific config fragment and associated environment file to make U-Boot more useful on these devices. This allows for navigating via the buttons and enabling various USB gadget modes or displaying info about U-Boot. Reviewed-by: Simon Glass <[email protected]> Tested-by: Danila Tikhonov <[email protected]> # google-sunfish Tested-by: Jens Reidel <[email protected]> # xiaomi-davinci Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11drivers: pinctrl: Add Qualcomm SDM630/660 TLMM driverAlexey Minnekhanov
Add support for TLMM pin controller block (Top Level Mode Multiplexer) on SDM630/660 SoCs, with support for special pins. Correct pin configuration is required for working debug UART and eMMC/SD cards. SDM630 and SDM660 TLMM blocks are the same. Signed-off-by: Alexey Minnekhanov <[email protected]> Reviewed-by: Caleb Connolly <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11gpio: msm: return correct value return for special output pinsNeil Armstrong
When a special pin is output only, the current code would return 0, but if the pin is output only we can get the output value. Try to return the output value and in all the other cases return an error instead of 0. Fixes: f9bb539460d ("gpio: msm: add support for special pins") Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/20250401-topic-sm8x50-msm-gpio-special-fixes-v1-2-a1148a02bb16@linaro.org Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11gpio: msm: fix get_function return for special pinsNeil Armstrong
The get_function callback wrongly returns 0 for special pins, return the appropriate pin function by probing into the special pins data fields to find if the pin is gpio capable. Fixes: f9bb539460d ("gpio: msm: add support for special pins") Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/20250401-topic-sm8x50-msm-gpio-special-fixes-v1-1-a1148a02bb16@linaro.org Signed-off-by: Caleb Connolly <[email protected]>
2025-04-11board: phycore-imx93: env: Add common RAUC boot logicMartin Schwan
Add a common RAUC boot logic environment and make use of it in the i.MX93 environment. The RAUC boot logic is deactivated by default and can be activated by setting "doraucboot" to "1". Signed-off-by: Martin Schwan <[email protected]> Reviewed-by: Leonard Anderweit <[email protected]> Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Move bootcmd from defconfig to envLeonard Anderweit
Move the default bootcmd from the defconfig to the board environment in preparation for RAUC support. No change in functionality. Signed-off-by: Leonard Anderweit <[email protected]> Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Add option to disable bootenv.txt importPrimoz Fiser
Add support for disabling external environment import (bootenv.txt) by setting the ${no_bootenv} environment variable. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Add prepare_mcore to environmentPrimoz Fiser
Add prepare_mcore script to environment to be able to notify Linux about the state of M33 core via the kernel cmdline by appending to ${optargs}. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Add optargs to environmentPrimoz Fiser
Add the optargs variable so we can set optional arguments while booting. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: phycore-imx93: env: Move fdt and bootenv addressesPrimoz Fiser
Move the load addresses for FDTs and bootenv.txt to create space for loading OS image. Otherwise, parts of the image might get corrupted. and the following boot error will be present: ERROR: FDT image overlaps OS image (OS=80400000..832a0000) Moreover, this commit also syncs addresses with downstream PHYTEC u-boot for i.MX93 in preparation for FIT image support in the future. Signed-off-by: Primoz Fiser <[email protected]>
2025-04-11board: toradex: add Toradex SMARC iMX8MPVitor Soares
Add support for the Toradex SMARC iMX8MP. Link: https://www.toradex.com/computer-on-modules/smarc-arm-family/nxp-imx-8m-plus Link: https://www.toradex.com/products/carrier-board/smarc-development-board-kit Signed-off-by: Vitor Soares <[email protected]>
2025-04-11toradex: tdx-cfg-block: add 0096 Toradex SMARC iMX95Vitor Soares
Add PID4 0096 Toradex SMARC iMX95 Hexa 8GB WB IT to config block handling. Signed-off-by: Vitor Soares <[email protected]>
2025-04-11arm: dts: imx8mp: sync with Linux v6.15-rc1Vitor Soares
Sync imx8mp.dtsi with Linux v6.15-rc1. Signed-off-by: Vitor Soares <[email protected]>
2025-04-11efi_selftest: remove un-needed NULL checksBryan Brattlof
Because we've already returned early in the event 'handle' is NULL we don't need these extra not NULL checks. Remove them Signed-off-by: Bryan Brattlof <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-04-11doc/buildman: typo 'require'Heinrich Schuchardt
%s/require/required/ Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-11smbios: select CONFIG_BLOBLISTHeinrich Schuchardt
Since commit 53d5a221632e ("emulation: Use bloblist to hold tables") `make qemu-riscv64_smode_defconfig acpi.config && make` fails with drivers/misc/qfw_smbios.c:93:(.text.qfw_evt_write_smbios_tables+0xe): undefined reference to `bloblist_add' Build with bloblist support. Fixes: 53d5a221632e ("emulation: Use bloblist to hold tables") Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-11acpi: select CONFIG_BLOBLISTHeinrich Schuchardt
Since commit 53d5a221632e ("emulation: Use bloblist to hold tables") `make qemu-riscv64_smode_defconfig acpi.config && make` fails with qfw_acpi.c:146:(.text.evt_write_acpi_tables+0xc): undefined reference to `bloblist_add' Build with bloblist support. Fixes: 53d5a221632e ("emulation: Use bloblist to hold tables") Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-11firmware: scmi: smt: Interrupt communication enableViorel Suman
i.MX95 System Manager uses interrupt driven communication which requires the caller to set Bit[0] of channel flags to 1. When transmission completes and the previous general purpose interrupt has been processed by the other core, i.MX95 System Manager will set General Purpose Interrupt Control Register (GCR). U-Boot polls General-purpose Status (GSR) to check if the operation is finished. Signed-off-by: Viorel Suman <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Ye Li <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-04-11toradex: apalis-imx6: Fix build failure when CONFIG_VIDEO_IPUV3 is enabledRafael Beims
If CONFIG_VIDEO_IPUV3 is enabled without also having CONFIG_IMX_HDMI enabled, the build fails for the Apalis iMX6 board. Fixes: 592f4aed6db7 ("arm: imx: initial support for apalis imx6") Signed-off-by: Rafael Beims <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-04-11doc: Update authenticated capsules documentationIlias Apalodimas
Now that we moved out the capsule signature from the DTB, remove the relevant documentation. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-04-11efi_loader: Move public cert for capsules to .rodataIlias Apalodimas
commit ddf67daac39d ("efi_capsule: Move signature from DTB to .rodata") was reverted in commit 47a25e81d35c ("Revert "efi_capsule: Move signature from DTB to .rodata"") because that's what U-Boot was usually doing -- using the DT to store configuration and data. Some of the discussions can be found here [0]. (Ab)using the device tree to store random data isn't ideal though. On top of that with new features introduced over the years, keeping the certificates in the DT has proven to be problematic. One of the reasons is that platforms might send U-Boot a DTB from the previous stage loader using a transfer list which won't contain the signatures since other loaders are not aware of internal U-Boot ABIs. On top of that QEMU creates the DTB on the fly, so adding the capsule certificate there does not work and requires users to dump it and re-create it injecting the public keys. Now that we have proper memory permissions for arm64, move the certificate to .rodata and read it from there. [0] https://lore.kernel.org/u-boot/CAPnjgZ2uM=n8Qo-a=DUkx5VW5Bzp5Xy8=Wgmrw8ESqUBK00YJQ@mail.gmail.com/ Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Jonathan Humphreys <[email protected]> # on TI sk-am62p-lp Tested-by: Neil Armstrong <[email protected]> # on AML-A311D-CC Tested-by: Raymond Mao <[email protected]>
2025-04-11efi_loader: handle malloc() errorsVincent Stehlé
The new_packagelist() function of the HII Protocols implementation is calling malloc() without checking its return code; fix this. Signed-off-by: Vincent Stehlé <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-11efi_loader: Print extra information from the bootmgrIlias Apalodimas
Instead of just printing the label, add information for the Device path as well so it's easier to see if we are booting from disk, network etc Signed-off-by: Ilias Apalodimas <[email protected]>
2025-04-11efi_loader: Handle GD_FLG_SKIP_RELOCVaradarajan Narayanan
If the EFI runtime services pointers are relocated even though relocation is skipped, it corrupts some other data resulting in some unexpected behaviour. In this specific case, it overwrote some page table entries resulting in the device memory address range's mappings getting removed. Eventually, after the completion of efi_runtime_relocate(), when a driver tries to access its device's registers it crashes since the mappings are absent. Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-11efi: Fix efiboot for payloads loaded from memoryChristian Kohlschütter
Calling bootefi on an address that was loaded from memory (e.g., cramfs or SPI flash via "sf read", etc.), currently results in the EFI binary not being able to access the EFI image device path. For example, iPXE would fail with an error "EFI could not get loaded image's device path: Error 0x7f39e082 (https://ipxe.org/7f39e082)". This is due to an incomplete special-case in efi_binary_run, where a new device path was created but not used in all required places. Fix the in-memory special case, set the "bootefi_device_path" to the generated "file_path". iPXE will now boot, and report the device path as "/MemoryMapped(0x0,0xSTART,0xLEN)" Signed-off-by: Christian Kohlschütter <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-04-11cmd: fwu: Dump custom fields from mdata structureMichal Simek
The commit cb9ae40a16f0 ("tools: mkfwumdata: add logic to append vendor data to the FWU metadata") added support for adding vendor data to mdata structure but it is not visible anywhere that's why extend fwu command to dump it. Tested-by: Sughosh Ganu <[email protected]> Reviewed-by: Sughosh Ganu <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2025-04-11bootm: add support for initrd in do_bootm_efiAdriano Cordova
Pass a pointer to a memory mapped initrd and its size to efi_binary_run. The EFI stack will register an EFI_LOAD_FILE2_PROTOCOL for the next boot stage to access this initrd. Signed-off-by: Adriano Cordova <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-11efi_loader: binary_run: register an initrdAdriano Cordova
Add support to install an initrd when running an EFI binary with efi_binary_run Signed-off-by: Adriano Cordova <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-04-11efi_loader: efi_load_initrd: provide a memory mapped initrdAdriano Cordova
U-Boot can pass an initrd to subsequent boot stages via the EFI_LOAD_FILE2_PROTOCOL. The current implementation only supports this functionality via the efi boot manager: the initrd is taken from the load options of the BootCurrent variable. This commit adds support for registering a memory mapped initrd, e.g. loaded from a FIT image. For now this new method takes precedence over loading the initrd from the BootCurrent variable (if both are present) because the BootCurrent variable is not cleared on exiting the boot manager. Signed-off-by: Adriano Cordova <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-11efi: Make FDT extra space configurablePawel Kochanowski
U-Boot currently reserves only 0x3000 bytes when copying the FDT in copy_fdt(), which may not be sufficient if additional nodes (such as FMAN firmware) are added later. This patch uses the exisitng SYS_FDT_PAD to reserve space for FDT fixup instead of hardcoded value. This change prevents potential corruption when resizing FDT after EFI boot, especially when firmware like FMAN requires additional space. Signed-off-by: Gabriel Nesteruk <[email protected]> Signed-off-by: Pawel Kochanowski <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-04-11efi_loader: Install the ACPI table from the bloblistSimon Glass
When BLOBLIST_TABLES is used, the ACPI tables are not currently added to the list of EFI tables. While we don't want to create a new memory region, we do want to tell EFI about the tables. Fix this by covering this case. At some point the non-bloblist code can likely be removed. Signed-off-by: Simon Glass <[email protected]> Fixes: 3da59ee9579 ("efi_loader: Avoid mapping the ACPI tables twice") Signed-off-by: Patrick Rudolph <[email protected]>
2025-04-11board: remove capsule update support in set_dfu_alt_info()Jonathan Humphreys
Now that capsule update sets the dfu_alt_info environment variable explicitly, there is no need to support it in the set_dfu_alt_info() function. Decouple SET_DFU_ALT_INFO from EFI_CAPSULE_FIRMWARE_FIT and EFI_CAPSULE_FIRMWARE_RAW. For many boards, this was the only use of set_dfu_alt_info() so remove the function entirely. Fixes: a9e6f01a941f ("efi: Define set_dfu_alt_info() for boards with UEFI capsule update enabled") Signed-off-by: Jonathan Humphreys <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> # for board/libre-computer/* Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Wadim Egorov <[email protected]> # for
2025-04-11efi_firmware: set EFI capsule dfu_alt_info env explicitlyJonathan Humphreys
The current implementation of EFI capsule update uses set_dfu_alt_info() to set the dfu_alt_info environment variable with the settings it requires. However, set_dfu_alt_info() is doing this for all DFU operations, even those unrelated to capsule update. Thus other uses of DFU, such as DFU boot which sets its own value for the dfu_alt_info environment variable, will have that setting overwritten with the capsule update setting. Similarly, any user defined value for the dfu_alt_info environment variable would get overwritten when any DFU operation was performed, including simply performing a "dfu 0 list" command. The solution is stop using the set_dfu_alt_info() mechanism to set the dfu_alt_info environment variable and instead explicitly set it to the capsule update's setting just before performing the capsule update's DFU operation, and then restore the environment variable back to its original value. This patch implements the explicit setting and restoring of the dfu_alt_info environment variable as part of the EFI capsule update operation. The fix is fully implemented in a subsequent patch that removes the capsule update dfu_alt_info support in set_dfu_alt_info(). Signed-off-by: Jonathan Humphreys <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-11xilinx: dfu: Fill directly update_info.dfu_stringMichal Simek
Directly fill update_info.dfu_string to prepare platforms to switch from using dfu_alt_info variable to dfu_string which contains description for capsule update when switch is done. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>