summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-23net: Enhancements for dhcp option 209Sean Edmond
- Enable option 209 by default - Set pxelinux_configfile to NULL to avoid potential double free - change hardcoded 209 to a define Signed-off-by: Sean Edmond <[email protected]>
2025-05-23ext4fs: Fix: Read outside partition errorTony 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. This patch was tested on the Synology DS116 (Armada 385) board, and a 4TB Seagate HDD. Signed-off-by: Tony Dinh <[email protected]>
2025-05-23fs: fs_devread should log error when read outside partitionTony Dinh
Log the error if fs_devread() fails when trying to reading outside partition. This will make bug reporting easier. Signed-off-by: Tony Dinh <[email protected]>
2025-05-23board: total_Compute: enable bloblist for SPL handoffJayanth Dodderi Chidanand
Add bloblist support to total_comput platform for passing data from TF-A using the firmware handoff framework. Signed-off-by: Jayanth Dodderi Chidanand <[email protected]>
2025-05-23EXT4: add CRC16 dependencyMarius Dinu
CRC16 is used in ext4_common.c. Build fails without it. PS: This is my first patch sent to a mailing list. If there is anything wrong with it (email format, whitespace, etc.) please let me know. Signed-off-by: Marius Dinu <[email protected]>
2025-05-23env: mtd: fix usability with NAND flashesWeijie Gao
1. As this is for MTD-based devices, the Kconfig dependency should be MTD instead of only spi-nor flashes 2. Initialize saved_buf to avoid crash on free() 3. Remaining size should be set correctly to write_size Fixes: 03fb08d4aef (env: Introduce support for MTD) Signed-off-by: Weijie Gao <[email protected]> Reviewed-by: Christian Marangi <[email protected]>
2025-05-22cmd: ximg: handle Z_BUF_ERROR explicitly in GZIP decompressionAristo Chen
When decompressing GZIP-compressed image parts via the `imxtract` command, explicitly handle the `Z_BUF_ERROR` return value from `gunzip()` to provide a clearer diagnostic. This error typically indicates that the destination buffer is too small to hold the uncompressed data. Signed-off-by: Aristo Chen <[email protected]> [trini: Rework to indent the whole case with { } due to not using the C23 extension] Signed-off-by: Tom Rini <[email protected]>
2025-05-22common: add config for board_init() callBen Dooks
Add CONFIG_BOARD_INIT to specifu if the board_init() needs calling during initcall phase, and default it to 'y' for the relevant architectures which probably need it. This allows anyone with a board that doesn't need it to just remove it from the initcall list w/o an empty code block in the board init file. Signed-off-by: Ben Dooks <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-05-22clk: mediatek: add dummy clk enable/disable ops for apmixedsys clocksWeijie Gao
Starting from commit ac30d90f336 (clk: Ensure the parent clocks are enabled while reparenting), MediaTek filogic platforms will crash on booting when initializing mmc devices. The root cause is that to simplify the code, we reused the topckgen ops for apmixedsys clocks as they share the get_rate with topckgen clocks while the clk enable/disable ops are not available for apmixedsys clocks. Now that a clock will be enabled first before reparenting, we have to add dummy enable/disable ops for apmixedsys to avoid unexpected behavior when apmixedsys clocks are the parent clock of the to-be-reparenting clocks. Fixes: 40746bf429d (clk: mediatek: add clock driver support for MediaTek MT7981 SoC) Fixes: 37d5a9a29dc (clk: mediatek: add clock driver support for MediaTek MT7986 SoC) Fixes: ece4e5804f5 (clk: mediatek: add clock driver support for MediaTek MT7987 SoC) Fixes: 421436981a2 (clk: mediatek: add clock driver support for MediaTek MT7988 SoC) Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-05-22arm: dts: k3: require mandatory firmware in binmanBryan Brattlof
TI's Foundational Security (TIFS), Device Management (DM) and Device Management and Security Control (DMSC) firmware are required for a successful boot. Remove the 'optional' flag so binman will emit an error if these firmware components are not found Signed-off-by: Bryan Brattlof <[email protected]> Acked-by: Wadim Egorov <[email protected]>
2025-05-22configs: verdin-am62: Drop unused or redundant config optionsEmanuele Ghidoli
Several Kconfig options are enabled but unused or unnecessary for our use case. These include features such as SPL FAT support, YMODEM, and USB keyboard. Some R5-specific configurations are not used at all, as U-Boot proper is not executed on that core. Cleaning them up helps reduce build size and simplifies maintenance. Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2025-05-22configs: phycore_am6xx_a53_defconfig: Enable BOOTDEV_SPI_FLASHWadim Egorov
Enable standard boot with SPI Flash & sync after savedefconfig. Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: common: k3: Factor out mac address setupWadim Egorov
Factor out the mac address setup into setup_mac_from_eeprom(). Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: common: k3: Update boot_targets at runtimeWadim Egorov
Factor out boot device detection from board_late_init() into a new boot_targets_setup() helper. Adjust the boot_targets environment variable to favor the device we just booted from. If boot_targets is still at its default value, prepend the current boot device to the list; otherwise leave any user-customized order untouched. Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22configs: phycore_am6xx: Default BOOTCOMMAND to standard bootWadim Egorov
Make the "bootflow scan -lb" command execute first and fallback to the legacy BSP boot scripts. Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: phycore_am6xx: Set bootmeths & boot_targets environmentWadim Egorov
As part of our migration to the standard boot process, configure the default values for the bootmeths and boot_targets environment variables. Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: phycore_am64x: Update environment for fitbootNathan Morrisson
Add fit_addr_r to the environment to allow us to boot from a FIT image. Signed-off-by: Nathan Morrisson <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22board: phytec: phycore_am62x: Update environment for fitbootNathan Morrisson
Add fit_addr_r to the environment to allow us to boot from a FIT image. Signed-off-by: Nathan Morrisson <[email protected]> Signed-off-by: Wadim Egorov <[email protected]>
2025-05-22tiny-printf: Handle formatting of %p with an extra KconfigChristoph Niedermaier
The formatting with %pa / %pap behaves like %x, which results in an incorrect value being output. To improve this, a new fine-tuning Kconfig SPL_USE_TINY_PRINTF_POINTER_SUPPORT for pointer formatting has been added. If it is enabled, the output of %pa / %pap should be correct, and if it is disabled, the pointer formatting is completely unsupported. In addition to indicate unsupported formatting, '?' will be output. This allows enabling pointer formatting only when needed. For SPL_NET it is selected by default. Then it also supports the formatting with %pm, %pM and %pI4. In summery this level of %p support for tiny printf is possible now: 1) The standard tiny printf won't have support for pointer formatting. So it doesn't print misleading values for %pa, instead '?' will be output: %p => ? %pa => ?a %pap => ?ap 2) If SPL_USE_TINY_PRINTF_POINTER_SUPPORT is enabled or DEBUG is defined tiny printf supports formatting %p and %pa / %pap. 3) If SPL_NET is enabled the support of pointers is extended for %pm, %pM and %pI4. Signed-off-by: Christoph Niedermaier <[email protected]>
2025-05-22arm: cpu: armv7m: add ENTRY/ENDPROC macrosJohannes Krottmayer
Since GNU binutils version 2.44, assembly functions must include the assembler directive .type name, %function. If not a call to these functions fails with the error message 'Unknown destination type (ARM/Thumb)' and the error message 'dangerous relocation: unsupported relocation' at linking. The macros ENTRY/ENDPROC includes this directive and should be used for all assembly functions. Signed-off-by: Johannes Krottmayer <[email protected]> Cc: Tom Rini <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-05-22Merge tag 'u-boot-imx-master-20250522' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/26275 - Fix boot regression on imx8mn_bsh_smm_s2/s2pro. - Fix reset on imx6ulz_smm_m2. - Adjust DDR initialization on imx6ulz_smm_m2. - Fix CAAM startup error.
2025-05-22caam: Fix CAAM error on startupOlaf Baehring
In rare cases U-Boot returns an error message when intantiating the RNG of the CAAM device: “SEC0: RNG4 SH0 instantiation failed with error 0xffffffff” This means, that even when the CAAM device reports a finished descriptor, none is found in the output ring. This might be caused by a missing cache invalidation before reading the memory of the output ring This patch moves the cache invalidation of the output ring from start of the job to immediately after the notification from hardware where the output ring will be read. Signed-off-by: Olaf Baehring <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2025-05-21Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/26259 - Initial SPL support for T-Head TH1520 SoC - Improve usability of TH1520 with mainline SPL - Support building RV32 & RV64 images - riscv: Improve jh7110 support
2025-05-21Merge tag 'net-20250520' of https://source.denx.de/u-boot/custodians/u-boot-netTom Rini
Pull request net-20250520. CI: https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/26247 net, net-lwip: - Remove wget console output when called by EFI net-lwip: - Add 10 s timeout to TFTP - Add LMB buffer checks
2025-05-21board: bsh: imx6ulz_smm_m2: Add delay between DRAM read accessMichael Bode
A small delay between DRAM read access with wrong parameters and reconfiguration is necessary. Without a delay between DRAM read access and a following reconfiguration this reconfiguration fails for certain DRAM chips (Nanya). Signed-off-by: Michael Bode <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21board: bsh: imx6ulz_smm_m2: Add support for 512 MiB DRAMMichael Bode
Calibration values were calculated using the NXP tool I.MX6ULL_DDR3_Script_Aid_V0.01.xlsx Signed-off-by: Michael Bode <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21board: bsh: imx6ulz_smm_m2: Add support for 256 MiB DRAMSimon Holesch
Calibration values were calculated using the NXP tool I.MX6ULL_DDR3_Script_Aid_V0.01.xlsx Signed-off-by: Wolfgang Birkner <[email protected]> Signed-off-by: Simon Holesch <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21board: bsh: imx6ulz_smm_m2: Match SPL DDR settings to DCD tableMichael Trimarchi
When using SPL on i.mx6 we frequently notice some DDR initialization mismatches between the SPL code and the non-SPL code. As the non-SPL code have been tested for long time and proves to be reliable, let's configure the DDR in the exact same way as the non-SPL case. The idea is simple: just use the DCD table and write directly to the DDR registers. Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21board: freescale: imx8mn_evk: let clock system enable UART clockMichael Trimarchi
Now that the UART driver can enable the required clocks, remove the hard-coded clock enable. Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Tested-by: Fabio Estevam <[email protected]>
2025-05-21board: bsh: imx8mn_bsh_smm_s2/s2pro: let clock system enable UART clockDario Binacchi
Now that the UART driver can enable the required clocks, remove the hard-coded clock enable. Co-developed-by: Michael Trimarchi <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21board: bsh: imx8mn_bsh_smm_s2/s2pro: enlarge CONFIG_SPL_SYS_MALLOC_F_LENDario Binacchi
The commit dda454e933c6 ("serial: mxc: Support bulk enabling clocks") breaks the booting of the BSH SMM S2 board. The analysis of the issue revealed memory allocation failures during the registration of UART4 clocks as well as other peripherals. Increasing SYS_MALLOC_F_LEN to 0x10000 fixed the issue. Dropping this option allows it to be set to the default value of CONFIG_SYS_MALLOC_F_LEN, which is set by default to 0x10000 on i.MX8M platforms. Co-developed-by: Michael Trimarchi <[email protected]> Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2025-05-21configs: imx8mn_bsh_smm_s2: load U-Boot from raw NANDDario Binacchi
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks the boot of the BSH SMM S2 board. Add options to load U-Boot from raw NAND sector. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21imx: spl_imx_romapi: support raw NAND sectorDario Binacchi
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks the boot of the BSH SMM S2 board. As stated in the dropped comment, "Some boards use this value even though MMC is not enabled in SPL, for example imx8mn_bsh_smm_s2". Support load of the U-Boot image from raw NAND sector. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21spl: Kconfig: support U-Boot load from raw NANDDario Binacchi
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks the boot of the BSH SMM S2 board. As stated in the commit itself, "Some boards use this value even though MMC is not enabled in SPL, for example imx8mn_bsh_smm_s2". Support load of the U-Boot image from raw NAND sector. This is equivalent to load from MMC raw sector. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Dario Binacchi <[email protected]>
2025-05-21ARM: dts: imx93-phycore: Migrate to OF_UPSTREAMPrimoz Fiser
Migrate to OF_UPSTREAM for phyCORE-i.MX93 since board can use upstream Linux kernel device-tree for phyBOARD-Segin-i.MX93. Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Wadim Egorov <[email protected]>
2025-05-21arm: dts: imx6ulz-bsh-smm-m2: Fix reset using wdt-reboot driverMichael Trimarchi
commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") introduced a regression that 'reset' command unable to reset imx6ulz based BSH module's modules in the u-boot. BSH module's imx6, imx6ulz-bsh-smm-m2.dts Fixes: 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-21configs: imx6ulz_smm_m2: Add board watchdog reset configurationMichael Trimarchi
Add the configuration that allow to reset the board from reset cmd Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-21arm: dts: imx6ulz-bsh-smm-m2-u-boot: Drop soc nodeMichael Trimarchi
The node is specified on the parent architecture u-boot.dtsi file Signed-off-by: Michael Trimarchi <[email protected]>
2025-05-21arm: imx: imx8m: soc: replace ifdef by IS_ENABLED()Dario Binacchi
Standardize on using the IS_ENABLED macro. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-21arm: imx: imx8m: soc: fix the macro nameMichael Trimarchi
The function arch_spl_mmc_get_uboot_raw_sector() was never compiled, even when the option CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION was enabled. So rename the macro SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION to CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION. Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") Signed-off-by: Michael Trimarchi <[email protected]> Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-05-21riscv: dts: th1520: Complete clock treeYao Zi
Describe the newly-supported clock controller of TH1520 in SoC devicetree, replace dummy clocks with the controller-supplied ones and add correct clocks for GPIO controllers. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21riscv: cpu: th1520: Select clock driverYao Zi
The clock driver is essential for TH1520 SoCs to operate. Select the driver in SoC Kconfig entry. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21clk: thead: Port clock controller driver of TH1520 SoCYao Zi
The driver is adapted from Linux kernel's version of clk-th1520-ap.c, with only output clocks for external sensors, which are barely useful in bootloaders, removed. Same as the mainline driver, it currently lacks of ability to enable and reconfigure PLLs, which could be implemented later. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21riscv: cpu: th1520: Initialize IOPMPs in SPLYao Zi
TH1520 SoC ships several IOPMPs protecting various on-chip peripherals. They must be configured before accessing the peripherals. Let's initialize them in SPL harts_early_init(). Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21doc: thead: lpi4a: Update documentationYao Zi
Support for eMMC, SD card, GPIO and SPL have been available in LPi4A port. Update the documentation of support status and build instructions. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21board: thead: licheepi4a: Enable SPL supportYao Zi
Adjust Kconfig and defconfig and add SPL initialization code for Lichee Pi 4A. Then enable SPL support which we've added for TH1520 SoC earlier. The board devicetree is changed to use TH1520 binman configuration to generate bootable images. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21riscv: dts: th1520: Add binman configurationYao Zi
Add binman configuration for TH1520 SoC, whose BROM loads the image combined into SRAM and directly jumps to it. The configuration creates u-boot-with-spl.bin where the SPL code locates at the start and the DDR firmware is shipped. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21riscv: dts: th1520: Add DRAM controllerYao Zi
Describe DRAM controller integrated in TH1520 SoC and preserve it in SPL devicetree blob. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21riscv: dts: lichee-module-4a: Preserve memory node for SPLYao Zi
Memory node is necessary for TH1520 SPL to configure size and base address of DRAM. Let's preserve it in SPL devicetree blob. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-05-21riscv: dts: th1520: Preserve necessary devices for SPLYao Zi
SPL for TH1520 requires CPU and boot UART nodes to function. Preserve them in SPL devicetree blob with bootph-pre-ram property. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>