summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
3 daysCI: Sage: Drop rpi_arm64 lwIP variantsHEADmasterTom Rini
With commit 17ceb774a185 ("rpi_arm64: Enable MBEDTLS/LWIP/WGET and WGET_HTTPS"), we can drop the tests for switching from the legacy stack to lwIP. Signed-off-by: Tom Rini <[email protected]>
3 daysMerge tag 'rpi-2026.07-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi Updates for RPi for 2026.07-rc4: - mmc: bcmstb: Fix non-removable check in bcm2712 init - mmc: bcm2835_sdhci: Parse generic MMC device tree properties - rpi_arm64: Enable MBEDTLS/LWIP/WGET and WGET_HTTPS - video: arm: rpi: Add brcm,bcm2712-hdmi0 compatible
4 daysmmc: bcmstb: Fix non-removable check in bcm2712 initJan Čermák
sdhci_brcmstb_init_2712() reads host->mmc->host_caps to decide whether to force card-detect for a non-removable eMMC, or to route the CD signal for a removable SD card. At the time this function runs from sdhci_bcmstb_probe(), however, host->mmc->host_caps is still zero, that field is only populated later by the MMC uclass, after the driver's probe returns. mmc_of_parse() has already filled plat->cfg.host_caps from the device tree by this point, so check that field instead. Without the fix, every BCM2712 SDHCI instance takes the else branch and writes SDIO_CFG_SD_PIN_SEL = SDIO_CFG_SD_PIN_SEL_CARD (0x02), including the non-removable eMMC on boards such as CM5 on Home Assistant Yellow. The SDIO_CFG block lies outside the SDHCI core's reset scope, so this value persists across SDHCI_RESET_ALL into the next stage. On the BCM2712, having SD_PIN_SEL set to "SD" when the Linux kernel performs its first set_power(MMC_POWER_UP) write racily prevents the SDHCI POWER_ON bit from latching (see [1] for the whole backstory) - the voltage bits stick but POWER_ON drops - which wedges the first CMD0 the full 10 s software timeout. On Home Assistant Yellow this manifested as a ~20 s eMMC probe delay on roughly one in two Linux boots when U-Boot was the previous stage. Booting directly from the Pi firmware (no U-Boot in between) left SD_PIN_SEL at its default and did not exhibit the race. Reading plat->cfg.host_caps lets init_2712 see the "non-removable" property and take the correct branch, leaving SD_PIN_SEL untouched for the eMMC. [1] https://github.com/home-assistant/operating-system/pull/3700#issuecomment-4430229511 Fixes: 10127cdbab64 ("mmc: bcmstb: Add support for bcm2712 SD controller") Signed-off-by: Jan Čermák <[email protected]> Reviewed-by: Ivan T. Ivanov <[email protected]>
6 daysMerge tag 'u-boot-stm32-20260526' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/30256 - Add support dynamic A/B bank bootup for STM32MP15 - Increase SYS_MALLOC_F_LEN for stm32mp15_defconfig to fix boot with optee-4.10.0 - Enable Arm SMC watchdog for STM32MP1 - Update part number for TM32MP251/3 SoC's family
6 daysstm32mp2: update part number for STM32MP251/3Patrice Chotard
update part number for STM32MP251/3 for last cut revision. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
6 daysARM: dts: stm32: enable SMC watchdog for STM32MP15 SCMI configYann Gautier
For this configuration, the watchdog (iwdg1) is secured and managed by OP-TEE. Add an watchdog node with arm,smc-wdt compatible, and disable iwdg2 node which is then no more used. Signed-off-by: Yann Gautier <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
6 daysconfigs: stm32mp13: activate watchdogYann Gautier
No watchdog was enabled for STM32MP13 platform. Add the required flags to support it. As done for STM32MP15 (in SCMI config) and STM32MP2x, we use the Arm SMC watchdog. The required nodes were already present in Linux imported DT files (stm32mp13.dtsi & stm32mp135f-dk.dts). To enable this SMC watchdog on other platforms based on STM32MP13, check that both the following flags are enabled in the dedicated config file: CONFIG_WDT=y CONFIG_WDT_ARM_SMC=y And that there is a node in Linux board DT that enables the feature, as it is done in stm32mp135f-dk.dts: &arm_wdt { timeout-sec = <32>; status = "okay"; }; Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Yann Gautier <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
6 daysconfigs: stm32mp15: enable WDT_ARM_SMC driverLionel Debieve
Enable the arm watchdog over SMC driver. This allows using a secure watchdog, based on IWDG1 peripheral and managed by OP-TEE. The driver will be probed if a watchdog node with "arm,smc-wdt" compatible is enabled. Signed-off-by: Lionel Debieve <[email protected]> Signed-off-by: Yann Gautier <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
6 daysconfigs: stm32mp15: Increase SYS_MALLOC_F_LENPatrice Chotard
Using stm32mp15_defconfig with stm32mp157c-dk2-scmi.dtsi device tree with optee-4.10.0, we got: U-Boot 2026.07-rc2-00052-g215496fec59b (May 18 2026 - 15:05:34 +0200) CPU: STM32MP157CAC Rev.B Model: STMicroelectronics STM32MP157C-DK2 SCMI Discovery Board Board: stm32mp1 in trusted mode (st,stm32mp157c-dk2-scmi) alloc space exhausted ptr 80060 limit 80000 optee optee: PTA_BSEC invoke failed TEE err: 0, err:fffffff4 alloc space exhausted ptr 80040 limit 80000 alloc space exhausted ptr 80020 limit 80000 DRAM: alloc space exhausted ptr 80040 limit 80000 RAM init failed: -12 initcall_run_f(): initcall dram_init() failed CONFIG_SYS_MALLOC_F_LEN need to be increased to fix this issue Reported-by: Yann Gautier <[email protected]> Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
6 daysboard: st: factorize STM32MP FWU multi-bank supportDario Binacchi
Factorize FWU multi-bank support code common to STM32MP1 and STM32MP2 platforms into a dedicated shared source file. No functional change intended. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
6 daysboard: st: stm32mp15: support dynamic A/B bank bootupDario Binacchi
Following commit 4300f9f4c5d7 ("board: st: stm32mp25: support dynamic A/B bank bootup"), this patch enables automatic detection of the active A/B bank on STM32MP15 platforms by retrieving partition GUIDs from FWU metadata. This ensures the system correctly identifies the bootable partitions even in multi-bank scenarios, falling back to a standard bootable flag scan if the UUIDs are missing. To enable A/B bank bootup on STM32MP15 boards, add the following Kconfig options to the stm32mp15[_basic]_defconfig: CONFIG_FWU_MULTI_BANK_UPDATE=y CONFIG_FWU_MDATA=y CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=3 CONFIG_CMD_FWU_METADATA=y CONFIG_FWU_MDATA_V2=y Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
6 daysmmc: bcm2835_sdhci: Parse generic MMC device tree propertiesLiel Harel
The bcm2835 SDHCI driver sets up the MMC host configuration via sdhci_setup_cfg(), but does not parse generic MMC device tree properties. As a result, properties such as bus-width are ignored. On Raspberry Pi Compute Module 4, the eMMC node describes an 8-bit bus, but U-Boot initialized the device as 4-bit. Call mmc_of_parse() before sdhci_setup_cfg() so that generic MMC properties are folded into the host configuration before the MMC core selects the bus width. Before this change, mmc info reported: Bus Speed: 52000000 Bus Width: 4-bit After this change, mmc info reports: Bus Speed: 52000000 Bus Width: 8-bit Tested on Raspberry Pi Compute Module 4 with onboard eMMC. Signed-off-by: Liel Harel <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Tested-by: Peter Robinson <[email protected]> # on the CM4 as well
6 daysrpi_arm64: Enable MBEDTLS/LWIP/WGET and WGET_HTTPSPeter Robinson
Enable LWIP and HTTPS on the Raspberry Pi arm64 platform to be able to use it in the boot process. Signed-off-by: Peter Robinson <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
6 daysvideo: arm: rpi: Add brcm,bcm2712-hdmi0 compatiblePeter Robinson
The 'brcm,bcm2712-hdmi0' compatible string is used on RPi5. There appears to be no change that impacts early boot output on the display controller so add the RPi5 compatible string. Signed-off-by: Peter Robinson <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
7 daysPrepare v2026.07-rc3v2026.07-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
7 daysMakefile: binman: Search board directory before srctreeWadim Egorov
A file like rm-cfg.yaml accidentally left in the source tree root shadows the board-specific copy. binman builds the wrong YAML, the resulting rm-cfg.bin may match a different SoC, and we end up with the following error: k3_system_controller sysctrler: k3_sysctrler_start: Boot Notification response failed. ret = -110 Move the board directory ahead of the srctree root so that the most-specific match wins. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Simon Glass <[email protected]>
7 daysMerge tag 'xilinx-for-v2026.07-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx/FPGA changes for v2026.07-rc3 versal/fpga: - Fix unaligned buffer handling versal2: - Fix buffer overflow in SOC name array
7 daysconfigs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
7 daysglobal: Update URL for U-Boot projectTom Rini
Our official domain is now u-boot-project.org, so update all in-tree references to use the correct domain. Reviewed-by: Tony Dinh <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Signed-off-by: Tom Rini <[email protected]>
7 daysMerge patch series "Fix speculative access to firewalled regions on AM62 SoCs"Tom Rini
Anshul Dalal <[email protected]> says: This patch series fixes firewall exceptions observed on AM62 family of devices due to speculative accesses made by the A53 core to secure DDR regions. Link: https://lore.kernel.org/r/[email protected]
7 daysmach-k3: enable mmu after reserved memory is unmappedAnshul Dalal
Currently the sequence to enable caches for the A53/A72 core on K3 devices looks as follows: 1. Map entire DDR banks 2. Setup page tables (done by mmu_setup) 3. Enable MMU 4. Unmap reserved-memory regions 5. Enable caches However there is a brief period of execution between #3 and #4 where the core can issue speculative accesses to the entire DDR space (including the reserved-memory regions) despite the caches being disabled. A firewall exception is triggered whenever such speculative access is made to secure DDR region of TFA or OP-TEE. This patch fixes the issue by re-ordering the sequence as follows: 1. Map entire DDR banks 2. Setup page tables 3. Unmap reserved-memory regions 4. Enable MMU 5. Enable caches Fixes: f1c694b8fdde ("mach-k3: map all banks using mem_map_from_dram_banks") Reported-by: Suhaas Joshi <[email protected]> Signed-off-by: Anshul Dalal <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
7 daysarm: armv8: mmu: move mmu enablement out of mmu_setupAnshul Dalal
Currently mmu_setup for ARMv8 performs two functions, first it sets up the page tables based the memory map provided by the board and then it enables the MMU. However for some platforms runtime fixes to the generated page tables are required before the MMU can be enabled, such as K3 family of SoCs. Therefore this patch moves the enablement of the MMU out of mmu_setup and to a standalone mmu_enable function to give more granular control to the platforms. Note that no functional changes are intended from this patch. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
7 daysam57xx: restore bootm_size for ARMv7 HighMem constraintMoteen Shah
babae80169d removed bootm_size from ti_common.env to allow K3 boards to process images larger than 256MB, but preserved it in ti_armv7_keystone2.env for ARMv7 Keystone2 boards. AM57xx (also ARMv7) was not covered by that preservation. Without bootm_size, env_get_bootm_size() falls back to gd->ram_size, causing initrd_high to be computed as the top of all RAM. On ARM32 boards with more RAM than the DMA zone (e.g. AM572x IDK with 2GiB), this places the ramdisk above 0xafe00000 (HighMem), which is not directly accessible by the kernel after MMU setup, causing a silent crash. With bootm_size=0x10000000, initrd_high is constrained to 0x80000000 + 0x10000000 = 0x90000000, keeping the ramdisk in the DMA zone and allowing the kernel to access it correctly. Fixes: babae80169dd ("include: env: ti_common: remove bootm_size") Reviewed-by: Neha Malcom Francis <[email protected]> Signed-off-by: Moteen Shah <[email protected]>
7 daysarm64: versal2: Fix buffer overflow in soc_name_decodeFrancois Berder
The size of name buffer was not computed correctly. The suffix format is "--rel.-el" (9 chars instead of 6), and the longest platform name is "emu-mmd" (7 chars instead of 4). Fix comment and name size. Fixes: 40f5046c221a ("arm64: versal2: Add support for AMD Versal Gen 2") Signed-off-by: Francois Berder <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/BESP194MB280513B376D54A815F3FD507DA0E2@BESP194MB2805.EURP194.PROD.OUTLOOK.COM
7 daysfpga: versalpl: Fix unaligned buffer handlingPranav Tilak
When fpga load is called with a misaligned buffer address, the versal_align_dma_buffer() function shifts the pointer forward to the next aligned boundary and uses memcpy() to copy the data. Since the destination is ahead of the source and the regions overlap, memcpy() produces undefined behavior; in practice U-Boot's generic memcpy() copies forward, repeating the first ARCH_DMA_MINALIGN-aligned chunk throughout the buffer. Replace memcpy() with memmove() which correctly handles overlapping regions by copying backwards when the destination is ahead of the source. Fixes: 26e054c943a7 ("arm64: versal: fpga: Add PL bit stream load support") Signed-off-by: Pranav Tilak <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
10 daysMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
This is Renesas R-Car X5H support for U-Boot on its RSIP Cortex-M33 core in addition to already support U-Boot on Cortex-A720AE core. The first two patches also switch X5H to OF_UPSTREAM.
11 daysarm: renesas: Add Renesas R-Car R8A78000 X5H Cortex-M33 RSIP portMarek Vasut
Add support for building U-Boot for Cortex-M33 RSIP core in Renesas R-Car Gen5 R8A78000 X5H SoC. The main goal is to start U-Boot on the Cortex-M33 RSIP core, which initializes the hardware and then starts the Cortex-M33 SCP and Cortex-A720 cores which run the SCP firmware and applications software respectively. The SCP is responsible for platform resource management, and is used to start other CPU cores. The Cortex-M33 build contains its own r8a78000_ironhide_cm33_defconfig which configures the build for aarch32 instruction set compatible with the ARMv8M core. The build also uses -cm33 DT and -u-boot.dtsi which are derived from their non-CM33 counterparts, and add CM33 specifics. The arch/arm/mach-renesas/u-boot-rsip.lds is derived from generic arch/arm/cpu/u-boot.lds with adjustments to cater to the RSIP core, those are entrypoint before vectors, __data_start/__data_end symbols for data-only relocation, and placement of BSS into read-write SRAM area. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm: renesas: Generate u-boot-elf.shdr for R-Car Gen5 RSIPMarek Vasut
Add target to generate u-boot-elf.shdr for R-Car Gen5 Cortex-M33 RSIP core. The resulting .shdr SREC file can be written into the HF at offset 0. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm: renesas: Generate u-boot-elf.scif for R-Car Gen5 RSIPMarek Vasut
Add target to generate u-boot-elf.scif for R-Car Gen5 Cortex-M33 RSIP core. The resulting .scif SREC file can be loaded using the SCIF loader to start U-Boot on the RSIP core. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: dts: renesas: Update reset IDs on R-Car Gen5 R8A78000 X5HMarek Vasut
The current DT reset ID encoding in R-Car Gen5 R8A78000 X5H U-Boot DTs is inherited from downstream BSP. New reset bindings for this SoC are now submitted and under review [1]. Replace the DT reset IDs with the ones used in the new bindings. [1] https://lore.kernel.org/all/053c312d07445517d8f9c84bfe3cc8fb72d4cd9a.1776793163.git.geert+renesas@glider.be/ Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: dts: renesas: Switch to remap drivers on R-Car Gen5 R8A78000 X5HMarek Vasut
Point every direct user of SCMI clock protocol at CPG node instead of SCMI clock protocol node. Point every direct user of SCMI reset and power domain protocol at a matching newly introduced MDLC node instead of the SCMI reset and power domain protocol nodes. This allows the CPG and MDLC remap drivers bound to CPG node and MDLC nodes to remap between DT clock, reset and power domain IDs and SCMI clock, reset and power domain IDs. This makes U-Boot on R-Car X5H compatible with multiple SCP firmware versions. Currently supported versions of SCP firmware are 4.28, 4.31 and 4.32. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: renesas: Select R-Car Gen5 R8A78000 X5H MDLC power domain and reset ↵Marek Vasut
driver Select the R8A78000 power domain and reset driver on R-Car Gen5 X5H SoC by default. The power domain and reset driver is used to remap DT power domain and reset IDs to SCMI power domain and reset IDs, which is necessary to support multiple SCP firmware versions with varying SCMI clock IDs across versions. Signed-off-by: Marek Vasut <[email protected]>
11 dayspower: domain: Add Renesas R-Car R8A78000 X5H MDLC power domain and reset driverMarek Vasut
Add Renesas R-Car R8A78000 X5H MDLC power domain and reset driver, which serves as a remap driver between DT power domain and reset IDs and SCMI power domain and reset IDs in case U-Boot runs on Cortex-A, and as a direct hardware access driver for RSIP. The R-Car X5H SCP firmware uses different SCMI power domain and reset IDs in different versions of the SCP firmware, which makes this remapping necessary. The SCMI base protocol version is updated for each new SCP firmware version, it is therefore possible to determine which SCP firmware version is running on the platform from the base protocol and then determine which remapping table to use for DT power domain and reset ID to SCMI power domain and reset ID remapping. Currently supported versions are SCP 4.28, 4.31, 4.32 . The DT power domain and reset ID to SCMI power domain and reset ID remap and call mechanism is simple. Unlike SCMI clock protocol driver, the SCMI reset and power domain protocol drivers register only a single device. This driver looks up that single device, obtains its reset or power domain ops, sets up struct reset_ctl or struct power_domain with remapped SCMI ID, and invokes operations directly on the device. In case of RSIP, all power domains are already enabled by BootROM or early SoC initialization code, the driver therefore only acts as a stub for the power domain part. The reset part operates as a direct hardware access reset driver. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: renesas: Select R-Car Gen5 R8A78000 X5H CPG clock driverMarek Vasut
Select the R8A78000 clock driver on R-Car Gen5 X5H SoC by default. The clock driver is used to remap DT clock IDs to SCMI clock IDs, which is necessary to support multiple SCP firmware versions with varying SCMI clock IDs across versions. Signed-off-by: Marek Vasut <[email protected]>
11 daysclk: renesas: Add Renesas R-Car R8A78000 X5H CPG clock driverMarek Vasut
Add Renesas R-Car R8A78000 X5H CPG clock driver, which serves as a remap driver between DT clock IDs and SCMI clock IDs in case U-Boot runs on the Cortex-A, and as a trivial clock driver for RSIP. The R-Car X5H SCP firmware uses different SCMI clock IDs in different versions of the SCP firmware, which makes this remapping necessary. The SCMI base protocol version is updated for each new SCP firmware version, it is therefore possible to determine which SCP firmware version is running on the platform from the base protocol and then determine which remapping table to use for DT clock ID to SCMI clock ID remapping. Currently supported versions are SCP 4.28, 4.31, 4.32 . The DT clock ID to SCMI clock ID remap and call mechanism is a bit complex. The driver looks up the SCMI clock protocol device on probe and stores pointer to it in private data. On each clock request which has to be remapped, the device sequence ID of this SCMI clock protocol device is incremented by the remapped SCMI clock ID + 1 and used to look up matching clock device by sequence number. If the device is found, it is converted to clock, which can be used in regular clock operations. This look up has to be done because the SCMI clock driver registers a subdevice for each clock, and this look up is the only way to find the correct SCMI clock subdevice. Since the SCMI device and the clock subdevices are registered in the same function, we can depend on the device sequence numbers to be monotonically incrementing, with SCMI clock protocol device being sequence number N, the first SCMI clock subdevice being sequence number N+1 and so on. In case of RSIP, all clocks are already enabled by BootROM or early SoC initialization code, the driver therefore only acts as a stub. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: renesas: Select HSCIF for DEBUG UART on R-Car Gen5 R8A78000 X5HMarek Vasut
The R-Car Gen5 R8A78000 X5H uses HSCIF as default serial console interface. Select CFG_HSCIF to make debug UART code also configure serial console interface as HSCIF instead of SCIF in case the CONFIG_DEBUG_UART would be enabled. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: dts: renesas: Use SCP_CLOCK_ID_CLK_S0D6_PERE_MAIN on R-Car X5HMarek Vasut
Use macro SCP_CLOCK_ID_CLK_S0D6_PERE_MAIN for SCMI clock 1691 instead of hardcoding the number in DT. No functional change. Signed-off-by: Marek Vasut <[email protected]>
11 daysarm64: dts: renesas: Switch to upstream DT on Renesas R-Car X5H R8A78000Marek Vasut
Enable OF_UPSTREAM to use upstream Linux kernel DT source as a base for U-Boot control DT. Retain currently present parts of the DT which are not yet part of upstream Linux kernel DT in -u-boot.dtsi files until they get replaced by upstream equivalents. Add renesas/ prefix to the DEFAULT_DEVICE_TREE as part of the switch. Unused i2c2..i2c8 nodes have been removed, and will become available once upstream Linux kernel DT adds those nodes. The DRAM_RSV_SIZE has been updated to cover first 518 MiB of DRAM, which are reserved for firmware and other use. Note that all DT parts in -u-boot.dtsi are not considered stable DT bindings and may change before they land in Linux kernel and become stable DT ABI. Signed-off-by: Marek Vasut <[email protected]>
11 daysMerge tag 'u-boot-dfu-20260521' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20260521 CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/30195 Usb Gadget: * f_acm: Fix memory leak in acm_add() * atmel: Fix gadget support on bus reset
11 daysMerge tag 'u-boot-nvme-fixes-20260521' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ufs - Add myself as Maintainer of NVMe - fix command ID wraparound handling - apple: Check memalign return value - Staticize and constify driver ops - Fix PRP list pointer arithmetic for chained transfers
12 daysusb: gadget: atmel: do not disable endpoints in reset_all_endpoints()Zixun LI
Endpoints should not be disabled on bus reset inside UDC driver, otherwise a race condition will happen between gadget driver. Gadget driver will free the requests and disable endpoints in disconnect ops. Also remove outdated comment about it in usba_ep_disable(). Signed-off-by: Zixun LI <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Fixes: 59310d1ecb9f ("usb: gadget: introduce 'enabled' flag in struct usb_ep") Link: https://patch.msgid.link/[email protected] [mkorpershoek: removed empty newline between Fixes: and sob] Signed-off-by: Mattijs Korpershoek <[email protected]>
13 daysnvme: Fix PRP list pointer arithmetic for chained transfersPrashant Kamble
The PRP setup code advances prp_pool using u64 pointer arithmetic: prp_pool += page_size; This increments the pointer by page_size * sizeof(u64) bytes instead of page_size bytes, resulting in invalid PRP list addresses when multiple PRP list pages are required. The issue becomes visible for large transfers, typically above 2 MiB when MDTS > 9. Fix it by using byte-wise pointer arithmetic when advancing to the next PRP list page. Signed-off-by: Prashant Kamble <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
13 daysnvme: Staticize and constify driver opsMarek Vasut
Set the ops structure as static const. The structure is not accessible from outside of this driver and is not going to be modified at runtime. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
13 daysnvme: apple: Check memalign return valueFrancois Berder
memalign returns NULL if it fails. This commit ensures that we handle this failure before filling the buffer with 0s. Signed-off-by: Francois Berder <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/BESP194MB280542535B098A33C8A815EEDA3A2@BESP194MB2805.EURP194.PROD.OUTLOOK.COM Signed-off-by: Neil Armstrong <[email protected]>
13 daysnvme: fix command ID wraparound handlingPrashant Kamble
nvme_get_cmd_id() returns 0 after cmdid reaches USHRT_MAX, but fails to reset cmdid itself. As a result, all subsequent calls keep returning 0 indefinitely. Reset cmdid when wraparound occurs so command IDs continue incrementing correctly. Signed-off-by: Prashant Kamble <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
13 daysMAINTAINERS: Add myself to the list of NVMe maintainersNeil Armstrong
Adding myself to continue Bin's work to help maintain the NVMe support in U-boot. Acked-by: Tom Rini <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2026-05-18Merge tag 'efi-2026-07-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2026-07-rc3 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/30152 Documentation: * For reset command describe when the -edl option is available and fix a typo. UEFI: * If efi_allocate_pages() is with EFI_ALLOCATE_ADDRESS fails, return EFI_NOT_FOUND. * Fix HII keyboard layout pointer computation and extend HII keyboard layout tests. Others: * In reset command online help show -edl option only when enabled.
2026-05-18Merge tag 'ubi-updates-for-2026.07-rc3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-ubi UBI updates for 2026.07-rc3 Fix from Peter: - fs: ubifs: remove dead code Fixes: d5888d509cc4 ("fs: ubifs: fix bugs involving symlinks in ubifs_findfile") (hs. correct the commit ID)
2026-05-18fs: ubifs: remove dead codePeter Collingbourne
This code is dead because it appears after an infinite loop; remove it. Fixes: d5888d509cc4 ("fs: ubifs: fix bugs involving symlinks in ubifs_findfile") Signed-off-by: Peter Collingbourne <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> hs: corrected the commit ID
2026-05-18efi_selftest: test hii keyboard layouts moreVincent Stehlé
The HII database test for keyboard layouts register two package lists with two keyboard layouts each, but the test verifies only the GUID of the first keyboard layout. This does not catch the bugs happening with the keyboard layouts after the first one in a package. Verify all the keyboard layout GUIDs in the unit test to prevent this. Signed-off-by: Vincent Stehlé <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Ilias Apalodimas <[email protected]> Cc: Tom Rini <[email protected]>