summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-09-26_exports.h: drop creating dummy i2c entries and fixup config dependencyRasmus Villemoes
There's really no good reason to create stub entries that would call a function that doesn't even return anything sensible. The existence of these two i2c_* functions depends on CONFIG_IS_ENABLED(SYS_I2C_LEGACY), which does depend on !DM_I2C, but is not equivalent to it. They are probably rather hard to use unless CMD_I2C and something in U-Boot has called "i2c dev foo" to set the current i2c bus before calling the standalone app, so keep that dependency. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-26malloc.h: be a bit more consistent with macro definitionsRasmus Villemoes
Currrently, malloc and free are function-like macros, while calloc, realloc and memalign are object-like macros. Usually, this doesn't matter, but it does when the identifiers appear without a following open parenthesis, such as when their address is taken for building the export table. Adding calloc or realloc to that table breaks the build on sandbox due to this inconsistency. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-09-26Merge tag 'u-boot-imx-next-20250926' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/27737 - Add support for i.MX94 EVK. - Set CONFIG_ETHPRIME to eth0 on phycore-imx93. - Expand the nxp_fspi support to i.MX8QXP/8DXL/8ULP.
2025-09-26imx9: scmi: Add PCIE ECAM and outbound space to MMUYe Li
Add PCIE1 and PCIE2 ECAM space and outbound space to MMU pagetable, so A55 can access them. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-09-26spi: nxp_fspi: Support i.MX8ULP flexspiYe Li
Add i.MX8ULP flexspi compatible string and driver data. The flexspi on i.MX8ULP only has 16 LUT sequences and uses 1KB RX FIFO. Signed-off-by: Ye Li <[email protected]>
2025-09-26spi: nxp_fspi: Support i.MX8DXL flexspiYe Li
According to i.MX8DXL A1 errata ERR050601, concurrent read accesses from the A35 cores to the peripherals within the LSIO subsystem (region 0_5DXX_XXXX) and address spaces in the regions [0_0000_0000 – 0_1BFF_FFFF] and [4_0000_0000 – 4_3FFF_FFFF] can collide and cause data corruption in the returned data, with no failure report. Even a single A35 core accessing both these regions can trigger the issue because an A35 core can have more than one parallel read operation in progress. The flexspi0 AHB memory is in LSIO region mentioned in above errata. So we can't use AHB read, only can read data from FIFO. Add the compatible string for 8DXL and use a flag for the IPS read. Signed-off-by: Ye Li <[email protected]>
2025-09-26spi: nxp_fspi: Support i.MX8QXP flexspiYe Li
Add the compatible string and driver data for i.MX8QXP. Signed-off-by: Ye Li <[email protected]>
2025-09-26spi: nxp_fspi: Use second last LUT entry for AHB readYe Li
Use a dedicated LUT (second last) for AHB read command, so we can directly read from the AHB memory-mapped address and booting M core for XIP on Flexspi NOR. Signed-off-by: Ye Li <[email protected]>
2025-09-26board: phytec: phycore-imx93: Set CONFIG_ETHPRIME to eth0Primoz Fiser
Set ethprime to eth0 since FEC interface is considered the primary IF on phyCORE-i.MX93 SoM based boards. This comes from the fact that the same bootloader is reused for both carrier boards, that is phyBOARD-Segin and phyBOARD-Nash which both use different Ethernet PHYs on the EQOS (eth1) interface and thus eth1 cannot be used as a prime. Signed-off-by: Primoz Fiser <[email protected]>
2025-09-26imx94_evk: Add i.MX943 EVK board supportYe Li
Add board-level code and defconfig for the i.MX943 EVK board, supporting multiple SOM variants: 19x19 LPDDR5, 19x19 LPDDR4 and 15x15 LPDDR4. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2025-09-26arm: dts: Add i.MX943 EVK board dtsi filesYe Li
Introduce the base dtsi files for the i.MX943 EVK board. These files define the essential components such as messaging units, uSDHC, GPIOs and lpuart for board bring-up. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2025-09-26imx: ele_ahab: Add i.MX94 support to display_life_cycle()Ye Li
Extend display_life_cycle() to support i.MX94. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Jacky Bai <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]>
2025-09-26imx: ele_ahab: Implement display_life_cycle() for i.MX95Ye Li
The register reflects lifecycle and some lifecycle-derived state of i.MX95 has new offset address and layout, so display_life_cycle() is added specifically for it. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-09-26imx9: Change container header temp buffer addressYe Li
Due to i.MX95 has reserved first 256MB DDR, change to use the DDR start address in u-boot as the container header buffer. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-09-26pinctrl: nxp: Add i.MX94 daisy register offsetAlice Guo
Define the daisy register offset for i.MX94 at 0x608 within the iomuxc register space. This enables correct pad selection for daisy chain configuration on i.MX94 platforms. Signed-off-by: Jacky Bai <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]>
2025-09-26imx: container: Add i.MX94 support to get_imageset_end()Ye Li
Extend get_imageset_end() to handle i.MX94 family. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Jacky Bai <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]>
2025-09-26imx9: scmi: Update the files under arch/arm/mach-imx/imx9/scmi/ to support ↵Ye Li
i.MX94 - Add base addresses for WDG3, WDG4, GPIO6, and GPIO7 for i.MX94. - Introduce common.h with macros of clock IDs, power domains, and CPU types for platform-specific replacement (e.g., i.MX94, i.MX95). - Extend imx_get_mac_from_fuse() to support i.MX94. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2025-09-26imx9: scmi: Add i.MX94 support to get_reset_reason()Ye Li
Update get_reset_reason() to support i.MX94 to send message to the System Manager to retrieve the LM/system last booted/shutdown reasons. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2025-09-26imx95: Add get_reset_reason() to retrieve the LM/system last booted/shutdown ↵Peng Fan
reasons System Manager provides the last booted and shutdown reasons of the logical machines (LM) and system using the SCMI misc protocol (Protocol ID: 0x84, Message ID: 0xA). This path adds get_reset_reason() to query and print these reasons in SPL and U-Boot. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Ye Li <[email protected]>
2025-09-26cpu: imx94: Add support for i.MX94 in get_imx_type_str()Alice Guo
Add a case for i.MX94 to return the correct string identifier in the get_imx_type_str() function. This ensures proper CPU type reporting for i.MX94 platforms. Signed-off-by: Alice Guo <[email protected]>
2025-09-26imx9: Add i.MX94 CPU type and SoC-level KconfigYe Li
Introduce support for the new i.MX94 processor, including its CPU type and SoC-level Kconfig entry. The i.MX94 is a new member of the i.MX9 family. It uses a System Manager to handle system-level functions such as power, clock, sensor and pin control. The System Manager runs on a Cortex-M processor, while the Cortex-A processor communicates with it via the ARM SCMI protocol and a messaging unit. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Peng Fan <[email protected]> Reviewed-by: Jacky Bai <[email protected]>
2025-09-25Merge branch 'next' of git://source.denx.de/u-boot-usb into nextTom Rini
- Tighten some USB dependencies and remove some unused code.
2025-09-25spl: nand: initialize writesize for am335xYegor Yefremov
Initialize mtd->writesize in nand_init() as otherwise nand_page_size() returns 0 and this affects NAND read operations. Signed-off-by: Yegor Yefremov <[email protected]>
2025-09-25MAINTAINERS: Update MMC/POWER/FREESCALE QORIQPeng Fan
- Update MMC entry to match 'mmc' using 'N' - Add myself as POWER maintainer for regulator and pmic patches. I have started to handle relevant patches. - Update QORIQ maintainer. Priyanka has moved to work on other stuff, I have been handling this for quite some time. Signed-off-by: Peng Fan <[email protected]>
2025-09-25MAINTAINERS: update NETWORK and NETWORK (LWIP)Jerome Forissier
Add myself as a maintainer of the NETWORK subsystem since: - I have effectively been handling net patches in my patchwork queue and sending pull requests to Tom, - I do have push access to the u-boot-net custodian tree. Also, add u-boot-net as the SCM tree for NETWORK (LWIP) since it is where lwIP-related patches end up too. Signed-off-by: Jerome Forissier <[email protected]> CC: Ramon Fried <[email protected]> CC: Joe Hershberger <[email protected]> CC: Tom Rini <[email protected]>
2025-09-25Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
RZG2 boot failure fix for boot with TFA which does not pass DT, and R-Car Gen4 PCIe controller driver alignment with Linux fixes.
2025-09-26usb: host: Tighten USB musb-new host glue driver dependenciesTom Rini
A few of the USB musb-new host glue drivers cannot build without access to some platform specific header files. Express those requirements in Kconfig as well. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-09-26usb: host: Tighten USB host driver dependenciesTom Rini
A few of the USB host drivers cannot build without access to some platform specific header files. Express those requirements in Kconfig as well. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-09-26usb: gadget: max3420_udc: Remove unused driverTom Rini
This driver was never enabled by any platforms after being added to the tree over 5 years ago. Remove it. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-09-26usb: gadget: bcm_udc_otg: Remove unused driverTom Rini
This driver is unused since the removal of the bcm28155_ap board in commit 0f6807e77b07 ("arm: Remove bcm28155_ap board"). Remove it. Fixes: 0f6807e77b07 ("arm: Remove bcm28155_ap board") Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-09-26usb: gadget: Tighten requirements on USB_GADGET_ATMEL_USBATom Rini
This driver requires some mach-at91 specific header files in order to build. Express that requirement in Kconfig as well. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-09-26usb: dwc3: Tighten driver glue dependenciesTom Rini
A few of the platform specific DWC3 host glue drivers cannot build without access to some platform specific header files. Express those requirements in Kconfig as well. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2025-09-25pci: pcie-rcar-gen4: Add missing 1ms delay after PWR reset assertionMarek Vasut
R-Car V4H Reference Manual R19UH0186EJ0130 Rev.1.30 Apr. 21, 2025 page 585 Figure 9.3.2 Software Reset flow (B) indicates that for peripherals in HSC domain, after reset has been asserted by writing a matching reset bit into register SRCR, it is mandatory to wait 1ms. Because it is the controller driver which can determine whether or not the controller is in HSC domain based on its compatible string, add the missing delay into the controller driver. This 1ms delay is documented on R-Car V4H and V4M, it is currently unclear whether S4 is affected as well. This patch does apply the extra delay on R-Car S4 as well. Signed-off-by: Marek Vasut <[email protected]>
2025-09-25pci: pcie-rcar-gen4: Assure reset occurs before DBI accessMarek Vasut
Assure the reset is latched and the core is ready for DBI access. On R-Car V4H, the PCIe reset is asynchronized and does not take effect immediately, but needs a short time to complete. In case DBI access happens in that short time, that access generates an SError. Make sure that condition can never happen, read back the state of the reset which should turn the asynchronized reset into synchronized one, and wait a little over 1ms to add additional safety margin. Signed-off-by: Marek Vasut <[email protected]>
2025-09-25pci: pcie-rcar-gen4: Fix inverted break condition in PHY initializationMarek Vasut
R-Car V4H Reference Manual R19UH0186EJ0130 Rev.1.30 Apr. 21, 2025 page 4581 Figure 104.3b Initial Setting of PCIEC(example), third quarter of the figure indicates that register 0xf8 should be polled until bit 18 becomes set to 1. Register 0xf8 bit 18 is 0 immediately after write to PCIERSTCTRL1 and is set to 1 in less than 1 ms afterward. The current readl_poll_timeout() break condition is inverted and returns when register 0xf8 bit 18 is set to 0, which in most cases means immediately. In case CONFIG_DEBUG_LOCK_ALLOC=y , the timing changes just enough for the first readl_poll_timeout() poll to already read register 0xf8 bit 18 as 1 and afterward never read register 0xf8 bit 18 as 0, which leads to timeout and failure to start the PCIe controller. Fix this by inverting the poll condition to match the reference manual initialization sequence. Signed-off-by: Marek Vasut <[email protected]>
2025-09-25board: rzg2l: Check the DTB pointer passed by the TF-A.Mathieu Othacehe
On the RZG2L platform, the advised TF-A (https://github.com/renesas-rz/rzg_trusted-firmware-a/tree/v2.5/rzg2l) does not pass any DTB blob to U-Boot. On the other hand, the RZG2L part of U-Boot expects a DTB to be passed. It means that if one flashes the latest TF-A as well as the mainline U-Boot, it will crash trying to dereference the NULL DTB pointer before outputing anything. Check if the DTB pointer is NULL before trying to use it. Signed-off-by: Mathieu Othacehe <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-09-24test: Fix optee unit testJan Kiszka
This was apparently not built for several years: Since a2535243e011, optee_copy_fdt_nodes implicitly works against the U-Boot dt. We therefore have to tweak its reference before using the function and restore things afterwards. If it had been built, actually trying it out would have failed next: We need CONFIG_OPTEE_LIB to actually build the function that is primarily being tested here. And we need to re-initialize target fdt, now that the tests may run in random order. Fixes: a2535243e011 ("lib: optee: migration optee_copy_fdt_nodes for OF_LIVE support") Fixes: ba2feaf41435 ("test: Split optee tests into three functions") Signed-off-by: Jan Kiszka <[email protected]>
2025-09-24lib: optee: Add line ending to debug() outputsJan Kiszka
Signed-off-by: Jan Kiszka <[email protected]>
2025-09-24imls: remove return parenthesesOsama Abdelkader
return is not a function, parentheses are not required Signed-off-by: Osama Abdelkader <[email protected]>
2025-09-24sandbox: use env_get() for time offset instead of getenv()Osama Abdelkader
The sandbox time offset is intended to be controlled via the U-Boot environment, not the host process environment. Update os_get_time_offset() to use env_get() instead of the libc getenv(). Leave other getenv() uses (e.g. U_BOOT_PERSISTENT_DATA_DIR, UBOOT_SB_FUZZ_TEST) unchanged, since those refer to host environment variables needed by sandbox tests. Signed-off-by: Osama Abdelkader <[email protected]>
2025-09-24android: boot: fix wrong end of header in v3/v4 parsingGuillaume Ranquet
The android boot header is page aligned but the current code made the assumption that the header was always smaller than the current header format. When the page_size is defined as 2048, as this is the case with the cuttlefish target, the current code sets the end of the header in the middle of it as the v3 and v4 headers are respectively 2112 and 2128 bytes long. Fix that by aligning to page_size Fixes: 1115027d2f75 ("android: boot: update android_image_get_data to support v3, v4") Signed-off-by: Guillaume Ranquet <[email protected]>
2025-09-24Merge tag 'mmc-power-next-2025-09-24' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mmc into next CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/27712 - Correct error value check in regulator_list_autoset - Minor style fixes in mmc
2025-09-25mmc: core: style fixes in mmc.cBhimeswararao Matsa
Fix a couple of style issues reported by checkpatch.pl: - Replace `#ifdef CONFIG_MMC_TRACE` with `#if IS_ENABLED(CONFIG_MMC_TRACE)` to follow the preferred kernel style for config-dependent branches. - Drop explicit zero initialization of a static variable. No functional change intended. Signed-off-by: Bhimeswararao Matsa <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-25power: regulator: Fix incorrect use of binary andAndrew Goodbody
In regulator_list_autoset there is a test for ret being non-zero and error being zero but it uses the binary '&' instead of the logical '&&' which could well lead to unexpected results. Correct this to use the logical '&&' instead. This issue found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2025-09-24Revert "Merge patch series "mkimage: Detect FIT image load address overlaps ↵Tom Rini
and fix related test/DTS issues"" This reverts commit 4d84fa1261eb27d57687f2e4c404a78b8653c183, reversing changes made to b82a1fa7ddc7f3be2f3b75898d5dc44c34420bdd. I had missed some feedback on this series from earlier, and we have since had reports of regressions due to this as well. For now, revert this. Signed-off-by: Tom Rini <[email protected]>
2025-09-24Merge patch series "Fix boot w/ scriptaddr & minor newline issue"Tom Rini
Wadim Egorov <[email protected]> says: First patch fixes boot issues with script boot method and the second patch is a minor formatting fix in our board detection code. @TI: I think the scriptaddr should be also updated for most TI/K3 and beagle board boards. Link: https://lore.kernel.org/r/[email protected]
2025-09-24board: phytec: common: Fix missing newline in error messageWadim Egorov
The error message in phytec_get_product_name() was missing a newline, causing log output to be concatenated with subsequent messages. Add the newline to improve readability. Signed-off-by: Wadim Egorov <[email protected]>
2025-09-24board: phytec: phycore_am6xx: Update scriptaddrWadim Egorov
After switching our boards to standard boot, we observed that the kernel hangs when booting with the "script" boot method over the network. The original scriptaddr value was copied from ti_common.env and remained unused for some time. On phycore-am62x and phycore-am62ax, however, this address conflicts with the current location where ATF is loaded (CONFIG_K3_ATF_LOAD_ADDR). Move scriptaddr to 0x89100000, directly after fdtoverlay_addr_r. The phycore-am64x is not affected by this issue, but we update it as well to keep all phycore-am6xx boards consistent. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Anshul Dalal <[email protected]>
2025-09-23Merge patch series "mkimage: Detect FIT image load address overlaps and fix ↵Tom Rini
related test/DTS issues" Aristo Chen <[email protected]> says: This patch series enhances FIT image robustness by adding **memory region overlap detection** to `mkimage` and fixing existing overlaps in DTS files and `binman` tests. The primary goal is to prevent runtime memory corruption from conflicting load addresses in FIT images. Key Changes: 1. `mkimage` Overlap Detection: A new validation in `tools/fit_image.c` checks for overlapping load addresses within FIT configurations. `mkimage` now errors out with detailed info on conflicts, preventing bad FIT image creation. 2. New Test Case: A Python test verifies the new detection. It intentionally creates an overlap (kernel and FDT) to confirm correct error handling. 3. Fixes for Existing Overlaps: * Board DTS (k3-am6xx): Adjusted load addresses for TI firmware stubs to prevent conflicts. This resolves previously undetected overlaps. * `binman` Tests: Fixed several tests. U-Boot load addresses were shifted to avoid ATF conflicts. A new linker script for TEE ELF sections ensures distinct memory layouts. 4. Documentation: Added guidance for developers on how to determine ELF load addresses using readelf, linker scripts, and objdump when working with binman FIT images. Impact: This series improves FIT image reliability by catching overlaps at build time, helping developers resolve issues before runtime failures. Link: https://lore.kernel.org/r/[email protected]
2025-09-23doc: binman: Add guidance for determining ELF load addressesAristo Chen
Add documentation to help users understand how to determine where ELF files will be loaded when using binman's 'fit,load' property. This addresses the common confusion about how load addresses are determined from ELF files. The documentation explains three methods: 1. Using readelf to examine program headers 2. Checking the linker script (.lds file) 3. Using objdump to see section addresses Also includes a specific example from binman tests showing how elf_sections.lds sets ATF load address to 0x00000010 and elf_sections_tee.lds sets TEE load address to 0x00100010 to avoid memory overlap conflicts. This helps users debug memory layout conflicts more efficiently when working with FIT images containing multiple ELF components. Signed-off-by: Aristo Chen <[email protected]>