summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-04-27drivers: clk: qcom: sc7280: Add USB3 PHY pipe clockBalaji Selvanathan
Add support for GCC_USB3_PRIM_PHY_PIPE_CLK which is required by the USB3 PHY on SC7280/QCM6490 platforms. Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27mach-snapdragon: allocate memory for DT overlaysAntony Kurniawan Soemardi
Allocate a 1 MiB LMB region for fdtoverlay_addr_r when CONFIG_OF_LIBFDT_OVERLAY is enabled, allowing runtime application of DT overlays on Snapdragon platforms. This is useful for Android-based boot flows where the final DT passed to the kernel must contain modified /firmware/android/fstab entries. One use case is redirecting system and vendor partitions to microSD storage instead of internal eMMC without rebuilding the base DTB. The allocation is conditional on CONFIG_OF_LIBFDT_OVERLAY and has no effect on boards that do not enable overlay support. Signed-off-by: Antony Kurniawan Soemardi <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27qcom_defconfig: Add QCOM_RPMH_POWER_DOMAIN configAswin Murugan
Enable QCOM_RPMH_POWER_DOMAIN config for qualcomm devices Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27mach-snapdragon: Remove RPMH power domain DT fixup codeAswin Murugan
Remove the device tree fixup code that was stripping power-domains properties from device tree nodes. This fixup was a temporary workaround needed when RPMH power domain driver support was not available in U-Boot. Now that RPMH power domain driver support has been added, the power domain properties can be preserved in the device tree, allowing proper power domain management. If a suitable power domain driver is not found for the power-controller node, it will be handled with a warning in dev_power_domain_ctrl(). Reviewed-by: Varadarajan Narayanan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27power-domain: Add warning when power-domain driver is missingAswin Murugan
Update dev_power_domain_ctrl() to log a warning if the power-domain driver is not found (-ENODEV). Return 0 in this case to allow continued execution, while preserving error handling for other failures. Reviewed-by: Varadarajan Narayanan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27power-domain: Add QCOM RPMH Power Domain Driver SupportBalaji Selvanathan
Added support for Qualcomm RPMH power domain driver, responsible for managing power domains on Qualcomm SoCs. This is a port of the Linux RPMHPD driver [1] and sa8775p related changes. The power domain driver currently has support to power on and off MMCX power domain of sa8775p; support for other soc entries power domains are stubbed, in future, the required soc support can be added. [1]: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pmdomain/qcom/rpmhpd.c?id=3d25d46a255a83f94d7d4d4216f38aafc8e116b Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Balaji Selvanathan <[email protected]> Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27pinctrl: qcom: Add pingroup definitions for SC7280Aswin Murugan
Added pingrp support to sc7280 pinctrl driver based on the similar U-Boot and Linux drivers. Signed-off-by: Aswin Murugan <[email protected]> Reviewed-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-26Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
- Renesas RZ/G2L (R9A07G044) USB gadget support
2026-04-26MAINTAINERS, mailmap: Change email for Eugen HristevEugen Hristev
Replace old bouncing emails with [email protected] Signed-off-by: Eugen Hristev <[email protected]>
2026-04-26usb: gadget: rcar: Add support for RZ/G2L (R9A07G044)Michele Bisogno
The Renesas RZ/G2L (and RZ/G2LC) USBHS controller requires the CNEN bit in the SYSCFG register to be set for function operation. Additionally, its CFIFO is byte-addressable. Introduce a new renesas_usbhs_driver_param structure for the RZ/G2L SoC and link it via the udevice_id data pointer. Update usbhs_probe() to accept the udevice pointer to retrieve these parameters during initialization. This alignment follows the logic used in the Linux kernel renesas_usbhs driver. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Michele Bisogno <[email protected]>
2026-04-26usb: gadget: rcar: Add support for reset controllerMichele Bisogno
Some Renesas SoCs, such as the RZ/G2L, require the USBHS core to be explicitly deasserted from reset before register access is possible. Update the OTG probe to handle a bulk reset controller. To maintain hardware stability, the reset is deasserted after clocks are enabled in probe(), and asserted before clocks are disabled in remove(). Update the error paths in probe to ensures clocks are disabled if the reset initialization fails. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Michele Bisogno <[email protected]>
2026-04-26usb: gadget: rcar: Fix gadget registration lifecycle in removeMichele Bisogno
The driver currently fails to unregister the USB gadget when the device is removed or the driver is unbound. This leads to dangling pointers in the UDC core and potential memory corruption. Add a call to usb_del_gadget_udc() in the remove path to ensure a clean teardown of the gadget interface. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Michele Bisogno <[email protected]>
2026-04-24Makefile: fix host CPP pollution in cmd_gen_envpLevi Shafter
Commit 2956a84ba701 ("Makefile: don't use CFLAGS for environment text file") switched cmd_gen_envp to use $(cpp_flags) so that KCPPFLAGS would be honored when preprocessing the environment text file. However, cpp_flags also includes $(PLATFORM_CPPFLAGS), which carries architecture-specific flags such as -march=armv8-a+crc set by arch/arm/Makefile for CONFIG_ARM64_CRC32=y targets. These flags are appropriate for cross-compiled object files but cause the host CPP invocation to fail on x86 build machines: cc1: error: bad value ('armv8-a+crc') for '-march=' switch KBUILD_CPPFLAGS already accumulates the user-supplied KCPPFLAGS via "KBUILD_CPPFLAGS += $(KCPPFLAGS)", providing the behaviour 2956a84 intended without pulling in target architecture flags. Use it directly. Fixes: 2956a84ba701 ("Makefile: don't use CFLAGS for environment text file") Signed-off-by: Levi Shafter <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-24scripts/dtc: avoid discarded qualifiers in overlay_fixup_phandleHeinrich Schuchardt
When building with GCC 15.2 the following warning show up: scripts/dtc/libfdt/fdt_overlay.c:422:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 422 | sep = memchr(fixup_str, ':', fixup_len); | ^ scripts/dtc/libfdt/fdt_overlay.c:432:21: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 432 | sep = memchr(name, ':', fixup_len); | ^ Define sep as const char *. Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-04-24tools/asn1_compiler: avoid -Wdiscarded-qualifiersHeinrich Schuchardt
Building with GCC 15.2 results in warnings: tools/asn1_compiler.c: In function ‘tokenise’: tools/asn1_compiler.c:442:37: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 442 | dir = bsearch(&tokens[tix], directives, | ^ tools/asn1_compiler.c: In function ‘main’: tools/asn1_compiler.c:632:11: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 632 | p = strchr(grammar_name, '.'); | ^ bsearch() is defined as void *bsearch(size_t n, size_t size; const void key[size], const void base[size * n], size_t n, size_t size, typeof(int (const void [size], const void [size])) *compar); * Use the correct type for dir. strchr() is defined as char *strchr(const char *s, int c). * Use a conversion for the assignment to p. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-24common: update: Fix TFTP return value handlingMarek Vasut
The net_loop() returns 1 on success, but update_load() returns 0 on success. Do not assign rv which is the return value of update_load() to net_loop(), instead assign net_loop() return value to a temporary variable and then update rv only if the temporary variable is negative. This way the update_load() now correctly returns 0 on tftp success and 1 only on failure. Signed-off-by: Marek Vasut <[email protected]>
2026-04-24fs/squashfs: Set ret to 0 on successful readMichael Zimmermann
It might still be a positive number due to the call to sqfs_disk_read. This only happens when reading a file from an uncompressed squashfs. I found this by trying to boot using the extlinux bootmethod, where positive values are treated as errors. Signed-off-by: Michael Zimmermann <[email protected]> Acked-by: Richard Genoud <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-24Mailmap entry for Javier TiaHeinrich Schuchardt
Javier has left Linaro. Forward to his new email address. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Javier Tia <[email protected]>
2026-04-23lib/Kconfig: Fix SUPPORTS_FW_LOADER optionDavid Lechner
Change the SUPPORTS_FW_LOADER option to be enabled by default. This is a dependency-only option intended to be used like: depends on SUPPORTS_FW_LOADER Instead of having to always remember to do both: depends on CMDLINE depends on ENV_SUPPORT In order to actually work though, the option has to be enabled. Reported-by: Weijie Gao <[email protected]> Closes: https://lore.kernel.org/u-boot/[email protected]/ Fixes: 4ed440e6be80 ("fw_loader: Introduce SUPPORTS_FW_LOADER symbol") Signed-off-by: David Lechner <[email protected]> Reviewed-by: Tom Rini <[email protected]> Tested-by: Weijie Gao <[email protected]>
2026-04-23Merge tag 'xilinx-for-v2026.07-rc1-v3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx/FPGA changes for v2026.07-rc1 v3. The biggest part is new pcie driver for Versal Gen 2 SOC. Others are small fixes and adjustments. versal2: - Wire PCIe IP cmd/fpga: - Fix loadb help text guarding - Add support for skipping fpga ID check zynqmp: - Describe missing devices/IDs - Fix issue around zu63dr_SE clk/versal: - Fix out-of-bounds parent id for DUMMY_PARENT net/gem: - Add support for 10GBE - Clear stale speed bits in NWCFG net/axi_emac: - Filter out broadcast and multicast packets pci: - Add driver for AMD PCIe IP based on DesignWare core
2026-04-23net: zynq_gem: Clear stale speed bits in NWCFG before setting new onesRafał Hibner
Commit ecba4380ad26 ("net: zynq_gem: Update the MDC clock divisor in the probe function") changed zynq_gem_init() from a direct register write to a read-modify-write pattern in order to preserve MDC clock divider bits. However, the old speed selection bits (SPEED100/SPEED1000) are never cleared before OR-ing in the new value. When the PHY renegotiates at a different speed between successive calls to zynq_gem_init() (e.g. link flapping from 1 Gbps to 100 Mbps on a marginal cable), both SPEED100 and SPEED1000 end up set simultaneously in NWCFG. This confuses the GEM hardware and no frames are received. Fix by explicitly clearing both speed bits before merging the new configuration, so only the currently negotiated speed is ever active. Fixes: ecba4380ad26 ("net: zynq_gem: Update the MDC clock divisor in the probe function") Signed-off-by: Rafał Hibner <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-04-23fpga: xilinx: Add option to skip bitstream ID checkMichal Simek
Add environment variable 'fpga_skip_idcheck' that when set to '1' or 'y' allows bypassing the device ID validation during bitstream loading. This is useful for loading bitstreams on devices whose ID codes are not yet recorded in the SOC driver. Usage: setenv fpga_skip_idcheck 1 fpga loadb 0 ${loadaddr} ${filesize} Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/d0f11d0a8d48b284683f00d20dfbe323c11f2943.1776360720.git.michal.simek@amd.com
2026-04-23net: zynq_gem: reinitialize RX BDs on every initPranav Tilak
Reinitialize RX BDs and rewrite rxqbase on every init instead of only on the first init. This ensures a clean BD state on every init for all GEM configurations. For AMD Versal Gen 2 10GBE this is required since the USX block resets the RX DMA pointer to rxqbase on each init, so BDs must be rebuilt each time to stay in sync with hardware. Signed-off-by: Pranav Tilak <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-04-23net: zynq_gem: set 128-bit AXI bus width for 10GBEPranav Tilak
Set 128-bit AXI bus width in network config for 10GBE. The default 64-bit setting causes DMA data corruption. Signed-off-by: Pranav Tilak <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-04-23net: zynq_gem: add SPEED_10000 case in clock rate selectionPranav Tilak
Add SPEED_10000 case in the speed switch with the fixed 150 MHz tx_clk rate. Without this, clk_rate stays 0 for 10000 Mbps and clk_set_rate(0) on a fixed clock aborts initialization. Signed-off-by: Pranav Tilak <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-04-23cmd: fpga: Fix wrong preprocessor guard for loadb help textMichal Simek
The help text for the "fpga loadb" command was incorrectly guarded by CONFIG_CMD_FPGA_LOADP instead of CONFIG_CMD_FPGA_LOADB. This meant the loadb help text would only be shown when LOADP was enabled, rather than when LOADB was enabled. Fix the preprocessor condition to use the correct config option. Fixes: f8f378877b8f ("fpga: add new symbol for fpga_loadb") Reviewed-by: Alexander Dahl <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/366dfe78e2028f53a6274da75547fb68844764cc.1775549229.git.michal.simek@amd.com
2026-04-23board: xilinx: zynqmp: Register alternate FPGA device for zu63dr_SEMichal Simek
The zu63dr_SE and zu67dr_SE devices share the same silicon ID code 0x046D7093 and cannot be distinguished at runtime. The SOC driver reports zu67dr_SE for this ID, which causes fpga loadb to reject zu63dr_SE bitstreams. Register zu63dr_SE as an alternate FPGA device when zu67dr_SE is detected. This allows users to load either bitstream by selecting the appropriate device number: - Device 0 (zu67dr_SE): fpga loadb 0 ${loadaddr} ${filesize} - Device 1 (zu63dr_SE): fpga loadb 1 ${loadaddr} ${filesize} Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/591134b1c66701fa14a21fecac4f7a772ddba876.1775558062.git.michal.simek@amd.com
2026-04-23soc: xilinx: zynqmp: Add support for new ZynqMP devicesMichal Simek
Add ID codes for the following ZynqMP devices: - XCZU1EG_LR (0x0468A093) - XCZU42DR (0x046D4093) - XCZU55DR (0x046D2093) - XCZU57DR (0x046D3093) - XCZU58DR (0x047F9093) - XCZU59DR (0x047FC093) - XCZU63DR (0x046D5093) - XCZU64DR (0x046D6093) - XCZU65DR (0x046D1093) Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/330098196cc84115899ea7a14665a8df7e279fae.1775557948.git.michal.simek@amd.com
2026-04-23amd: versal2: Enable PCIe/NVMe support and add NVMe boot targetPranav Sanwal
Enable the AMD Versal Gen 2 DW PCIe host controller and NVMe storage in the virtual platform defconfig: - CONFIG_PCI / CONFIG_CMD_PCI: core PCI stack and pci command - CONFIG_PCIE_DW_AMD: AMD Versal Gen 2 PCIe host driver - CONFIG_NVME_PCI: NVMe-over-PCIe storage driver - CONFIG_CMD_LSBLK: block device listing command - CONFIG_DM_PCA953X: GPIO expander driver for PERST# control Add BOOT_TARGET_DEVICES_NVME to amd_versal2.h so NVMe is included in the distro boot target list when CONFIG_NVME is enabled. Signed-off-by: Pranav Sanwal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2026-04-23arm: versal2: Map PCIe DBI and config regions when PCIe is enabledPranav Sanwal
The AMD Versal Gen 2 PCIe host controller places its DBI registers (0x100000000000, 1 MB) and config space (0x100000100000, 255 MB) above 1 TB. Without MMU entries covering these ranges, U-Boot faults when the PCIe driver accesses them. The two regions are merged into a single entry as these are contiguous and share identical MMU attributes. Add this entry under a CONFIG_IS_ENABLED(PCIE_DW_AMD) guard so it is only included when the PCIe driver is configured. VERSAL2_MEM_MAP_USED is adjusted from 5 to 6 accordingly, keeping the DRAM bank index correct. Signed-off-by: Pranav Sanwal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2026-04-23pci: Add AMD Versal2 DW PCIe host controller driverPranav Sanwal
Add support for the DesignWare-based PCIe host controller found in AMD Versal2 SoCs. This enables PCIe functionality (e.g. NVMe storage) on boards such as the VEK385. The driver builds on the existing pcie_dw_common infrastructure and adds Versal2-specific handling: it maps the SLCR register region to mask and clear TLP interrupt status bits, parses dbi/config/atu/slcr register regions from device tree, and supports an optional PERST# GPIO on child nodes for endpoint reset sequencing. The outbound iATU is programmed for the non-prefetchable memory window from device tree ranges. Signed-off-by: Pranav Sanwal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2026-04-23clk: versal: Fix out-of-bounds parent id for DUMMY_PARENTPadmarao Begari
When a clock parent entry is DUMMY_PARENT (0xFFFFFFFE), masking it with CLK_PARENTS_ID_MASK (0xFFFF) produces the value 0xFFFE (65534). This value is stored in parent->id and later used as a clock array index in versal_clock_get_parentid(). Since clock_max_idx is typically 228, accessing clock[65534] is out-of-bounds, and the garbage value read is used as a clock ID in subsequent clock rate calculations, eventually causing U-Boot to crash. This is observed as a crash during "clk dump" on AMD Versal Gen 2. Fix this by setting parent->id = 0 for DUMMY_PARENT entries. Fixes: 95105089afe2 ("clk: versal: Add clock driver support") Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-04-23net: xilinx: Reject broadcast and multicast packets in AXI Ethernet MACMichal Simek
Set the XAE_RAF_BCSTREJ_MASK bit in the Reset and Address Filter (RAF) register during hardware initialization to make the MAC drop incoming frames with broadcast destination address. This avoids unnecessary broadcast traffic processing by the CPU. Additionally, when IPv6 is not enabled (CONFIG_IPV6), also set the XAE_RAF_MCSTREJ_MASK bit to reject multicast frames. Multicast rejection is skipped when IPv6 is configured because IPv6 Neighbor Discovery and DHCPv6 rely on multicast. Expose the RAF register (offset 0x0) in struct axi_regs which was previously hidden in a reserved array. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/07ad94eb8a3a9d80273a16a7ac8c7caaba607fe2.1774282153.git.michal.simek@amd.com
2026-04-22Merge patch series "test: Refactor FIT test for clarity and extensibility"Tom Rini
Simon Glass <[email protected]> says: This series reworks the FIT test (test_fit.py) to make it easier to maintain and extend. It fixes the buildconfigspec so the test actually runs on sandbox, avoids unnecessary U-Boot restarts, renames the main test for easier selection, adds a missing-kernel check, fixes Python warnings, converts the test to use a class, splits into separate test functions, and adds Sphinx documentation. Link: https://lore.kernel.org/r/[email protected]
2026-04-22test: Add documentation for the FIT testSimon Glass
Add a Sphinx automodule page for test_fit.py so it appears in the pytest documentation alongside the other test modules. The index already uses a glob pattern, so this is picked up automatically. Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: Add fsetup fixture and prepare helper for FIT testSimon Glass
Create an 'fsetup' fixture which sets up files and parameters, and a prepare() helper which builds a FIT with given parameter overrides. Update check_equal() and check_not_equal() to look up filenames from a params dict by key, reducing the number of local variables needed. Split the single test_fit_operations() into individual test functions so that each appears separately in the results. Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: Convert FIT test to use a classSimon Glass
Move this test over to use a class instead of a function, so we can easily split it into some related tests. Move the TODO so it is part of the comment for the class. Tidy up some function comments while we are here. Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: Update fit test to fix a few Python warningsSimon Glass
Fix some warnings and disable one that cannot be fixed. Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: Add a check for a missing kernelSimon Glass
U-Boot should complain if the kernel is missing, so add a check for this in test_fit_base() Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: Rename test_fit() to test_fit_base()Simon Glass
The current name is uses as a root name by a few other tests, such as test_fit_ecdsa() which makes it hard to run just this test. Rename it to test_fit_base() Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: fit: Avoid restarting U-BootSimon Glass
We don't actually need to use the test FDT as the control FDT. It slows down the test since U-Boot needs to be restarted each time. Instead of restarting, update the test to clear memory before it loads the FIT. Rename the data-variable to fdt_data since is it no-longer the control FDT. Signed-off-by: Simon Glass <[email protected]>
2026-04-22test: fit: Drop the fit_signature buildconfigspecSimon Glass
The test_fit test requires buildconfigspec('fit_signature') but does not exercise signature verification. The ITS template includes a signature-1 node, but mkimage only needs TOOLS_FIT_SIGNATURE (a host tool option) to handle it, not CONFIG_FIT_SIGNATURE in the U-Boot binary. Since sandbox does not enable CONFIG_FIT_SIGNATURE, the test is silently skipped on every run. Change the marker to buildconfigspec('fit') which is all the test actually needs. Signed-off-by: Simon Glass <[email protected]>
2026-04-22cli: flush stdin before enabling cliGregor Herburger
Currently there is no possibility to flush stdin after autocommands are executed. If in the bootcmd the stdin is changed, e.g. from nulldev to serial, it could happen that junk characters sit in the fifo and appear on the cli. Add a option to clear stdin before starting the CLI. Signed-off-by: Gregor Herburger <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-22console: add console_flush_stdin()Gregor Herburger
Add a common helper console_flush_stdin() to drain all pending characters from stdin. This consolidates the open-coded while (tstc()) getchar() pattern that appeared in multiple places across the tree. Signed-off-by: Gregor Herburger <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-22board: ti: cape_detect: Add overlay name lookup table for extension boardsKory Maincent (TI)
Some extension boards have EEPROM part numbers that do not directly match their devicetree overlay filenames. Introduce a static name_mapping table and a set_cape_overlay() helper that translates the part number and version strings read from the EEPROM into the correct overlay filename. When no entry matches, fall back to the existing behavior of constructing the overlay name as "<part_number>-<version>.dtbo" directly from the EEPROM content. Add an initial entry mapping BB-GREEN-HDMI revision 00A0 to am335x-bone-hdmi-00a0.dtbo. Signed-off-by: Kory Maincent (TI) <[email protected]>
2026-04-22configs: aquila-am69: Set ENV_MMC_EMMC_HW_PARTITION and ENV_RELOC_GD_ENV_ADDRVitor Soares
Set CONFIG_ENV_MMC_EMMC_HW_PARTITION=1 to store the environment in the eMMC first hardware boot partition instead of defaulting to 0 (user data area), where the rootfs and data partitions normally reside, risking corruption. This keeps the full boot stack self-contained in the eMMC hardware boot partition. Enable CONFIG_ENV_RELOC_GD_ENV_ADDR so that gd->env_addr is adjusted by the relocation offset during U-Boot relocation. Without it, gd->env_addr keeps pointing to the pre-relocation address of the default environment, leading to incorrect environment access before env_load() completes. Fixes: 3f0528882c0d ("board: toradex: add aquila am69 support") Signed-off-by: Vitor Soares <[email protected]> Acked-by: Francesco Dolcini <[email protected]>
2026-04-22board: adi: Fix exception when using standalone SoMPhilip Molloy
Although less common, ADSP SoM boards can be operated standalone without a carrier board. The SoM can be powered over USB-C by moving the jumper on JP1. The board configuration needs to be heavily refactored to reduce the number of defconfigs and leverage the devicetree. The TI DP83867 support, which is dependent on that configuration, needs to be removed. Until then this change allows the same U-Boot binary to work correctly both with carrier boards and the standalone SoM. The carrier board initialization code in somcrr_ezkit.c and somcrr_ezlite.c calls gpio_hog_lookup_name() to find ethernet control GPIOs, but does not check if the lookup succeeds before using the returned pointers. When running on a standalone SoM without a carrier board, these GPIO hogs do not exist in the device tree. The gpio_hog_lookup_name() function returns -ENODEV and sets the pointer to NULL, but the code continues to call dm_gpio_set_value() with uninitialized pointers, causing a synchronous abort exception: "Synchronous Abort" handler, esr 0x96000004 elr: 00000000960326c4 lr : 0000000096038d5c (reloc) Signed-off-by: Philip Molloy <[email protected]> Reviewed-by: Greg Malysa <[email protected]>
2026-04-22gunzip: Implement chunked decompressionMarek Vasut
The current gzwrite() implementation is limited to 4 GiB compressed input buffer size due to struct z_stream_s { uInt avail_in } member, which is of type unsigned int. Current gzwrite() implementation sets the entire input buffer size as avail_in and performs decompression of the whole compressed input buffer in one round, which limits the size of input buffer to 4 GiB. Rework the decompression loop to use chunked approach, and decompress the input buffer in up to 4 GiB - 1 kiB avail_in chunks, possibly in multiple decompression rounds. This way, the compressed input buffer size is limited by gzwrite() function 'len' parameter type, which is unsigned long. In case of sandbox build, include parsing of 'gzwrite_chunk' environment variable, so the chunked approach can be thoroughly tested with non default chunk size. For non-sandbox builds, the chunk size is 4 GiB - 1 kiB. The gzwrite test case is extended to test various chunk sizes during gzwrite decompression test. Signed-off-by: Marek Vasut <[email protected]>
2026-04-22virtio: mmio: Return error codes on probe failuresKuan-Wei Chiu
Currently, virtio_mmio_probe() returns 0 when it encounters an invalid magic value, an unsupported version, or a dummy device (ID 0). In U-Boot's driver model, returning 0 indicates a successful probe. This causes the system to incorrectly register and activate invalid or placeholder devices, potentially leading to undefined behavior or crashes later on. Update the probe function to return appropriate error codes (-ENODEV for invalid magic values and dummy devices, and -ENXIO for unsupported versions). This fix correctly instructs the DM to abort the binding process. Fixes: fdc4aca89ecb ("virtio: Add virtio over mmio transport driver") Signed-off-by: Kuan-Wei Chiu <[email protected]> Acked-by: Daniel Palmer <[email protected]>
2026-04-22Merge tag 'u-boot-imx-master-20260421' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29880 - Convert TQMA7 boards to SPL. - Use second Ethernet MAC also from fuse on i.MX dhelectronics boards. - Add support for Toradex Verdin iMX95. - Drop SPL_POWER_LEGACY from imx8m boards. - Increase the Aquantia Ethernet PHY reset timeout.