summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-06-16dfu: fix dev_part_str for file operationsIvan Pang
The third_arg for a dfu alt is read as an integer and is overloaded for different supported backends. For ext4 and fat, this third_arg represents the partition and forms the dev part string, which should have its partition in hex. This commit fixes dfu ext4/fat usage for devices with ten or more partitions. Signed-off-by: Ivan Pang <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Lukasz Majewski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-06-15Merge tag 'rpi-2025.07-rc4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi Updates for RPi for 2025.07-rc5: - configs: rpi: set NR_DRAM_BANKS to 8 to accommodate RAM on 16GB models
2025-06-15arm: dts: rockchip: Fix eMMC write on RK3528Jonas Karlman
Writing to eMMC on RK3528 is affected with the same or a similar issue as on RK3588, where eMMC must init to HS200 at least once to fully work. Trying to write u-boot-rockchip.bin to eMMC fails with: => mmc write $fileaddr 40 5000 MMC write: dev # 0, block # 64, count 20480 ... mmc write failed 0 blocks written: ERROR For U-Boot to enable HS200 mode the mmc-hs200-1_8v prop must be defined in the device tree. Linux does not seem to be affected and is able to detect and use HS200 without this prop. Enable use of HS200 and fix eMMC write on RK3528 by adding the missing mmc-hs200-1_8v prop for affected boards: => mmc write $fileaddr 40 5000 MMC write: dev # 0, block # 64, count 20480 ... 20480 blocks written: OK Fixes: b112a44531cb ("board: rockchip: Add minimal generic RK3528 board") Fixes: ccbddf645310 ("board: rockchip: Add Radxa E20C") Signed-off-by: Jonas Karlman <[email protected]>
2025-06-15configs: rpi: set NR_DRAM_BANKS to 8 to accommodate RAM on 16GB modelsJan Čermák
Raspberry Pi 5 can now have up to 16 GiB of RAM where the memory spans 8 DRAM banks in total. Increase the config value to 8 to initialize the whole RAM. Without this change, kernel only sees 8 GiB of RAM on the 16 GiB CM5 as reported in [1]. [1] https://github.com/home-assistant/operating-system/issues/3989 Signed-off-by: Jan Čermák <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
2025-06-14Merge patch series "linux/bitfield.h: sync <linux/bitfield.h> from Linux ↵Tom Rini
6.15 + winbond" Christian Marangi <[email protected]> says: This small series sync linux/bitfield.h from Linux 6.15 and fix all the compilation error due to a change in the header include. The sync is needed to make it easier to support the winbond changes. The changes are CI test with [1] [1] https://github.com/u-boot/u-boot/pull/777 Link: https://lore.kernel.org/r/[email protected]
2025-06-14mtd: spinand: winbond: add Winbond W25N04KV flash supportChristian Marangi
Add Winbond W25N04KV flash support that use a different value to detect ECC bitflip. Signed-off-by: Christian Marangi <[email protected]>
2025-06-14linux/bitfield.h: sync <linux/bitfield.h> from Linux 6.15Christian Marangi
Sync bitfield.h header with Linux 6.15 version. Mainly is to permit the introduction of FIELD_PREP_CONST. The bug.h header changed to build_bug.h doesn't cause any regression as we also ship split header similar to how it's done with in Linux. Signed-off-by: Christian Marangi <[email protected]>
2025-06-14arm: apple: rtkit: add missing header linux/bug.h and linux/bitops.hChristian Marangi
The GENMASK/GENMASK_ULL macro requires inclusion of linux/bitops.h header. It does currently work as bitfield.h includes it indirectly but this will change when bitfield.h will be synced with new Linux version. Also raw printf require linux/bug.h header (also currently included indirectly by bitfield.h) Explicitly include the headers to fix future compilation error. Signed-off-by: Christian Marangi <[email protected]>
2025-06-14iommu: qcom-smmu: add missing linux/bug.h header for WARN_ONChristian Marangi
The WARN macro requires inclusion of linux/bug.h header. It does currently work as bitfield.h includes it indirectly but this will change when bitfield.h will be synced with new Linux version. Explicitly include the header to fix future compilation error. Signed-off-by: Christian Marangi <[email protected]>
2025-06-14clk: imx: add missing linux/bug.h header for WARNChristian Marangi
The WARN macro requires inclusion of linux/bug.h header. It does currently work as bitfield.h includes it indirectly but this will change when bitfield.h will be synced with new Linux version. Explicitly include the header to fix future compilation error. Signed-off-by: Christian Marangi <[email protected]>
2025-06-14Merge patch series "Hex value prefix case cleanup"Tom Rini
E Shattow <[email protected]> says: Make consistent use of lowercase hexadecimal prefix '0x' throughout U-Boot. There are a few remaining uses of uppercase 'X' to denote hexadecimal prefix or placeholder in documentation and error messages. External devicetree-rebasing dts/upstream and the generated code of xilinx/zynq are ignored for the series. Link: https://lore.kernel.org/r/[email protected]
2025-06-14include: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in include/* Signed-off-by: E Shattow <[email protected]>
2025-06-14arch: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in arch/* Signed-off-by: E Shattow <[email protected]>
2025-06-14lib: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in lib/* Signed-off-by: E Shattow <[email protected]>
2025-06-14tools: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in tools/* Signed-off-by: E Shattow <[email protected]>
2025-06-14drivers: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in drivers/* Does not change hex prefix case in allcaps uppercase style error messages Signed-off-by: E Shattow <[email protected]>
2025-06-14board: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in board/* Does not change auto-generated files in xilinx/zynq/*/ps7_init_gpl.c Signed-off-by: E Shattow <[email protected]>
2025-06-14configs: use lowercase hex prefix styleE Shattow
Use consistent lowercase hex prefix style in configs/* Signed-off-by: E Shattow <[email protected]>
2025-06-13Merge patch series "drop volatile from global data"Tom Rini
Rasmus Villemoes <[email protected]> says: There's really no reason for the gd pointer to have the volatile qualifier. In fact, I claim that it's completely unnecessary and just pessimizes code generation and forces ugly casts in lots of places. For example, see the casts in drivers/core/tag.c where elements are added to gd->dm_taglist, or a helper such as cyclic_get_list() that should not be needed. Also, it is what ends up standing in the way of an otherwise innocent code cleanup of list.h: https://lore.kernel.org/u-boot/20250522165656.GB2179216@bill-the-cat/ Note that riscv, x86 as well as arm64 with LTO enabled has not had this volatile qualifier, so it's unlikely there's any generic code that depends on it. Link: https://lore.kernel.org/r/[email protected]
2025-06-13riscv: remove volatile from set_gd prototypeRasmus Villemoes
It's slightly ironic that riscv at very first had the gd pointer volatile qualified [6020faf62c3 ("riscv: nx25: include: Add header files to support RISC-V")], removed that back in 2018 [40717eb849c ("riscv: checkpatch: Fix use of volatile")], and then in 2020 this helper was added [6b9966e1aa3 ("riscv: define function set_gd()")] which needlessly had volatile in the prototype. Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13arm: remove volatile from set_gd prototypeRasmus Villemoes
The global gd pointer is no longer volatile-qualified. Callers of this helper function have been updated to no longer use volatile-qualifed temporary variables, so update the prototype accordingly. Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13lib/trace: drop volatile qualifier from "save gd" variablesRasmus Villemoes
The global gd pointer is no longer volatile-qualified, so drop that qualifier from these bookkeeping variables. Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13efi: drop volatile qualifier from "save gd" variablesRasmus Villemoes
The global gd pointer is no longer volatile-qualified, so drop that qualifier from these bookkeeping variables. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-06-13arm: imx: remove unnecessary volatile qualifiers from "save gd" variablesRasmus Villemoes
Now that the global gd pointer is no longer volatile-qualified, there's no reason for the temporary variables used for saving/restoring it to have that qualifier. Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Anshul Dalal <[email protected]>
2025-06-13arc: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13m68k: drop pointless #if 0 blockRasmus Villemoes
The way DECLARE_GLOBAL_DATA_PTR is used, the stuff under #if 0 can never compile as you cannot have a non-constant initializer at global scope (and one would get linker errors as well because the 'gd' symbol would be defined in multiple TUs). Signed-off-by: Rasmus Villemoes <[email protected]> Acked-by: Angelo Dureghello <[email protected]>
2025-06-13m68k: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13microblaze: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13mips: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13powerpc: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <[email protected]>
2025-06-13arm: drop volatile qualifier from gd pointerRasmus Villemoes
There's a bunch of other places where this qualifier should be dropped, e.g. in the set_gd() prototype and for various variables used for stashing the value in the mach-imx/ directory and elsewhere. But that will be done in follow-up patches. Signed-off-by: Rasmus Villemoes <[email protected]> Tested-by: Anshul Dalal <[email protected]>
2025-06-13sandbox: solve undefined reference to pthread_kill symbolRaymond Mao
This patch is to solve the sandbox building error: $ make O=build-sandbox -s sandbox_defconfig $ make O=build-sandbox -s -j2 /usr/bin/ld: /tmp/u-boot.27rzOu.ltrans58.ltrans.o: undefined reference to symbol 'pthread_kill@@GLIBC_2.2.5' /usr/bin/ld: /lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status [...] Fixes: b989f9ed9fe1 ("test: lib: add initjmp() test") Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Jerome Forissier <[email protected]> Tested-by: Patrice Chotard <[email protected]>
2025-06-13spl: Rename jump_to_image_no_args()Simon Glass
This function is currently a misnomer at times as we have cases where it passes arguments to the image. In preparation for making that be a more common case rename this function to jump_to_image(...). In order to do this, rename jump_to_image in board_init_r(...) to jumper so that we do not have a conflict. Signed-off-by: Simon Glass <[email protected]> [trini: Reword the commit message, adding missing cases of jump_to_image_no_args()] Signed-off-by: Tom Rini <[email protected]>
2025-06-13x86: Move Intel GNVS file into the common include directorySimon Glass
Move this so we can include it from sandbox, needed since it is in a bloblist and must have a check. Signed-off-by: Simon Glass <[email protected]>
2025-06-12Merge patch series "ti: Add support for eCAP PWM and LCD pin mux"Tom Rini
Sukrut Bellary <[email protected]> says: This patch series adds the support for 1. In am33xx SoC[1], enhanced capture (eCAP) supports auxiliary PWM (APWM). This series adds the PWM driver support for the APWM feature for eCAP on AM33xx. AM335X_ECAP0_IN_PWM0_OUT is used to enable the backlight. 2. Fix build warning in ti-ehrpwm driver in dev_deb(). 3. Enable eCAP0 PWM and LCD pin muxing to support splash screen on AM335x EVM[2]. [1] AM335x TRM - https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf [2] AM335x EVM - https://www.ti.com/tool/TMDXEVM3358 per discussion on the earlier patch series, https://lore.kernel.org/all/[email protected]/ dropping the device tree changes in this series due to OF_UPSTREAM conflict. As we are dropping the DT patch, started with the new series instead of V2. This series doesn't contain defconfig changes since we don't want to enable LCD, splash screen and PWM support by default. Enabling splash screen and PWM support in defconfig causes u-boot crash on AM335x based beaglebone black. This will be handled in a separate patch. Link: https://lore.kernel.org/r/[email protected]
2025-06-12board: ti: am335x: Enable eCAP0 PWM and LCD pin muxingSukrut Bellary
On AM335x EVM[1], 1. pin AM335X_ECAP0_IN_PWM0_OUT is used to enable the backlight. ECAP0 can be configured in single channel PWM mode. If CONFIG_PWM_TI_ECAP is enabled, perform eCAP0 pin muxing. 2. Pins LCD_DATA0 - LCD_DATA15, gpmc_ad8 - gpmc_ad15 and lcd_vsync, lcd_sync, lcd_ac_bias_en, lcd_pclk are used for driving LCD. If CONFIG_AM335X_LCD is enabled, perform the LCD pin muxing. This is required to enable splash screen support on AM335x EVM. [1] AM335x EVM - https://www.ti.com/tool/TMDXEVM3358 Signed-off-by: Sukrut Bellary <[email protected]>
2025-06-12pwm: ti: am33xx: Fix build warnings in dev_dbg()Sukrut Bellary
If CONFIG_PWM_TI_EHRPWM is enabled, it throws the build warning in dev_dbg() due to incorrect format specifier as, "warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘fdt_addr_t’ {aka ‘unsigned int’}". Fix this with the correct format specifier. Signed-off-by: Sukrut Bellary <[email protected]>
2025-06-12pwm: ti: am33xx: Enable Auxiliary PWM using eCAPSukrut Bellary
In am33xx SoC[1], enhanced capture (eCAP) supports auxiliary PWM (APWM). This series adds the PWM driver support for the APWM feature for eCAP on AM33xx. eCAP HW also supports the capture mode. Currently, this driver only supports APWM. This is based on the Linux kernel driver -> drivers/pwm/pwm-tiecap.c Version: v6.12 Tested on AM335x EVM[2]. [1] AM335x TRM - https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf [2] AM335x EVM - https://www.ti.com/tool/TMDXEVM3358 Signed-off-by: Sukrut Bellary <[email protected]>
2025-06-12ram: Move Kconfig options into their own menu entryYao Zi
RAM drivers using Device Model currently lack of their own Kconfig menu entry, which makes Kconfig put all options of the class in the top-level menu of device drivers. These options are also incorrectly grouped with pinctrl options in the generated .config, which is hard to read. Let's create a menu entry for these drivers. Fixes: 6c51df6859f ("dm: Add support for RAM drivers") Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-06-12bootstage: Fix typoAristo Chen
Fix typo from heder to header Signed-off-by: Aristo Chen <[email protected]>
2025-06-12fdt: Make sure there is no stale initrd leftRichard Weinberger
Although if we don't setup an initrd, there could be a stale initrd setting from the previous boot firmware in the live device tree. So, make sure there is no setting left if we don't want an initrd. This can happen when booting on a Raspberry Pi. The boot firmware can happily load an initrd before us and configuring the addresses in the live device tree we get handed over. Especially the setting `auto_initramfs` in config.txt is dangerous. When enabled (default), the firmware tries to be smart and looks for initramfs files. Signed-off-by: Richard Weinberger <[email protected]>
2025-06-12ext4fs: Fix: Read outside partition error (take 2)Tony Dinh
Use lbaint_t for blknr to avoid overflow in ext4fs_read_file(). Background: blknr (block number) used in ext4fs_read_file() could be increased to a very large value and causes a wrap around at 32 bit signed integer max, thus becomes negative. This results in an out-of-normal range for sector number (during the assignment delayed_start = blknr) where delayed_start sector is typed uint64 lbaint_t. This causes the "Read outside partition" error. Looks like we also have this overflown problem in ext4_write.c that needs to be addressed. This patch was tested on the Synology DS116 (Armada 385) board, and a 4TB Seagate HDD. Signed-off-by: Tony Dinh <[email protected]>
2025-06-12binman: add atf-bl1 to etypesBryan Brattlof
Some SoCs require a Trusted Firmware-A (TF-A) AP Trusted ROM (BL1) to initialize the SoC before U-Boot can run properly. Add an atf-bl1 etype so we can properly package BL1 into a final binary Signed-off-by: Bryan Brattlof <[email protected]> Acked-by: Simon Glass <[email protected]>
2025-06-12arm: mach-k3: j784s4: Call do_board_detect() before DDR probingEmanuele Ghidoli
Call do_board_detect() hook before the K3 DDRSS driver gets probed. It will allow boards to adjust DDR timings in do_board_detect(). Signed-off-by: Emanuele Ghidoli <[email protected]>
2025-06-12test/py: Correct handling of exceptionsSimon Glass
If an Unexpected exception is thrown in a test, an undefined variable error is reported. Fix this. Signed-off-by: Simon Glass <[email protected]> Fixes: 85d7dae377a ("test: Detect dead connections") Reviewed-by: Mattijs Korpershoek <[email protected]>
2025-06-12test/py: Use the correct fixture name in exception handlerSimon Glass
If a BootFail exception is thrown in a test, it is not handled correctly. Use the correct fixture variable 'ubman_fix' to resolve this. Signed-off-by: Simon Glass <[email protected]> Fixes: d9ed4b75add ("test/py: Drop u_boot_ prefix on test files") Reviewed-by: Mattijs Korpershoek <[email protected]>
2025-06-12toradex-smarc-imx8mp: add SPL_STACK size and SPL_HAVE_INIT_STACKHiago De Franco
When the toradex-smarc-imx8mp_defconfig file was first added, SPL_STACK was set to 0x960000, but SPL_HAVE_INIT_STACK wasn't enabled. This led to SPL_STACK being correctly dropped in commit 25fefa05d732 ("configs: Resync with savedefconfig"), since SPL_HAVE_INIT_STACK was missing, which ended up making the board not boot. Fix this by adding SPL_STACK back and making sure SPL_HAVE_INIT_STACK is enabled. Fixes: dde53eae88d6 ("board: toradex: add Toradex SMARC iMX8MP") Signed-off-by: Hiago De Franco <[email protected]> Acked-by: Francesco Dolcini <[email protected]>
2025-06-12board: var-som-mx8mn: Fix alloc space exhausted in SPLHugo Villeneuve
After enabling some options to support EEPROM read in SPL (CONFIG_SPL_I2C_EEPROM), the following error appears: alloc space exhausted Increasing SYS_MALLOC_F_LEN from 8kB to 64kB fixes the problem. But instead of manually increasing the value, adopt method used in commit ce3f23404c19 ("board: bsh: imx8mn_bsh_smm_s2/s2pro: enlarge CONFIG_SPL_SYS_MALLOC_F_LEN"): Dropping CONFIG_SPL_SYS_MALLOC_F_LEN option allows it to be set to the default value of CONFIG_SYS_MALLOC_F_LEN, which is set by default to 64kB (0x10000) on i.MX8M platforms. Suggested-by: Fabio Estevam <[email protected]> Signed-off-by: Hugo Villeneuve <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2025-06-12imx91: Drop OF_UPSTREAMPeng Fan
i.MX91 device tree still not landed in linux kernel, so drop OF_UPSTREAM and move the device tree files to arch/arm/dts Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Sumit Garg <[email protected]>
2025-06-11mmc: Kconfig: Really correct dependencies SDHCI ADMA optionsTom Rini
When doing the investigation for commit 53bb8fdea12a ("mmc: Kconfig: Correct dependencies SDHCI ADMA options") I missed the implications of MMC_SDHCI_ADMA_HELPERS. The problem is that FSL_ESDHC via the FSL_ESDHC_SUPPORT_ADMA2 option will also enable these helper functions. This in turn means the correct dependency here is MMC_SDHCI_ADMA_HELPERS and not *MMC_SDHCI_ADMA. Reported-by: Heiko Thiery <[email protected]> Signed-off-by: Tom Rini <[email protected]>