summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-11arm: mach-k3: increase max resasg_entriesUdit Kumar
Increase max resasg_entries to accommodate max size of largest device J784S4. Link: https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j784s4/resasg_types.html Reported-by: Jared McArthur <[email protected]> Signed-off-by: Udit Kumar <[email protected]>
2025-09-11mach-k3: am62*: Fix backup from eMMC boot modeJudith Mendez
Currently logic in spl_mmc_boot_mode only lookes at main devstat to determine the bootmode to return. Thus, when using: 'eMMC boot' as primary boot mode and 'MMCSD boot from eMMC UDA' as backup boot mode, 'eMMC boot' is always selected. Add check for bootindex to determine if ROM boot via backup boot mode and return MMCSD_MODE_FS which is the only supported backup bootmode with eMMC device. Signed-off-by: Judith Mendez <[email protected]> Reviewed-by: Anshul Dalal <[email protected]> Reviewed-by: Moteen Shah <[email protected]>
2025-09-11Merge patch series "Fix dma_addr_t for R5 SPL"Tom Rini
Anshul Dalal <[email protected]> says: On various TI's K3 platforms boot failure was observed on SPI NOR since the commit 5609f200d062 ("arm: Kconfig: enable LTO for ARCH_K3"). This issue was root caused to stack corruption by the 'udma_transfer' function. Where the local variable 'paddr' of type 'dma_addr_t' was being written to as a 64-bit value which overwrote the stack frame of the caller (dma_memcpy) as only 32-bits had been reserved for paddr on the stack, specifically the r4 register in the frame of dma_memcpy was being overwritten with a 0. drivers/dma/ti/k3-udma.c:2192: int udma_transfer(...) { ... dma_addr_t paddr = 0; ... /* paddr was written to as 64-bit value here */ udma_poll_completion(uc, &paddr); } drivers/dma/dma-uclass.c:234: int dma_memcpy(...) { dma_addr_t destination; dma_addr_t source; int ret; ... /* This call resolves to udma_transfer */ ret = ops->transfer(...); ... dma_unmap_single(destination, ...); dma_unmap_single(...); return ret; } Enabling LTO changed how gcc mapped local variables of dma_memcpy to CPU registers, where earlier the bug was hidden since the overwritten register 'r4' was allotted to 'ret' but was allotted to 'destination' once LTO was enabled. And since the overwritten value was 0, the bug remained undetected as it just meant ret was 0, but having 'destination' set to 0 caused dma_unmap_single to fail silently leading to boot failures. The fix entails enabling DMA_ADDR_T_64BIT which changes dma_addr_t from u32 to u64 for the R5 SPL thus reserving enough space for 'paddr' to prevent the overflow. Link: https://lore.kernel.org/r/[email protected]
2025-09-11config: arch: k3: enable DMA_ADDR_T_64BITAnshul Dalal
ARCH_K3 encompasses both 32 and 64-bit cores on the same SoC, though the DMA addresses are always 64-bit in size. With the current implementation, the R5 SPL uses a u32 for dma_addr_t which leads to data overflow when functions such as k3_nav_*_pop_mem try to write a 64-bit address to dma_addr_t variable. In certain cases it leads to stack corruption which manifest as boot failures on certain compilers, such as SPI boot on GCC 14.2 or 13.3. Therefore this patch selects CONFIG_DMA_ADDR_T_64BIT for all ARCH_K3. Fixes: ffcc66e8fec5 ("dma: ti: add driver to K3 UDMA") Signed-off-by: Anshul Dalal <[email protected]> Reviewed-by: Prasanth Babu Mantena <[email protected]>
2025-09-11dma: ti: k3-udma: fix dma_addr_t typecastsAnshul Dalal
dma_addr_t is used to store any valid DMA address which might not necessarily be the same size as host architecture's word size. Though various typecasts in k3's dma and usb driver expect dma_addr_t to be the same size as the word size. This leads the compiler to throw a "cast from pointer to integer of different size" warning when the condition is not met, for example when enabling CONFIG_DMA_ADDR_T_64BIT for the R5 core. Therefore this patch fixes the typecasts by using 'uintptr_t' as an intermediary type which is guaranteed to be the same size as void* on the host architecture. Thus, eliminating the compiler warning. Signed-off-by: Anshul Dalal <[email protected]>
2025-09-11env: fix config dependency for ENV_OFFSET_REDUND_RELATIVE_ENDHeiko Thiery
Since commit 5fb88fa725 "env: Rename SYS_REDUNDAND_ENVIRONMENT to ENV_REDUNDANT" the option SYS_REDUNDAND_ENVIRONMENT is no longer available and should be renamed to ENV_REDUNDANT. Fixes: 95f03ee65c0e ("env: mmc: fix offsets relative to the end of the partition") Signed-off-by: Heiko Thiery <[email protected]> Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-10configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2025-09-10spl: SPL_DM_SPI_FLASH depends on SPL_DM_SPIHeinrich Schuchardt
The SPI flash driver does not build without SPI support enabled. Fixes: 4151f4f822bb ("spl: Rework and tighten some dependencies") Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Peng Fan <[email protected]> Acked-by: Anshul Dalal <[email protected]>
2025-09-10virtio: blk: support block sizes exceeding 512 bytesHeinrich Schuchardt
QEMU allows to specify the logical block size via parameter logical_block_size of a virtio-blk-device. The communication channel via virtqueues remains based on 512 byte blocks even if the logical_block_size is larger. Consider the logical block size in the block device driver. Reported-by: Emil Renner Berthing <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]> Tested-by: Emil Renner Berthing <[email protected]>
2025-09-10i2c: davinci: prefer kernel types (u8/u32)Bhimeswararao Matsa
Replace uint8_t/uint32_t with u8/u32 to match U-Boot style (checkpatch PREFER_KERNEL_TYPES). No functional change. Signed-off-by: Bhimeswararao Matsa <[email protected]>
2025-09-10checkpatch.pl: Ignore mdelay instead of udelayTom Rini
Whereas in Linux, on ARM there is the notion of delay operations and mdelay and udelay are not the same, here we just have udelay and mdelay is a trivial wrapper. Tell checkpatch to not complain here. Reported-by: Bhimeswararao Matsa <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-09-10fs: ext4fs: add CONFIG_EXT4_MAX_JOURNAL_ENTRIES to KconfigTony Dinh
Add maximum ext4 journal entries to Kconfig. It is necessary since the number of journal entries is proportional to disk capacity. For example, an ext4 4TB HDD partition could require approximately 500 entries. Signed-off-by: Tony Dinh <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-10fs: ext4fs: Add initialization failure recovery path in ext4fs_writeTony Dinh
Don't invoke ext4fs_deinit() in ext4fs_write() if the failure occurs during initialization. It would result in a crash since ext4fs_init() has already done that. Signed-off-by: Tony Dinh <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-10tools: Do not generate logo when cross-buildingJan Kiszka
This cannot work (unless qemu-user is registered in binfmt_misc) as the tools will be for a different architecture. Fixes "make cross_tools" in case CONFIG_VIDEO_LOGO is enabled. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-09Merge patch series "tools: fdtgrep: Mark util_version() as static"Tom Rini
This series from Ilias Apalodimas <[email protected]> lays some of the groundwork for being able to enable the -Wmissing-prototypes compiler flag while building U-Boot by fixing the obvious problems in the tools directory. Link: https://lore.kernel.org/r/[email protected]
2025-09-09tools: imx8image: Mark imx8mimage_check_params() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09tools: imx8mimage: Mark build_image() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09tools: fit_check_sign: Mark usage() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09tool: fit_info: Mark usage() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09tools: rkcommon: Mark rkcommon_is_header_v2() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-09-09tools: mkimage: Mark copy_datafile() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09tools: fdtgrep: Mark util_usage() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09tools: fdtgrep: Mark util_version() as staticIlias Apalodimas
The function is only used locally. Enabling -Wmissing-prototypes triggers a warning. Mark it as static. Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09env: Fix up indentMarek Vasut
Replace #define<TAB> with #define<space> to be consistent in the entire file. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-09arm64: Properly clear BSSIlias Apalodimas
Brock reports a breakage on an RK3568 SoC. His patch is correct but he never followed up on the requested changes. We currently use ldr to calculate the address of __bss_start and __bss_end. However the absolute addresses of the literal pool are never relocated and we end up clearing the wrong memory section. Use PC-relative addressing instead. Link: https://lore.kernel.org/u-boot/zfknlzcemnnaka5w2er5wjwefwoidrpndc4gjhx6d5xr6nlcjr@pasfayjiutii/ Suggested-by: brock_zheng <[email protected]> Reported-by: brock_zheng <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2025-09-09pci: apple: Fix use of uninitialized variableMark Kettenis
Replace use of uninitialized variable with the PCI device number in an error message as this is what we use elsewhere to derive the PCIe port number. Use ofnode_read_pci_addr() to read the PCI address of the node and derive the device number from that. Signed-off-by: Mark Kettenis <[email protected]> Reported-by: Andrew Goodbody <[email protected]>
2025-09-09tools: Drop meaningless comment from MakefileJan Kiszka
Introduced by 245b1029e1af, probably a debug left-over. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Heiko Schocher <[email protected]>
2025-09-09common/spl: use memmove() in load_simple_fit()Rasmus Villemoes
I had trouble booting some am335x boards (both beagleboneblack and a custom board). SPL would start just fine, and apparently load U-Boot proper, but it would hang when jumping to U-Boot. While debugging, I stumbled on this memcpy() which from code inspection very much looked to have overlapping src and dst, and indeed a simple printf revealed calling memcpy(0x8087bf68, 0x8087bf80, 0xf7f8) Now, it will always be with src > dst, our memcpy() implementations "most likely" do forward-copying, and in the end it turned out that this wasn't the culprit after all [*]. But to avoid me or others barking up the wrong tree in the future, and because this use of memcpy() is technically undefined, use memmove() instead. [*] That was 358d1cc232c ("spl: Align FDT load address"), which has since been fixed in master but not the v2025.07 I worked of by 52caad0d14a ("ARM: Align image end to 8 bytes to fit DT alignment"). Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-09-09boot: Add LEGACY_IMAGE_FORMAT to DISTRO_DEFAULTSTom Rini
At this time there are still major Linux distributions which by default boot using LEGACY_IMAGE_FORMAT type scripts. Add this option to DISTRO_DEFAULTS to ensure these platforms can still boot. Fixes: d780965927d4 ("Drop the special am335x_boneblack_vboot target") Reported-by: Sascha Silbe <[email protected]> Tested-By: Sascha Silbe <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-09-09misc: fs_loader: Initialize actread variableAlif Zakuan Yuslaimi
Initialize the actread variable to prevent undefined behavior that can occur if the variable is used before being assigned a value. This will help to prevent potential issues, especially if actread is used (e.g., read, incremented, or returned) before being explicitly set elsewhere in the code. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]>
2025-09-09drivers: rtc: max313xx: Add delay after setting dateBen Hoelker
The MAX31331 was not correctly updating the seconds when setting the time and would return the seconds previously set. Like the MAX31343, a delay needs to be added after setting the time. Wait one second after writing so that the date command shows the correct time. Reviewed-by: Chris Packham <[email protected]> Reviewed-by: Bruce Adams <[email protected]> Signed-off-by: Ben Hoelker <[email protected]>
2025-09-09configs: starfive: Add visionfive2 CONFIG_DNS enabledE Shattow
Enable CONFIG_DNS for visionfive2 board target. With CONFIG_PROT_DNS_LWIP enabled and CONFIG_CMD_DNS disabled this restores DNS functionality displaced by LwIP DNS refactoring during the merge window. Signed-off-by: E Shattow <[email protected]>
2025-09-08configs: Fix crash on coreboot x86Patrick Rudolph
Booting u-boot as payload with coreboot's main branch is currently broken since commit [1] on x86 as U-boot assumes the active GDT matches what U-Boot would have installed in start16.S. Make no assumptions and always load the GDT when building as coreboot payload to make sure the segment registers are actually matching the GDT. Fixes #GP seen when booting U-Boot as coreboot payload. 1: https://review.coreboot.org/c/coreboot/+/87255 Signed-off-by: Patrick Rudolph <[email protected]> Link: https://review.coreboot.org/c/coreboot/+/87255 Reviewed-by: Tom Rini <[email protected]>
2025-09-08Merge tag 'v2025.10-rc4' into nextTom Rini
Prepare v2025.10-rc4
2025-09-08Prepare v2025.10-rc4v2025.10-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-09-08MAINTAINERS: Add entry for DesignWare XGMAC driverBoon Khai Ng
Add a MAINTAINERS entry for the DesignWare XGMAC network driver to ensure future patches are properly routed for review and support. Signed-off-by: Boon Khai Ng <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-08configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2025-09-08Merge patch series "AM57 boot fixes"Tom Rini
Anurag Dutta <[email protected]> says: This patch series migrates from .h to .env format for am57xx/dra7xx. Also, we do relevant changes so that the fdtfile can be set from C code. logs : https://gist.github.com/anuragdutta731/82560cc9bc958ca70a25a95a7031eeea Link: https://lore.kernel.org/r/[email protected]
2025-09-08board: ti: dra7xx: Set fdtfile from C code instead of findfdt scriptAnurag Dutta
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". Signed-off-by: Anurag Dutta <[email protected]>
2025-09-08board: ti: am57xx: Set fdtfile from C code instead of findfdt scriptAnurag Dutta
We now can provide a map and have the standard fdtfile variable set from code itself. This allows for bootstd to "just work". Signed-off-by: Anurag Dutta <[email protected]>
2025-09-08board: ti: am57xx: Change to using .envAnurag Dutta
Move to using .env file for setting up environment variables for am57xx and dra7xx. Signed-off-by: Anurag Dutta <[email protected]>
2025-09-08include: env: ti: Use .env for environment variablesAnurag Dutta
Add omap common environment variables to .env. We retain the old-style C environment .h files to maintain compatibility with other omap devices that have not moved to using .env yet. Signed-off-by: Anurag Dutta <[email protected]>
2025-09-08Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
2025-09-07arm64: renesas: r8a779g3: Use $loadaddr in bootcmd on Retronix R-Car V4H ↵Marek Vasut
Sparrow Hawk board Avoid use of hard-coded address in boot command, instead use $loadaddr which is the default load address. This improves consistency of the environment on this board. Signed-off-by: Marek Vasut <[email protected]>
2025-09-07ARM: renesas: Enable CONFIG_ENV_VARS_UBOOT_CONFIG on all boardsMarek Vasut
The CONFIG_ENV_VARS_UBOOT_CONFIG extends U-Boot environment with variables arch/board/board_name/soc/vendor, which can be used to discern different devices from each other based purely on U-Boot environment variables. Signed-off-by: Marek Vasut <[email protected]>
2025-09-05Merge tag 'u-boot-imx-next-20250905a' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/27573 - Several improvements for kontron-sl-mx6ul. - Add Phytec imx8mp-libra-fpsc board - Add redundant environment support for imx8m evk boards. - Several improvements for phycore-imx93.
2025-09-05Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsungTom Rini
- Fix issues reported by smatch - exynos4210-origen cleanups - e850-96 improvements
2025-09-05Add imx8mp-libra-fpsc boardBenjamin Hahn
Add new imx8mp-libra-fpsc board. Bootph tags as well as USB device tree nodes are in u-boot.dtsi for now and will be removed when upstreamed. The Libra i.MX 8M Plus FPSC is a single board computer. It uses an i.MX 8M Plus FPSC [1] System on Module which utilizes the FPSC standard [2]. [1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-8m-plus-fpsc [2] https://www.phytec.eu/en/produkte/system-on-modules/fpsc Signed-off-by: Benjamin Hahn <[email protected]> Reviewed-by: Teresa Remmet <[email protected]> Tested-by: Teresa Remmet <[email protected]> Signed-off-by: Yannic Moog <[email protected]>
2025-09-05imx8m[m,n,p]_evk: Add redundant environment supportFabio Estevam
For reliable Over The Air update, it is recommended that redundant environment is used. Add redundant environment support for the i.MX8M EVK boards. While at it, increase the environment size and adjust the offset. Signed-off-by: Fabio Estevam <[email protected]>
2025-09-05board: phytec: phycore-imx93: Use CONFIG_PHYTEC_EEPROM_BUSPrimoz Fiser
Switch to use CONFIG_PHYTEC_EEPROM_BUS instead of the hard coded value of 2 for the EEPROM I2C bus for both SPL and U-Boot proper. Possible since commit 88a1816a9b4e ("board: phytec: common: Add PHYTEC_EEPROM_BUS to Kconfig"). Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>