summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-25mmc: stm32_sdmmc2: avoid infinite while loopChristophe Kerello
Avoid unlimited while loop by adding a timeout. The timeout is calculated based on a minimal throughput of 256 KB/s. The timeout is set at least to 2 seconds. Signed-off-by: Christophe Kerello <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-08-25mtd: rawnand: stm32_fmc2: set available OOB bytes per pageChristophe Kerello
File system such as YAFFS2 need to know the number of available OOB bytes per page to be able to choose if they should locate their metadata in the data area or in the spare area. Signed-off-by: Christophe Kerello <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-08-25configs: versal2: Add usb_pgood_delay for versal2 boardsVenkatesh Yadav Abbarapu
Add usb_pgood_delay to ensure proper detection of USB devices. Increase the USB power good delay for versal2 specific boards, as certain USB sticks may not be detected without it. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25net: axi_emac: Fix timeout testAndrew Goodbody
The timeout test in axi_dma_init is not correct due to the post-decrement used on the timeout variable which will mean timeout is not 0 if the timeout occurs. Make the timeout variable an int instead of a u32 and then test for timeout being -1. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25arm64: versal2: Define BOOTENV_DEV_SHARED_XSPI when distro is disabledMichal Simek
When DISTRO_DEFAULT is disabled there is missing empty BOOTENV_DEV_SHARED_XSPI macro defined. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/4c195468c0341ddd2aca98f83cdcbd40117cc9ee.1753885919.git.michal.simek@amd.com
2025-08-25arm64: zynqmp: Add missing ethernet alias for kr260-revBMichal Simek
Ethernet aliases are used in fdt_fixup_ethernet() to inject local-mac-address in every boot for OS. Similar change has been done for other carrier cards by commit c4a711253613 ("arm64: zynqmp: Describe ethernet controllers via aliases on SOM"). Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/87d88dba98f7ed96463964684ee45a506d557226.1753797318.git.michal.simek@amd.com
2025-08-25fpga: lattice: Remove unused supportMichal Simek
There is no single platform which is using this driver that's why remove it completely. Some issues regarding this code are also reported by Coverity (CID 583143, 583144, 583145, 583146). Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/367cd55ab8d9fb262ac23fe748babc6b2b59bee0.1753686468.git.michal.simek@amd.com
2025-08-25fpga: Remove ancient ACEX1K supportMichal Simek
Coverity (CID 583149) reports issue on code which is not enabled by any real platform that's why remove it completely. Acked-by: Alexander Dahl <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/20fe425910b6266a2bf0555bda67f60c1dd3aa61.1753686468.git.michal.simek@amd.com
2025-08-25fpga: xilinx: Check valid desc structureMichal Simek
FPGA validation can fail and return value needs to be checked. Addresses-Coverity-ID: CID 583150: Null pointer dereferences (NULL_RETURNS) Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/876b6f8dbc99ca305460183dbd18635a35ccc989.1753686468.git.michal.simek@amd.com
2025-08-25fpga: cyclon2: Remove message never printedAlexander Dahl
else branch is never reached. Print "Done." anyways to keep behaviour. Addresses-Coverity-ID: 583148 Link: https://lore.kernel.org/u-boot/20250725132645.GA1807455@bill-the-cat/ Fixes: f0ff4692ff33 ("Add FPGA Altera Cyclone 2 support Patch by Heiko Schocher, 15 Aug 2006") Signed-off-by: Alexander Dahl <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25soc: xilinx: zynqmp: Fix zu1cg device detectionFrank Böwingloh
Currently u-boot displayed a zu1cg soc as "Chip: zu1eg". A value of 0468_8093h in the IDCODE (CSU) Register defines a ZU1 soc not only for the EG family but also for the CG family as described in the Xilinx Zynq UltraScale+ UG1085 documentation in Table 1-2. Signed-off-by: Frank Böwingloh <[email protected]> Cc: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25pinctrl: zynqmp: Avoid using uninitialised variableAndrew Goodbody
In zynqmp_pinconf_set if param is PIN_CFG_IOSTANDARD or PIN_CONFIG_POWER_SOURCE and zynqmp_pm_pinctrl_get_config returns an error then value will not be assigned to when its value is tested to be not equal to arg. Add code to only test value not equal to arg if ret is false. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25pinctrl: zynqmp: Ensure ret is initialisedAndrew Goodbody
In zynqmp_pinctrl_prepare_func_groups if called with func->ngroups == 0 then ret will not be assigned to before its value is returned on exit. Initialise ret to ensure it is always valid. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25mailbox: zynqmp: Fix off by 1 errorsAndrew Goodbody
Use resource_size to correctly calculate the size to pass to devm_ioremap and avoid the off by 1 errors previously present. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-08-25tpm: tis_infineon: Cannot test unsigned for being negativeAndrew Goodbody
tpm_tis_i2c_get_burstcount returns a size_t but also returns -EBUSY if the TPM is surrently busy. As size_t is an unsigned type simply testing for < 0 will not work so change the test for being equal to -EBUSY which will work. Also remove the trivial comments. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-08-25tpm: tpm_tis_infineon: Make use of 'z' for printing size_tTom Rini
When printing the contents of an size_t variable we need to use z prefix to the format character in order to get the correct format type depending on 32 or 64bit-ness. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-08-25tpm: cr50_i2c: Make use of 'z' for printing size_tTom Rini
When printing the contents of an size_t variable we need to use z prefix to the format character in order to get the correct format type depending on 32 or 64bit-ness. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-08-25tpm: tpm_tis_st33zp24: Remove unused driversTom Rini
The tpm_tis_st33zp24_i2c and tpm_tis_st33zp24_spi drivers are unused. Remove them. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-08-24Merge branch 'u-boot-nand-23082025' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-nand-flash CI: https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/pipelines/27449 This series address issues found by Andrew Goodbody and David Regan. Add a new benchmark tool from Miguel and small feature
2025-08-23Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
- A DWC2 fix, i.MX95 USB3 PHY support and i.MX95 OTG support
2025-08-23Merge tag 'u-boot-imx-master-20250823' 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/27447 - Fix the environment location when booting from USB on i.MX93. - Fix env location when booting from USB on phycore-imx93. - Fix conflict early SPL malloc address on imx93 boards.
2025-08-23usb: dwc2: fix reset logic in dwc2_core_resetPatrick Delaunay
Use GUSBCFG_FORCEHOSTMODE to detected the HOST forced mode as it is done in the Linux driver drivers/usb/dwc2/core.c:dwc2_core_reset(). The host polling must be executed only if the current mode is host, either due to the force HOST mode (which persists after core reset) or the connector id pin. The GUSBCFG_FORCEDEVMODE bits is used to force the device mode (for example used on STM32MP1x platform) and when it is activated the DWC2 reset failed with the trace: "dwc2_core_reset: Waiting for GINTSTS_CURMODE_HOST timeout" Fixes: c5d685b8993c ("usb: dwc2: Unify flush and reset logic with v4.20a support") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Junhui Liu <[email protected]> Tested-by: Patrice Chotard <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-08-23usb: ehci-mx6: Add i.MX95 OTG supportTim Harvey
When the usb node is defined dr_mode="otg" ehci_usb_phy_mode() is called to determine the mode from status registers. The IMX95RM does not currently define the USBNC STATUS register but it is assumed to be an omission as the first three registers are defined. It has been expirimentally verified that the USBNC_PHY_STATUS register at offset 0x23C bit4 (USBNC_PHYSTATUS_ID_DIG) reads 0 when USB_ID is GND and 1 when floating. Use is_imx9() as this driver works for i.MX91, i.MX93 and i.MX95 and all of these determine the role based on the USBNC_PHY_STATUS register. Fixes: 801b5fafd35d "(usb: ehci-mx6: Add i.MX95 support") Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2025-08-23phy: phy-imx8mq-usb: Add support for i.MX95 USB3 PHYTim Harvey
Add initial support for i.MX95 USB.30 PHY, which is similar to the i.MX8MQ and i.MX8MP USB PHY. The i.MX95 USB3 PHY has a Type-C Assist block (TCA) consisting of two functional blocks (XBar assist and VBus assist) and is documented in the i.MX95 RM Chapter 163.3.8 Type-C assist (TCA) block. Instead of relying on an external MUX for Type-C plug orientation the XBar can handle the flip internally. Add initial support for i.MX95 by: - allowing the driver to be enabled i.MX95 - resetting the XBar - configuring the TCA in System Configuration mode (which was determined to be necessary to enable the PHY in device-mode) Follow-on support will need to be added to steer the XBar based on either board design (if only one pair is brought out) or if used with a Type-C controller. Signed-off-by: Tim Harvey <[email protected]> Tested-by: Alice Guo <[email protected]>
2025-08-23mtd: nand: Do not dereference before NULL checkAndrew Goodbody
In nanddev_init mtd and memorg are assigned values that dereference nand but this happens before a NULL check for nand. Move the assignments after the NULL check. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: mtd: Enable speed benchmarkingMiquel Raynal
Linux features a flash_speed speed test from the mtd-utils suite, U-Boot does not. Benchmarks are useful for speed improvement developments as well as troubleshooting or regression testing sometimes. Enable a benchmark option to enable this feature. Example of output on a Nuvoton platform: MA35D1> mtd read nor0 0x81000000 0 0x10000 Reading 65536 byte(s) at offset 0x00000000 MA35D1> mtd read.benchmark nor0 0x81000000 0 0x10000 Reading 65536 byte(s) at offset 0x00000000 Read speed: 3752kiB/s Signed-off-by: Miquel Raynal <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: nand dump with ecc optiondavid regan
option to show nand dump data ecc corrected as opposed to just raw Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: nand dump display updatedavid regan
show characters with nand dump similar to md along with offset into NAND Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: more descriptive help infodavid regan
nand read/write raw change 'count' to 'pages' since count is ambiguous Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23cmd: nand: bug fix MTD_OOB_AUTO to MTD_OPS_AUTO_OOBdavid regan
bug fix MTD_OOB_AUTO to MTD_OPS_AUTO_OOB since MTD_OOB_AUTO does not exist Fixes: dfe64e2c8973 ("mtd: resync with Linux-3.7.1") Signed-off-by: david regan <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23mtd: nand: cadence: Fix device assignment to avoid warm reset issueDinesh Maniyam
The driver currently does: mtd->dev->parent = cadence->dev; This works in Linux because `struct mtd_info` embeds a `struct device`, so `mtd->dev` is always valid and its `.parent` can be set. In U-Boot, however, `mtd->dev` is only a pointer to a `struct udevice`. Dereferencing it before assignment is invalid, which breaks the device hierarchy. As a result, consumers relying on `mtd->dev` (e.g. partition parser, reset and re-init paths) operate on a dangling pointer. This leads to failures during warm reset when the NAND device is accessed again. Fix by assigning the device pointer directly: mtd->dev = cadence->dev; This matches U-Boot’s device model, preserves a valid hierarchy, and resolves the warm reset issue on Cadence NAND. Fixes: ebc41cad ("drivers: mtd: nand: Add driver for Cadence Nand") Signed-off-by: Dinesh Maniyam <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-08-23imx: imx93_{evk, frdm, qsb}: Fix conflict SPL early malloc addressYe Li
Because the early malloc pool size is set to 0x18000, so using this start address may cause conflict with ATF, then corrupt the heap data. So we delete the definition to use the default early malloc pool from CONFIG_SPL_STACK to avoid any conflict Signed-off-by: Ye Li <[email protected]> Cherry picked from nxp-imx/uboot-imx commit 1ba675df122627a19debe1d807877052705372c6 Jérémie Dautheribes: applied the same patch to the frdm and qsb imx93-based boards Signed-off-by: Jérémie Dautheribes <[email protected]>
2025-08-23board: phytec: phycore-imx93: Fix EEPROM bus mismatch in SPLPrimoz Fiser
Fix PHYTEC EEPROM bus mismatch between SPL and U-Boot proper by enabling CONFIG_SPL_DM_SEQ_ALIAS=y on phyCORE-i.MX93 boards. This way, both the SPL and U-Boot proper will respect the device-tree aliases for I2C devs and use the same I2C bus number for phytec_eeprom_data_setup() function calls. This makes code less confusing and more robust. Fixes an issue apparent since commit 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream") where SPL would spew the following error: phytec_eeprom_read: i2c EEPROM not found: -110. phytec_eeprom_data_setup: EEPROM data init failed While later in U-Boot proper, EEPROM would be successfully read out. This happens because Linux device-tree for phyBOARD-Segin-i.MX93 since aforementioned commit enables I2C bus 2 (lpi2c2 is used for audio codec and RTC) which breaks SPL I2C bus number ordering and I2C EEPROM bus is shifted by +1. Now, lets prevent this from happening again by utilizing device-tree aliases also in the SPL. Signed-off-by: Primoz Fiser <[email protected]>
2025-08-23arm: imx: imx9: soc: Fix env location when booting from USBJoão Paulo Gonçalves
On i.MX9 platforms, when booting from USB, the U-Boot environment is always assumed to be in RAM. However, this causes the boot to hang when `CONFIG_ENV_IS_NOWHERE` is not enabled. The boot also hangs even if the environment is present in another storage media (for example, eMMC). Fix the issue by correctly handling the U-Boot environment's location when booting from USB. Also for i.MX95, set the environment location based on the ENV config and not solely based on the boot device type. Suggested-by: Frieder Schrempf <[email protected]> Signed-off-by: João Paulo Gonçalves <[email protected]>
2025-08-22i2c: omap24xx_i2c: remove unused members of struct omap_i2cRasmus Villemoes
The clk and clk_id members of struct omap_i2c are not used anywhere, and AFAICT never have been. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Aniket Limaye <[email protected]>
2025-08-21Merge patch series "bootstd: rauc: Fix segfault when scanning device with ↵Tom Rini
unsupported layout" Martin Schwan <[email protected]> says: This series fixes a segfault, that would occur at the end of scanning a device, which does not contain the required partition layout scheme for a RAUC system. With this series, a "bootflow scan" should now correctly scan the specified devices with boot method "rauc" without crashing on invalid partition schemes. Link: https://lore.kernel.org/r/[email protected]
2025-08-21bootstd: rauc: Free private data when bootingMartin Schwan
The private data struct can be freed when loading the boot script, as we don't need the slot information anymore at this point. Signed-off-by: Martin Schwan <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-08-21bootstd: rauc: Move freeing private struct to its own functionMartin Schwan
Move freeing a distro_rauc_priv struct to a new, separate function for better reuse. Signed-off-by: Martin Schwan <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-08-21bootstd: rauc: Don't null bootflow->bootmeth_privMartin Schwan
Don't null bootflow->bootmeth_priv, as the private struct is freed later on by the bootflow. Signed-off-by: Martin Schwan <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-08-21bootstd: rauc: Fix segfault when cleaning up slotsMartin Schwan
Fix a segfault when cleaning up the slots from the private struct. This fault was generated by accessing a member of a null pointer. Signed-off-by: Martin Schwan <[email protected]> Tested-by: Wadim Egorov <[email protected]>
2025-08-21qemu_arm: Select CONFIG_SYS_EARLY_PCI_INITFabio Estevam
Select CONFIG_SYS_EARLY_PCI_INIT so that eMMC emulation can work. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Tom Rini <[email protected]> Tested-by: Jan Kiszka <[email protected]>
2025-08-21Kconfig: Convert SYS_EARLY_PCI_INIT to KconfigFabio Estevam
The CONFIG_SYS_EARLY_PCI_INIT symbol is currently not supported by Kconfig. Make it a Kconfig symbol so that users could select it via defconfig. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-08-21remoteproc: k3: update compatible for am654 sysconAnshul Dalal
The existing compatible name for U-Boot's k3 system controller driver i.e "ti,am625-system-controller" has been added to linux[1] device-tree. This compatible in kernel is meant for configuring the Control Module registers (CTRL_MMR0). However in U-Boot, the matching driver was being used to load the system firmware on the secure M-cores by the R5 SPL and therefore must be updated to a different compatible to avoid conflicts. Therefore, this patch renames all references of the compatible to "ti,am654-tisci-rproc-r5". The "-r5" is appended so as to avoid any future conflicts since r5 specific compatibles should only be useful for U-Boot. [1]: 5959618631fe ("dt-bindings: mfd: ti,j721e-system-controller: Add compatible string for AM654") https://lore.kernel.org/r/[email protected] Signed-off-by: Anshul Dalal <[email protected]>
2025-08-21mach-sc5xx: generate U-Boot proper in ADI ldr formatPhilip Molloy
Generating an ldr boot stream containing U-Boot Proper was never added to U-Boot because it is done by the ADI Yocto layer. Add it to U-Boot to support projects that do not use that layer. Signed-off-by: Philip Molloy <[email protected]>
2025-08-21Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
- DRAM controller driver off-by-one error fix.
2025-08-21remoteproc: k3-r5: Add support for single cpu modeHari Nagalla
Add early boot support for AM64 single cpu mode configuration. In single CPU mode the 2nd core of the R5F cluster can't be used or unavailable. Signed-off-by: Hari Nagalla <[email protected]>
2025-08-21board: phytec: common: k3: Making setup_mac_from_eeprom optionalJohn Ma
Making the setup_mac_from_eeprom optional for boards without CONFIG_PHYTEC_SOM_DETECTION_BLOCKS. Signed-off-by: John Ma <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-08-21common: spl: fix compilation warningLeo Yu-Chi Liang
Explicitly specify the type by replacing macro with variable to fix the possible compilation warning. Signed-off-by: Leo Yu-Chi Liang <[email protected]>
2025-08-21serial-uclass: set GD_FLG_SERIAL_READY only when cur_serial_dev is assignedMaxim Kochetkov
serial_find_console_or_panic() may left cur_serial_dev unassigned if REQUIRE_SERIAL_CONSOLE is not set. Setting GD_FLG_SERIAL_READY in this situation confuses serial console code. It tries to use unassigned driver instead of debug port and stops printing. So check cur_serial_dev before setting GD_FLG_SERIAL_READY to allow console to keep printing via debug port. Signed-off-by: Maxim Kochetkov <[email protected]>
2025-08-21sound: maxim_codec: Fix coding mistakeAndrew Goodbody
In maxim_i2c_read the code mistakenly just returned the return value from dm_i2c_read leaving the following code unreachable. Instead assign ret to be the return value from dm_i2c_read so that the following code can operate as expected. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>