summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-08video: bridge-uclass: add get_display_timing opsSvyatoslav Ryhel
Add get_display_timing ops for internal bridges linked to panels that do not support EDID (MIPI-DSI panels for example) or have EDID not routed. Tested-by: Dang Huynh <[email protected]> (PineTab 2) Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-03-08test: dm: add ofnode_graph testsSvyatoslav Ryhel
Test suit for of_graph parsing helpers. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-08core: ofnode: add of_graph parsing helpersSvyatoslav Ryhel
Add a mostly complete list of ofnode analogs of of_graph parsing helpers. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-08sandbox: remap memory load addressesSvyatoslav Ryhel
The existing memory layout places the bloblist at 0xb000 and the fdt at 0x100, resulting in a 0xaf00 size constraint for the fdt. This constraint has been reached. Lets modify the layout by moving the bloblist to 0x100, device tree to 0x1000 and placing early memory allocation after pre-console buffer at 0xf4000. This should guarantee sufficient memory allocation for future expansion. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-07Merge patch series "This series adds support for file renaming to ↵Tom Rini
EFI_FILE_PROTOCOL.SetInfo()." Gabriel Dalimonte <[email protected]> says: This series adds support for file renaming to EFI_FILE_PROTOCOL.SetInfo(). One of the use cases for renaming in EFI is to facilitate boot loader boot counting. No existing filesystems in U-Boot currently include file renaming, resulting in support for renaming at the filesystem level and a concrete implementation for the FAT filesystem. Link: https://lore.kernel.org/r/[email protected]
2025-03-07efi_loader: support file rename in SetInfo()Gabriel Dalimonte
Following the UEFI specification. The specification did not seem to delineate if file_name was explicitly a file name only, or could include paths to move the file to a different directory. The more generous interpretation of supporting paths was selected. Signed-off-by: Gabriel Dalimonte <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-07efi_loader: move path out of file_handleGabriel Dalimonte
In order to support renaming via SetInfo(), path must allow for longer values than what was originally present when file_handle was allocated. Signed-off-by: Gabriel Dalimonte <[email protected]>
2025-03-07fs: fat: update parent dirs metadata on dentry create/deleteGabriel Dalimonte
POSIX filesystem functions that create or remove directory entries contain text along the lines of "[function] shall mark for update the last data modification and last file status change timestamps of the parent directory of each file." [1][2][3] The common theme is these timestamp updates occur when a directory entry is added or removed. The create_link() and delete_dentry_link() functions have been changed to update the modification timestamp on the directory where the direntry change occurs. This differs slightly from Linux in the case of rename(), where Linux will not update `new_path`'s parent directory's timestamp if it is replacing an existing file. (via `vfat_add_entry` [4]) The timestamps are not updated if the build configuration does not support RTCs. This is an effort to minimize introducing erratic timestamps where they would go from [current date] -> 2000-01-01 (error timestamp in the FAT driver). I would assume an unchanged timestamp would be more valuable than a default timestamp in these cases. [1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/rename.html [2] https://pubs.opengroup.org/onlinepubs/9799919799/functions/unlink.html [3] https://pubs.opengroup.org/onlinepubs/9799919799/functions/open.html [4] https://elixir.bootlin.com/linux/v6.12.6/source/fs/fat/namei_vfat.c#L682 Signed-off-by: Gabriel Dalimonte <[email protected]>
2025-03-07fs: fat: add renameGabriel Dalimonte
The implementation roughly follows the POSIX specification for rename() [1]. The ordering of operations attempting to minimize the chance for data loss in unexpected circumstances. The 'mv' command was implemented as a front end for the rename operation as that is what most users are likely familiar with in terms of behavior. The 'FAT_RENAME' Kconfig option was added to prevent code size increase on size-oriented builds like SPL. [1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/rename.html Signed-off-by: Gabriel Dalimonte <[email protected]>
2025-03-07fs: add rename infrastructureGabriel Dalimonte
The selection for *rename as the name for the rename/move operation derives from the POSIX specification where they name the function rename/renameat. [1] This aligns with Linux where the syscalls for renaming/moving also use the rename/renameat naming. [1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/rename.html Signed-off-by: Gabriel Dalimonte <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-03-07fs: fat: factor out dentry link create/deleteGabriel Dalimonte
The create_link() code was previously duplicated in two existing functions. The two functions will be used in a future commit to achieve renaming. Signed-off-by: Gabriel Dalimonte <[email protected]>
2025-03-05scripts/checkpatch.pl: Upgrade IS_ENABLED_CONFIG to error for U-BootTom Rini
A problem we have today is that some instances of IS_ENABLED(FOO) have crept in to the code. This is in turn because with checkpatch.pl this is only a warning and not an error, so they were overlooked. And looking deeper, in the Linux kernel this pattern is allowed because IS_ENABLED(DEFINED_FLAG) is allowed if discouraged and a quick skim of the instances I saw in the current kernel follow this pattern. In U-Boot however, this is not allowed, so bump to an error. Signed-off-by: Tom Rini <[email protected]>
2025-03-05fs/squashfs: Fix memory leak in sqfs_size_nest()Andrea della Porta
In case MAX_SYMLINK_NEST is reached while determining the size on a symlink node, the function returns immediately. This would not free the resources after the free_strings: label causing a memory leak. Set the ret value and just break out of the switch to fix this. Signed-off-by: Andrea della Porta <[email protected]> Reviewed-by: Miquel Raynal <[email protected]>
2025-03-05mcheck: Fix SPDX License Identifier to LGPL-2.1-or-laterDiederik de Haas
The GPL-2.1+ SPDX License Identifier doesn't exist, but luckily the full license text was available which shows that GPL-2.1+ was a typo and it should have been LGPL-2.1-or-later. As the '+' in LGPL-2.1+ is deprecated in SPDX 3.0, use the preferred identifier, which is '-or-later'. Normally the full license header is removed when switching to SPDX License Identifiers, so do that now. Signed-off-by: Diederik de Haas <[email protected]>
2025-03-05MAINTAINERS: .mailmap: Update Sumit Garg's email addressSumit Garg
Update Sumit Garg's email address to @kernel.org. Signed-off-by: Sumit Garg <[email protected]>
2025-03-05Merge tag 'xilinx-for-v2025.04-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-microblaze AMD/Xilinx changes for v2025.04-rc4 Zynq: - Guard code around SPL_FS_LOAD_PAYLOAD_NAME Versal*: - Remove tftp block size 4096 Versal: - Use clocks per DT binding - Store driver data in data section Versal Gen 2: - Fix major/minor version decoding
2025-03-05xilinx: Remove tftp block size 4096Padmarao Begari
The zynqmp gem driver support max MTU size 1536, so remove tftp block size 4096 from defconfig and use default tftp block size. Fixes: a33b4b96b3cf ("xilinx: Enable MBEDTLS/LWIP/WGET and WGET_HTTPS") Signed-off-by: Padmarao Begari <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-03-04Merge patch series "tools: Minor clean-ups for the command library"Tom Rini
Simon Glass <[email protected]> says: This series adds comments and fixes pylint warnings in the command library. It also introduces a new, simpler way of running a single command. Link: https://lore.kernel.org/r/[email protected]
2025-03-04u_boot_pylib: Add a function to run a single commandSimon Glass
Add a helper to avoid needing to use a list within a list for this simple case. Update existing users of runpipe() to use this where possible. Signed-off-by: Simon Glass <[email protected]>
2025-03-04u_boot_pylib: Fix pylint warnings in commandSimon Glass
This file has a lot of warnings. Before adding any more features, fix those which are straightforward to resolve. Signed-off-by: Simon Glass <[email protected]>
2025-03-04u_boot_pylib: Add an exception-class for errorsSimon Glass
Throwing an Exception is not very friendly since it is the top-level class of all exceptions. Declare a new class instead. Signed-off-by: Simon Glass <[email protected]>
2025-03-04u_boot_pylib: Correct case for test_resultSimon Glass
This should be in capitals and defined at the start of the file. Update it. Signed-off-by: Simon Glass <[email protected]>
2025-03-04led: Fix next Coverity scan errorHeiko Schocher
The following was reported by Coverity scan: *** CID 542488: Control flow issues (NO_EFFECT) /drivers/led/led-uclass.c: 277 in led_get_function_name() 271 return uc_plat->label; 272 273 /* Now try to detect function label name */ 274 func = dev_read_string(dev, "function"); 275 cp = dev_read_u32(dev, "color", &color); 276 // prevent coverity scan error CID 541279: (TAINTED_SCALAR) >>> CID 542488: Control flow issues (NO_EFFECT) >>> This less-than-zero comparison of an unsigned value is never true. "color < 0U". 277 if (color < LED_COLOR_ID_WHITE || color >= LED_COLOR_ID_MAX) 278 cp = -EINVAL; 279 Fix it. Addresses-Coverity-ID: 542488 Link: https://lists.denx.de/pipermail/u-boot/2025-February/581567.html Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-03-04gpio: 74x146: depend on DM_SPIJ. Neuschäfer
Currently, Kconfig allows building CONFIG_DM_74X164 without CONFIG_DM_SPI, which results in linker errors because this driver actually uses dm_spi_* functions: drivers/gpio/74x164_gpio.o: in function `gen_74x164_write_conf': undefined reference to `dm_spi_claim_bus' undefined reference to `dm_spi_xfer' undefined reference to `dm_spi_release_bus' Signed-off-by: J. Neuschäfer <[email protected]>
2025-03-04Merge patch series "Syncing up on skip-at-start"Tom Rini
Simon Glass <[email protected]> says: This series has the skip-at-start change and a few fixes. Sadly it also includes a revert for the dm_probe_devices() patch, since it breaks jerry (RK3288). I will need to investigate way. It is based on -next and I can send a PR if desired. https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/24835 Link: https://lore.kernel.org/r/[email protected]
2025-03-04x86: Stop working around skip-at-startSimon Glass
With a recent Binman change, the skip-at-start property is now honoured, meaning that all image-pos values in the affected section start from the skip-at-start value. The x86 code works around the old behaviour at present, so update it. Signed-off-by: Simon Glass <[email protected]>
2025-03-04binman: Honour the skip-at-start property more faithfullySimon Glass
A discussion on the mailing list about dealing with block offsets and binman symbols made me think that something is wrong with how Binman deals with the skip-at-start property. The feature was originally designed to handle x86 ROMs, which are mapped at the top of the address space. That seemed too specific, whereas skipping some space at the start seemed more generally useful. It has proved useful. For example, rockchip images start at block 64, so a skip-at-start of 0x8000 deals with this. But it doesn't actually work correctly, since the image_pos value does not give the actual position on the media. Fix this and update the documentation, moving it into the 'section' section. Signed-off-by: Simon Glass <[email protected]>
2025-03-04Revert "dm: core: Simplify dm_probe_devices()"Simon Glass
Unfortunately this change was not safe as some devices are bound before relocation, but we don't want to probe them. It causes 'raise: Signal # 8 caught' on jerry. Move the bootstage timer to after autoprobe in initf_dm() since the trace test does not tolerate any variance. This reverts commit 21dd873572a01d74bfdfceb7a30b056f8ccba187. Signed-off-by: Simon Glass <[email protected]>
2025-03-04binman: Rename Entry.end_4gbSimon Glass
The property is named end_at_4gb so name the variable the same, to avoid confusion. Signed-off-by: Simon Glass <[email protected]>
2025-03-04samsung: snow: Use BLOBLIST_FIXEDSimon Glass
Snow requires a fixed bloblist to operate, so re-enable this option. Signed-off-by: Simon Glass <[email protected]> Fixes: 864106f3c47 ("bloblist: Make BLOBLIST_ALLOC the default")
2025-03-04board: verdin-am62: fix missing memory fixup callStefan Eichenberger
The commit bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled") broke DRAM support for the Verdin AM62. This was partially fixed with commit 3f866c47b582 ("board: verdin-am62: add dram_init_banksize"). However, because fixup_memory_node was not called, the Linux kernel was started with the wrong memory size on modules with less memory available. This resulted in boot failures. Fix this issue by calling fixup_memory_node in the board file. spl_perform_fixups will be called in the SPL and now sets the correct memory size in the device tree of U-Boot by calling fixup_memory_node. U-Boot will then adjust the memory sizes of Linux during bootm/booti in fdt_fixup_memory_banks. This chain ensures that U-Boot and Linux only use RAM that is actually available. Fixes: 3f866c47b582 ("board: verdin-am62: add dram_init_banksize") Fixes: bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled") Signed-off-by: Stefan Eichenberger <[email protected]> Acked-by: Francesco Dolcini <[email protected]>
2025-03-04miiphy: define mii_devs with LIST_HEAD()Weijie Gao
When enabling net console and console multiplexing, a boot crash was observed using mtk_eth driver with stdin/stdout set to "serial,nc" in persistent environment: > CPU: MediaTek MT7981 > Model: OpenWrt One > DRAM: 1 GiB > Core: 35 devices, 15 uclasses, devicetree: separate > spi-nand: spi_nand spi_nand@0: Winbond SPI NAND was found. > spi-nand: spi_nand spi_nand@0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64 > Loading Environment from UBI... SF: Detected w25q128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB > mtd: partition "ubi" extends beyond the end of device "spi-nand0" -- size truncated to 0x7f00000 > Read 126976 bytes from volume ubootenv to 000000007f7bf0c0 > Read 126976 bytes from volume ubootenv2 to 000000007f7de100 > OK > "Synchronous Abort" handler, esr 0x96000004, far 0xeafffffeea000018 > elr: 0000000041e63cd4 lr : 0000000041e1b844 (reloc) > elr: 000000007ff9ecd4 lr : 000000007ff56844 > x0 : eafffffeea000018 x1 : 000000007fb552e0 > x2 : 00000000000000fe x3 : 0000000000000000 The cause is that "serial,nc" forced the console subsystem to initialize the ethernet driver before ethernet subsystem initialization (console_init_r() is called before initr_net()). During the mtk_eth driver initialization, mdio_register() will be called, and miiphy_get_dev_by_name() will then be called. The miiphy_get_dev_by_name() will check the list "mii_devs" to see if the passed device name exists. However the mii_devs is defined without initialization: > static struct list_head mii_devs; and the actual initialization is done in the following chain: initr_net -> eth_initialize -> eth_common_init -> miiphy_init Since initr_net() hasn't be called, iterating over the mii_devs will access to physical address 0 (mii_devs.next == NULL) and will cause the crash. The fix is to define mii_devs using: > static LIST_HEAD(mii_devs); As the "current_mii" is defined as a static variable, it will always be NULL in board_r stage and initializing it will NULL is unnecessary. So the entire miiphy_init() can be remove. Signed-off-by: Weijie Gao <[email protected]>
2025-03-03lib: ecdsa: fix prevent memory leak in ecdsa_add_verify_dataAnton Moryakov
- Ensure `free_ctx` is called in both error and success paths. - Fix memory leak in `ctx.signature` when `do_add` fails." Triggers found by static analyzer Svace. Signed-off-by: Anton Moryakov <[email protected]>
2025-03-03tiny-printf: emit \0 as %cAlexander Sverdlin
The current code has a problematic corner case with formar "%c" and 0 as parameter. The proper zero byte is being emitted into digit buffer but the final copy into outstr expects null-terminated string and doesn't copy the required \0 byte. This has lead to malformed TFTP packets, refer to tftp_send() which relies on %c to generate multiple zero-terminated strings in one buffer. Introduce a variable to force the copy of one character in this case. The new behaviour is consistent with non-tiny implementation. Reported-by: Chintan Vankar <[email protected]> Signed-off-by: Alexander Sverdlin <[email protected]>
2025-03-03Merge patch series "arm: mach-k3: j722s: Enable ESM to support watchdogs"Tom Rini
Keerthy <[email protected]> says: The series enables watchdog support on J722S. It adds ESM initialization to enable routing the watchdog events to trigger a SOC reset. Link: https://lore.kernel.org/r/[email protected]
2025-03-03Merge patch series "J784S4: Enable USB DFU boot, DFU flash and UMS configs"Tom Rini
Siddharth Vadapalli <[email protected]> says: This series enables configs for USB DFU boot, USB DFU flash and USB Mass Storage command for J784S4. The device-tree changes required for enabling these features will be posted as patches to Linux device-tree mailing lists and will eventually make it to U-Boot via DT Sync. Link: https://lore.kernel.org/r/[email protected]
2025-03-03configs: j784s4_evm_a72_defconfig: enable USB DFU boot, DFU flash and UMSSiddharth Vadapalli
Enable support for USB DFU boot via USB0 instance of USB on J784S4 SoC which is a Cadence USB Controller. Additionally, enable support for USB DFU flash and USB Mass Storage (UMS) command. While at it, sync with savedefconfig. Signed-off-by: Siddharth Vadapalli <[email protected]>
2025-03-03configs: j784s4_evm_r5_defconfig: enable USB DFU bootSiddharth Vadapalli
The USB0 instance of USB on J784S4 SoC is a Cadence USB Controller and supports USB DFU boot. Enable support for it. Signed-off-by: Siddharth Vadapalli <[email protected]>
2025-03-03configs: j722s_evm_r5_defconfig: Enable the ESM Configs to support watchdogKeerthy
Enable ESM configs. ESMs are a prerequisite to enable watchdog reset functionality. The ESM aka error signalling module is primarily responsible for sensing the watchdog reset event. Signed-off-by: Keerthy <[email protected]>
2025-03-03arm: mach-k3: j722s: Initialize MCU & MAIN Domain ESMsKeerthy
Initialize MCU & MAIN Domain ESMs as a prerequisite to enable watchdog reset functionality. The ESM aka error signalling module is primarily responsible for sensing the watchdog reset event. Signed-off-by: Keerthy <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2025-03-03MAINTAINERS: Update contact information for Greg MalysaGreg Malysa
My previous address is no longer accessible, but I will continue to be involved in maintaining the ADI sc5xx platforms. This updates my contact information and hopefully avoids bouncing emails from other developers. Signed-off-by: Greg Malysa <[email protected]>
2025-03-03arm64: versal2: Show major and minor silicon versionMichal Simek
ES1 silicon is 0x10 (16) and production is 0x20 (32) but correct number to see are v1.0 or v2.0 instead of v16 or v32. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/20095339334fe07f373ffae3bdbfec51f5a00dc7.1739882585.git.michal.simek@amd.com
2025-03-03clk: versal: Store driver data in data sectionPadmarao Begari
Line 171 in README is describing that before relocation no code should use global variable because global variables are placed to BSS section which is initialized to 0 after relocation. On Versal platforms clock driver is initialized before relocation (via using dm,bootph-all flag in DT) and global variables are initialized which works if this is used only before relocation. But the variables are used after relocation too but values are zeroed which is ending up incorrect behavior. That's why place variables to data section to ensure that values are not cleared which is for now the quickest temporary solution. The correct way to do it is to move all global variables to private data to avoid it. Signed-off-by: Padmarao Begari <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-03-03xilinx: zynq: Guard code around SPL_FS_LOAD_PAYLOAD_NAMEMichal Simek
Guard code around CONFIG_SPL_FS_LOAD_PAYLOAD_NAME usage to avoid compilation failure. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f15a9762494945814b06a71db90ee4db59dd17ed.1738910601.git.michal.simek@amd.com
2025-03-03Merge tag 'fsl-qoriq-2025-3-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/24933 Fixes: - Re-arm packet buffer in error case in tsec driver - Fix LS1021a build - Fix flush dcache alignment in caam_hash
2025-03-03Merge tag 'efi-2025-04-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/24904 UEFI: * Let efi_net_set_dp properly update the device path Network: * Avoid buffer overflows in wget_info with legacy TCP stack
2025-03-03clk: versal: Update the reference clocks as per bindingsVenkatesh Yadav Abbarapu
As per the bindings the reference clocks naming has changed from "pl_alt_ref_clk" to "pl_alt_ref" and "ref_clk" to "ref". Update the same in the clock driver. Also add the fallback option for older DT bindings. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-03-03crypto: fsl_hash: fix flush dcache alignment in caam_hash()Benjamin Lemouzy
Loading a FIT kernel image with hash hardware acceleration enabled (CONFIG_SHA_HW_ACCEL=y) displays the following CACHE warning: [...] Trying 'kernel-1' kernel subimage [...] Verifying Hash Integrity ... sha256CACHE: Misaligned operation at range [16000128, 1673fae8] [...] Trying 'ramdisk-1' ramdisk subimage [...] Verifying Hash Integrity ... sha256CACHE: Misaligned operation at range [1676d6d4, 1737a5d4] [...] Trying 'fdt-imx6q-xxx.dtb' fdt subimage [...] Verifying Hash Integrity ... sha256CACHE: Misaligned operation at range [1673fbdc, 1674b0dc] [...] This patch fixes it. Tested on: - i.MX 6 custom board - LS1021A custom board Signed-off-by: Benjamin Lemouzy <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-03-03board: freescale: fix LS1021a buildBenjamin Lemouzy
Fix build error "undefined reference to `is_warm_boot'" when ls1021atsn and ls1021atwr boards are built with CONFIG_SPL=y and CONFIG_DEEP_SLEEP=n. Signed-off-by: Benjamin Lemouzy <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-03-03net: tsec: Re-arm packet buffer in error caseJ. Neuschäfer
When an error is detected in the TSEC receive path, the driver currently prints an error message, but leaves the corresponding packet descriptor in its old state (i.e. owned by the CPU side). As a result, the packet queue can be starved of available buffers if enough errors happen. To recover from errors, re-arm the packet buffer descriptor after an error has been detected. Errors can be provoked by changing a PHY with phy-mode = "rgmii-id" to phy-mode = "rgmii". Signed-off-by: J. Neuschäfer <[email protected]> Signed-off-by: Peng Fan <[email protected]>