summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-06-13Merge patch series "drop volatile from global data"Tom Rini
Rasmus Villemoes <ravi@prevas.dk> 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/20250604195612.2312979-1-ravi@prevas.dk
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 <ravi@prevas.dk>
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 <ravi@prevas.dk>
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 <ravi@prevas.dk>
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 <ravi@prevas.dk> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
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 <ravi@prevas.dk> Tested-by: Anshul Dalal <anshuld@ti.com>
2025-06-13arc: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
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 <ravi@prevas.dk> Acked-by: Angelo Dureghello <angelo@kernel-space.org>
2025-06-13m68k: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
2025-06-13microblaze: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
2025-06-13mips: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
2025-06-13powerpc: drop volatile qualifier from gd pointerRasmus Villemoes
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
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 <ravi@prevas.dk> Tested-by: Anshul Dalal <anshuld@ti.com>
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 <sjg@chromium.org> [trini: Reword the commit message, adding missing cases of jump_to_image_no_args()] Signed-off-by: Tom Rini <trini@konsulko.com>
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 <sjg@chromium.org>
2025-06-12Merge patch series "ti: Add support for eCAP PWM and LCD pin mux"Tom Rini
Sukrut Bellary <sbellary@baylibre.com> 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/20250319202516.3300444-1-sbellary@baylibre.com/ 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/20250530212232.1686613-1-sbellary@baylibre.com
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 <sbellary@baylibre.com>
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 <sbellary@baylibre.com>
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 <sbellary@baylibre.com>
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 <ziyao@disroot.org> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Tom Rini <trini@konsulko.com>
2025-06-12bootstage: Fix typoAristo Chen
Fix typo from heder to header Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
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 <richard@nod.at>
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 <mibodhi@gmail.com>
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 <bb@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
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 <emanuele.ghidoli@toradex.com>
2025-06-11Merge patch series "Update the kbuild system to 5.1"Tom Rini
Ilias Apalodimas <ilias.apalodimas@linaro.org> says: Another series backporting and merging patches from Linux 5.1 kbuild. There is still a gap that I plan to update after this series gets merged [0] [0] https://source.denx.de/u-boot/custodians/u-boot-tpm/-/commit/5da099cef04fb5c02dcafab8d1bab8ddc2855765 Link: https://lore.kernel.org/r/20250611202449.2317279-1-ilias.apalodimas@linaro.org
2025-06-11kbuild: fix single target build for external moduleIlias Apalodimas
Backported from kernel commit e07db28eea38 ("kbuild: fix single target build for external module") It's worth noting that crmodverdir is empty for U-Boot. Just backport it to make diffing easier Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: make 'archprepare' depend on 'scripts'Ilias Apalodimas
Backported from kernel commit 059bc9fc375e ("kbuild: make 'archprepare' depend on 'scripts'") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: mark prepare0 as PHONY to fix external module buildIlias Apalodimas
Backported from kernel commit e00d88804814 ("kbuild: mark prepare0 as PHONY to fix external module build") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: skip parsing pre sub-make code for recursionIlias Apalodimas
Backported from kernel commit 221cc2d27ddc ("kbuild: skip parsing pre sub-make code for recursion") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: do not overwrite .gitignore in output directoryIlias Apalodimas
Backported from kernel commit 156e7cbb3ef5 ("kbuild: do not overwrite .gitignore in output directory") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11gcc-9: silence 'address-of-packed-member' warningIlias Apalodimas
Backported from kernel commit 6f303d60534c ("gcc-9: silence 'address-of-packed-member' warning") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: remove meaningless prepare2 targetIlias Apalodimas
Backported from kernel commit 4f1c1008e786 ("kbuild: remove meaningless prepare2 target") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: gitignore output directoryIlias Apalodimas
Backported from kernel commit 3a51ff344204 ("kbuild: gitignore output directory" Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: use -Werror=implicit-... instead of -Werror-implicit-...Ilias Apalodimas
Backported from kernel commit b89f25ea7892 ("kbuild: use -Werror=implicit-... instead of -Werror-implicit-..." Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LDIlias Apalodimas
Backported from kernel commit ad15006cc784 ("kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: use assignment instead of define ... endef for filechk_* rulesIlias Apalodimas
Backported from kernel commit ba97df45581f ("kbuild: use assignment instead of define ... endef for filechk_* rules") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: add -Werror=implicit-int flag unconditionallyIlias Apalodimas
Backported from kernel commit 61a0902a06d6a ("kbuild: add -Werror=implicit-int flag unconditionally") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11kbuild: add -fno-PIE flag unconditionallyIlias Apalodimas
Backport from kernel commit 42a92bccd213 ("kbuild: add -fno-PIE flag unconditionally") Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2025-06-11Merge patch series "dm: core: use {s,u}32 instead of int for ↵Tom Rini
dev_read_{s,u}32_default" Quentin Schulz <foss+uboot@0leil.net> says: Out of all the dev_read_*_default functions, only two do not properly use the type as argument and return type: dev_read_u32_default and dev_read_s32_default. They both use int instead of u32/s32. Considering that it's generally not guaranteed that an int is 4 bytes but also for consistency sake, let's have them use the expected type. Note that I have not tested this, just stumbled upon that inconsistency by chance. Link: https://lore.kernel.org/r/20250528-dev_read_x32_default-v1-0-6ab1734dd7a2@cherry.de
2025-06-11dm: core: use s32 instead of int for dev_read_s32_defaultQuentin Schulz
dev_read_s32_default is for getting an s32 from a Device Tree property and allows to take a default value if that property is missing. Considering it calls ofnode_read_u32_default which takes a u32 and returns a u32, it should do the same instead of using an int, especially considering that int size is typically architecture-specific, as opposed to s32/u32. s32 and u32 being the same size, dev_read_s32* functions calling ofnode_read_u32_default shouldn't be an issue (at the type level at least) as the information will be stored appropriately in 4B regardless of the sign. This incidentally matches all other dev_read_*_default functions. Fixes: a1b17e4f4c82 ("dm: core: Add a function to read into a unsigned int") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-06-11dm: core: use u32 instead of int for dev_read_u32_defaultQuentin Schulz
dev_read_u32_default is for getting a u32 from a Device Tree property and allows to take a default value if that property is missing. Considering it calls ofnode_read_u32_default which takes a u32 and returns a u32, it should do the same instead of using an int, especially considering that int size is typically architecture-specific, as opposed to u32. This incidentally matches all other dev_read_*_default functions (except dev_read_s32_default which will be tackled in the next commit). Fixes: 47a0fd3bad38 ("dm: core: Implement live tree 'read' functions") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2025-06-11Merge tag 'u-boot-stm32-20250611' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm into next CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/26607 - Add clock and reset drivers support for STM32MP25 - Add STM32H747-Discovery board support - Add tamp_nvram driver - Add SPL support and clock tree init to STM32MP13 RCC driver - Add STM32MP13xx ram support - Add support for STM32 Image V2.0 for STM32MP13xx - Fix SYSRAM size on STM32MP13xx - Fix DBGMCU macro on STM32MP13xx - Auto-detect ROM API table on STM32MP15xx
2025-06-11board: stm32: add stm32h747-discovery board supportDario Binacchi
The board includes an STM32H747XI SoC with the following resources: - 2 Mbytes Flash - 1 Mbyte SRAM - LCD-TFT controller - MIPI-DSI interface - FD-CAN - USB 2.0 high-speed/full-speed - Ethernet MAC - camera interface Detailed information can be found at: https://www.st.com/en/evaluation-tools/stm32h747i-disco.html Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-06-11ARM: dts: stm32: add stm32h747i-disco-u-boot DTS fileDario Binacchi
Add stm32h747i-disco-u-boot DTS file with FMC SDRAM node and its pinmux settings. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-06-11ARM: dts: stm32: support STM32h747i-disco boardDario Binacchi
The board includes an STM32H747XI SoC with the following resources: - 2 Mbytes Flash - 1 Mbyte SRAM - LCD-TFT controller - MIPI-DSI interface - FD-CAN - USB 2.0 high-speed/full-speed - Ethernet MAC - camera interface Detailed information can be found at: https://www.st.com/en/evaluation-tools/stm32h747i-disco.html Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/r/20250427074404.3278732-9-dario.binacchi@amarulasolutions.com Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> [ upstream commit: 49ba8fc6eab63165639ffbb9f976222d39739cab ] (cherry picked from commit 19c508dc3d584dc81c0cc6a05576f436022db5b6)
2025-06-11ARM: dts: stm32: add an extra pin map for USART1 on stm32h743Dario Binacchi
Add an additional pin map configuration for using the USART1 controller on the stm32h743 MCU. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/r/20250427074404.3278732-8-dario.binacchi@amarulasolutions.com Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> [ upstream commit: 8e71dfe46a4a1e9505b1a327470f879b63388968 ] (cherry picked from commit 9d5ec2c9c5d5131e701447c5c32aaf6c688c6e01)
2025-06-11ARM: dts: stm32: add pin map for UART8 controller on stm32h743Dario Binacchi
Add a pin map configuration for using the UART8 controller on the stm32h743 MCU. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/r/20250427074404.3278732-7-dario.binacchi@amarulasolutions.com Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> [ upstream commit: 47d16ab94b8e5e85aedba3cd22cfdf3877bf1dfb ] (cherry picked from commit 59621a6472cd6eeb748ed6d6202a21d0f3cc5a83)
2025-06-11ARM: dts: stm32: add uart8 node for stm32h743 MCUDario Binacchi
Add support for UART8 by applying the settings specified in the reference manual RM0433. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Link: https://lore.kernel.org/r/20250427074404.3278732-6-dario.binacchi@amarulasolutions.com Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> [ upstream commit: 07aa43adae2363c3734055aeba0789536fa0f8f2 ] (cherry picked from commit 8fe35c381c7c6db1b95c80be551afada1e9f28e0)
2025-06-11dt-bindings: clock: stm32h7: rename USART{7,8}_CK to UART{7,8}_CKDario Binacchi
As stated in the reference manual RM0433, the STM32H743 MCU has USART1/2/3/6, UART4/5/7/8, and LPUART1. The patches make all the clock macros for the serial ports consistent with the documentation. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20250427074404.3278732-5-dario.binacchi@amarulasolutions.com Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com> [ upstream commit: ecab3c40fa49a2073c4c916ebff9496a6b5db7bd ] (cherry picked from commit aae9a01929183784bf3e2a8001aba408bd0dadf3)