summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-10-08rtc: Make U_BOOT_DRIVER entries uniqueTom Rini
All instances of the U_BOOT_DRIVER must use a unique name or they will lead to link time failures due to name space conflicts when both are present. In this case the driver was reusing the max313xx name. Signed-off-by: Tom Rini <[email protected]>
2025-10-08gpio: aspeed: Make U_BOOT_DRIVER entries uniqueTom Rini
All instances of the U_BOOT_DRIVER must use a unique name or they will lead to link time failures due to name space conflicts when both are present. In this case gpio-aspeed-g7 was using the same name as gpio-aspeed. Signed-off-by: Tom Rini <[email protected]>
2025-10-08pci: Remove pcie_intel_fpga driverTom Rini
This driver has never been enabled by a platform since introduction and does not currently compile. Remove it. Signed-off-by: Tom Rini <[email protected]>
2025-10-08arm: dts: k3-am654: add vin-supply regulators for DDRBryan Brattlof
As of commit f98d812e5353 ("power: regulator: Add vin-supply for GPIO and Fixed regulators") we must ensure the parent nodes of a regulator are present in DT if they are described in the vin-supply property For the am65x reference board the DRAM chips are fed by the 3v3 rail which is fed by the main 12v rail. Add the bootph properties to these DT nodes to prevent them from being pruned during the SPL build so we can enable power to the DRAM chips Signed-off-by: Bryan Brattlof <[email protected]> Tested-by: Nishanth Menon <[email protected]>
2025-10-08fs: ubifs: Fix and rework error handling in ubifs_finddirAndrew Goodbody
Add a null check for 'file' before dereferencing it and also rework the error handling to be a bit more sane. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-10-08fs: ubifs: Need to check return for being an error pointerAndrew Goodbody
The return value from alloc_super can be an error pointer so the error check needs to detect this as well as checking the pointer for being NULL. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-10-08fs: ubifs: Ensure buf is freed before returnAndrew Goodbody
Returning directly after buf has been allocated will result in a memory leak. Instead set the error code and goto the common unwind code to ensure that buf will be freed before returning. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-10-08ubi: extend support for LED activityYegor Yefremov
Add LED activity for ubi_dev_scan() and ubi_volume_read() routines. Signed-off-by: Yegor Yefremov <[email protected]>
2025-10-08drivers/mtd/ubispl/ubispl.c: limit copy sizeBenedikt Spranger
The fastmap VID header is embedded in struct ubi_scan_info. During fastmap scan, the header is copied into struct ubi_scan_info, if valid. The former code mixed up the amount of copied bytes and copied more bytes than nessesary. This had no side effect, since the affected struct members are uninitialized at that point and overwritten later. Limit the copied bytes to the VID header size. Signed-off-by: Benedikt Spranger <[email protected]> Reported-by: Andrew Goodbody <[email protected]>
2025-10-08mtd: ubi: Remove test that always failsAndrew Goodbody
When checking the VID header of a static volume there is an early test for data_size == 0 so testing for that condition again is guaranteed to fail. Just remove this piece of code. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-10-07cmd/dma: implement dmareset commandbriansune
This adds a new U-Boot command 'c5_pl330_dma' for Cyclone V SoCDK boards. It provides access to the Reset Manager's Per2ModRst register to release the reset for ARM PrimeCell PL330 DMA channels. This allows software to initialize and use the PL330 DMA controller properly after reset. Signed-off-by: Brian Sune <[email protected]> [trini: Minor style fixes] Signed-off-by: Tom Rini <[email protected]>
2025-10-07mkimage: Add help text for bundling TFA BL31 in mkimage -f autoMarek Vasut
Add missing help text for the -y and -Y parameters of mkimage. Fixes: 6dfd14e1228e ("mkimage: Add support for bundling TFA BL31 in mkimage -f auto") Signed-off-by: Marek Vasut <[email protected]>
2025-10-07board: ti: am335x: Do not call disabled PMIC functionsMaarten Brock
When PMIC drivers are disabled their undefined functions cannot be called. Signed-off-by: Maarten Brock <[email protected]>
2025-10-07misc: fs_loader: Use buffer pointer in request_firmware_into_buf_via_script()Marek Vasut
Use plain buffer pointer in request_firmware_into_buf_via_script() instead of a pointer to pointer. The later is not necessary as the request_firmware_into_buf_via_script() does not modify the buffer pointer. Update the mediatek driver to match. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Weijie Gao <[email protected]>
2025-10-07airoha: rework RAM size handling to support multiple RAM sizeChristian Marangi
There are multiple version of the same reference board with different RAM size and it's not enough to base the RAM size entirely from DT. To better support it use the get_ram_size way to scan for the actual RAM size of Airoha SoC and increase the size of the memory map. Also rework the memory map to account for 2 memory map. The first one of 2GB for 32bit DMA and for safe usage of U-Boot. The second one for the rest of the RAM since up to 8GB are supported. Reviewed-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Christian Marangi <[email protected]>
2025-10-07Merge patch series "Add support for secure falcon mode: load kernel image ↵Tom Rini
before args" Anshul Dalal <[email protected]> says: During the implementation of falcon mode for TI's K3 devices [1], I encountered several limitations in regards to the current falcon mode support in U-Boot especially in ensuring a secure boot flow. Although the current implementation allows for loading of a signed fitImage as the SPL payload, there are still a few edge cases that might allow bypassing the verified boot path. The following issues with current falcon mode need to be resolved: 1) No fallback: We currently fallback to regular boot flow if falcon mode fails, this might not be secure. 2) No arguments file: We currently load a kernel file (which could be a raw image or FIT) alongside an args file (usually the DT). The args file here doesn't have any verification mechanism, so should be skipped altogether as the FIT can contain the DT. 3) No access to env: In ext and fat fs boot, currently we also reads the environment to get the names of the kernel and the arg file. This should be disabled in secure falcon flow as the env might not be secure. 4) No raw image boot: Boot should fail when the kernel file is a raw kernel image, only FIT should be allowed. As per the recommendation of maintainers[2], I have decided to split the above set of tasks into multiple patch series. This is the first one which fixes the load order of kernel image and the args file in falcon mode. Along with some minor cleanup. [1]: https://lore.kernel.org/u-boot/[email protected]/ [2]: https://lore.kernel.org/u-boot/20250911172313.GT124814@bill-the-cat/ Link: https://lore.kernel.org/r/[email protected]
2025-10-07spl: ext, fat: cleanup use of CONFIG_SPL_LIBCOMMON_SUPPORTAnshul Dalal
Minor cleanup of spl_ext and spl_fat files, removing the outdated CONFIG_SPL_LIBCOMMON_SUPPORT symbols similar to the commit 1847129025e0 ("spl: mmc: Drop checks for CONFIG_SPL_LIBCOMMON_SUPPORT") and adding a few extra failure reports. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2025-10-07spl: mmc: load kernel image before args in falconAnshul Dalal
Load the kernel image before args in falcon mode to be consistent with the load order for other boot media. Signed-off-by: Anshul Dalal <[email protected]>
2025-10-07spl: ext: load kernel image before args in falconAnshul Dalal
Load the kernel image before args in falcon mode to be consistent with the load order for other boot media. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2025-10-07spl: fat: load kernel image before args in falconAnshul Dalal
Currently in falcon mode, the FS and raw mmc boot loads the args file first followed by the kernel image whereas others load in the opposite order. This inconsistency means falcon boot doesn't behave the same across various boot media. For example, in the case where the kernel file is a FIT with the kernel image present alongside the dtb and the args file is another DT, which DT should be picked? The one form the FIT or the one set by the args file? Currently this depends entirely on how the boot media handles falcon mode. Therefore, this patch enforces the load order of the kernel image first followed by the args file in FAT FS boot. So in the above example, the args file would take precedence. Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Anshul Dalal <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Convert to OF_UPSTREAMFrieder Schrempf
Switch to OF_UPSTREAM to make use of the upstream devicetree. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Force default environment for serial loader bootEberhard Stoll
Enable CONFIG_ENV_IS_NOWHERE and force default environment when SoC boots from serial loader. In this case the U-Boot environment cannot be stored to flash with the 'saveenv' command. This makes serial loader boot completely independent from any environment stored in flash. Signed-off-by: Eberhard Stoll <[email protected]> Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Autostart fastboot if booted from USBFrieder Schrempf
This is useful for development and manufacturing setups as fastboot can be used without requiring any user input on the device. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Enable USB hub on BL i.MX8MM OSM-S boardFrieder Schrempf
Probe the USB hub on the BL i.MX8MM OSM-S board. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Enable standard boot and disable legacy distro bootFrieder Schrempf
The bootstd framework is the new way to support various bootflows and media. Use it instead of legacy distro boot. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Enable multiple useful commands, drivers and featuresFrieder Schrempf
Enable a bunch of useful features such as: * Linux devicetree fixups * devicetree overlay support * secure boot dependencies * commands (filesystems, disks, etc.) * fastboot support * USB storage/ethernet Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Export current env config to devicetreeFrieder Schrempf
This allows userspace tools like libubootenv to determine the location of the currently used environment and select a matching config. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Use eMMC boot part for environment if booting from eMMCFrieder Schrempf
Depending on the MMC boot device, select the proper location for the environment. * SD card and eMMC main partition: use offsets from CONFIG_ENV_OFFSET and CONFIG_ENV_OFFSET_REDUND. * eMMC boot partition: use offset -2*ENV_SIZE and -ENV_SIZE from the end of the partition. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Add support for EEPROM on OSM-S moduleFrieder Schrempf
Enable config options to access the EEPROM on the OSM-S i.MX8MM SoM module. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Enable fixed regulatorsFrieder Schrempf
Enable support for using fixed regulators from the devicetree and auto enable them if requested. This way U-Boot will enable the CARRIER_PWR_EN signal of the OSM module automatically while initializing the board. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Remove deprecation warning for old modulesFrieder Schrempf
The module version this warning is referring to never really existed except for in-house development and there is a conflict with the I2C address used for detecting it and the I2C EEPROM of the latest OSM-S module. Remove the check. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Enable SDP support for loading via USBFrieder Schrempf
Enable everything that is required to load via USB. The SPL needs SDP support so it can load the U-Boot proper image via USB after it has been loaded via serial loader mode of the i.MX. This way we can use the uuu tool for loading SPL and U-Boot proper like this: uuu -brun flash.bin Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07imx: kontron-sl-mx8mm: Increase CONFIG_SPL_MAX_SIZEFrieder Schrempf
The limit of 0x27000 (156 KiB) was valid at times the DDR firmware required a fixed amount of 96 KiB of space. Now that we use binman to include the DDR firmware it only needs around 57 KiB of space and there is more room for the SPL. Increase the max SPL size to 196 KiB so there is still 60 KiB for DDR firmware. This allows us to enable USB and SDP support in SPL. Signed-off-by: Frieder Schrempf <[email protected]>
2025-10-07board: phytec: phycore_imx8mp: Add rauc to bootmethsMartin Schwan
Add rauc to bootmeths variable if BOOTMETH_RAUC is enabled. This is setting a proper default for RAUC enabled systems. Signed-off-by: Martin Schwan <[email protected]>
2025-10-06Merge branch 'next'Tom Rini
Merge the outstanding changes from the 'next' branch to master.
2025-10-06Prepare v2025.10v2025.10Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-10-05cmd: mtd: add benchmark option to the helpMikhail Kshevetskiy
The patch adds benchmark option to the help of mtd command. For the 'mtd write' case the help line exceed 80 characters. Ignore this issue as modern terminals are capable to handle more characters. The patch also formats other command to make sure all device names starts on the same collumn. Fixes: d246e70cf81d0 ("cmd: mtd: Enable speed benchmarking") Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05cmd: mtd: fix speed measurement in the speed benchmarkMikhail Kshevetskiy
The shown speed is inversely proportional to the data size. See the output: spi-nand: spi_nand nand@0: Micron SPI NAND was found. spi-nand: spi_nand nand@0: 256 MiB, block size: 128 KiB, page size: 2048, OOB size: 128 ... => mtd read.benchmark spi-nand0 $loadaddr 0 0x40000 Reading 262144 byte(s) (128 page(s)) at offset 0x00000000 Read speed: 63kiB/s => mtd read.benchmark spi-nand0 $loadaddr 0 0x20000 Reading 131072 byte(s) (64 page(s)) at offset 0x00000000 Read speed: 127kiB/s => mtd read.benchmark spi-nand0 $loadaddr 0 0x10000 Reading 65536 byte(s) (32 page(s)) at offset 0x00000000 Read speed: 254kiB/s In the spi-nand case 'io_op.len' is not always the same as 'len', thus we are using the wrong amount of data to derive the speed. Also make sure we are using 64-bit calculation to get a more precise results. Fixes: d246e70cf81d0 ("cmd: mtd: Enable speed benchmarking") Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05cmd: mtd: add nand_read_test command supportMikhail Kshevetskiy
This patch implements read-only test of nand flash devices. Test reads blocks of NAND flash in normal and raw modes and compares results. The following statuses can be returned for a block: * non-ecc reading failed, * ecc reading failed, * block is bad, * bitflips is above maximum, * actual number of biflips above reported one, * bitflips reached it maximum value, * bitflips above threshold, * block is ok. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05cmd: mtd: add nand_write_test command supportMikhail Kshevetskiy
Some nand flashes (like spi-nand one) are registered with mtd subsystem only, thus nand command can't be used to work with such flashes. As result some functionality is missing. This patch implements 'nand torture' functionality for mtd command. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05cmd: mtd: add markbad command supportMikhail Kshevetskiy
Some nand flashes (like spi-nand one) are registered with mtd subsystem only, thus nand command can't be used to work with such flashes. As result some functionality is missing. This patch implements 'nand markbad' functionality for mtd command. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: repeat reading in regular mode if continuous reading failsMikhail Kshevetskiy
Continuous reading may result in multiple flash pages reading in one operation. Unfortunately, not all spinand controllers support such large reading. They will read less data. Unfortunately, the operation can't be continued. In this case: * disable continuous reading on this (not good enough) spi controller * repeat reading in regular mode. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: try a regular dirmap if creating a dirmap for continuous ↵Mikhail Kshevetskiy
reading fails Continuous reading may result in multiple flash pages reading in one operation. Typically only one flash page has read/written (a little bit more than 2-4 Kb), but continuous reading requires the spi controller to read up to 512 Kb in one operation without toggling CS in beetween. Roughly speaking spi controllers can be divided on 2 categories: * spi controllers without dirmap acceleration support * spi controllers with dirmap acceleration support Firt of them will have issues with continuous reading if restriction on the transfer length is implemented in the adjust_op_size() handler. Second group often supports acceleration of single page only reading. Thus enabling of continuous reading can break flash reading. This patch tries to create dirmap for continuous reading first and fallback to regular reading if spi controller refuses to create it. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: fix direct mapping creation sizesMikhail Kshevetskiy
Continuous mode is only supported for data reads, thus writing requires only single flash page mapping. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: Sync core code and device support with Linux 6.17-rc1Mikhail Kshevetskiy
This makes the U-Boot SPI NAND driver almost the same as in Linux 6.17-rc1. The only major differences are: * support of ECC engines. The Linux driver supports different ECC engines while U-Boot uses on-die ECC only. * per operation maximum SPI bus frequency Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Frieder Schrempf <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: Add a ->configure_chip() hookMiquel Raynal
There is already a manufacturer hook, which is manufacturer specific but not chip specific. We no longer have access to the actual NAND identity at this stage so let's add a per-chip configuration hook to align the chip configuration (if any) with the core's setting. This is a port of linux commit da55809ebb45 ("mtd: spinand: Add a ->configure_chip() hook") Signed-off-by: Miquel Raynal <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]> # U-Boot port Reviewed-by: Frieder Schrempf <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: propagate spinand_wait() errors from spinand_write_page()Gabor Juhos
Since commit 3d1f08b032dc ("mtd: spinand: Use the external ECC engine logic") the spinand_write_page() function ignores the errors returned by spinand_wait(). Change the code to propagate those up to the stack as it was done before the offending change. This is a port of linux commit 091d9e35b85b ("mtd: spinand: propagate spinand_wait() errors from spinand_write_page()") Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]> # U-Boot port Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: Enhance the logic when picking a variantMikhail Kshevetskiy
Currently the best variant picked in the first one in the list provided in the manufacturer driver. This worked well while all operations where performed at the same speed, but with the introduction of DTR transfers this no longer works correctly. Let's continue iterating over all the alternatives, even if we find a match, keeping a reference over the theoretically fastest operation. Only at the end we can tell which variant is the best. This logic happening only once at boot. The patch is based on linux commit 666c299be696 (mtd: spinand: Enhance the logic when picking a variant) created by Miquel Raynal <[email protected]> The code was a bit restricted in the functionality since not all required functionality is supported in the u-boot. Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Frieder Schrempf <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: add OTP supportMikhail Kshevetskiy
The code was ported from linux-6.15 based on a linux commit c06b1f753bea (mtd: spinand: add OTP support) created by Martin Kurbanov <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]> Reviewed-by: Frieder Schrempf <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>
2025-10-05mtd: spinand: Add read retry supportCheng Ming Lin
When the host ECC fails to correct the data error of NAND device, there's a special read for data recovery method which can be setup by the host for the next read. There are several retry levels that can be attempted until the lost data is recovered or definitely assumed lost. This is the port of linux commit f2cb43c98010 (mtd: spinand: Add read retry support) Signed-off-by: Cheng Ming Lin <[email protected]> Signed-off-by: Miquel Raynal <[email protected]> Signed-off-by: Mikhail Kshevetskiy <[email protected]> # U-Boot port Reviewed-by: Frieder Schrempf <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]>