summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-04-21imx8mq: evk: Migrate to DM PMIC frameworkPeng Fan
Migrate the i.MX8MQ EVK board to the Driver Model (DM) PMIC framework. This replaces legacy PMIC handling with DM_PMIC and enables proper device-model support during SPL. As part of this transition, enable CONFIG_SPL_DM and the required DM subsystems such as I2C, PINCTRL, MMC, GPIO, and regulators so the SPL boot flow continues to work correctly. Board-specific SPL code is simplified accordingly by removing legacy I2C, USDHC, and PMIC handling, relying instead on device tree descriptions and DM drivers. Signed-off-by: Peng Fan <[email protected]>
2026-04-21board: nxp: common: fix PFUZE100 DM build and unify DM/non-DM handlingPeng Fan
Switch PFUZE100 object linkage to be phase-aware and fix build issues when using driver model PMIC support. The PFUZE100 helper code is reworked to: - Build pfuze.o only when CONFIG_(SPL_)DM_PMIC_PFUZE100 is enabled - Use CONFIG_IS_ENABLED(DM_PMIC_PFUZE100) for proper DM/non-DM selection - Align function signatures and implementations with DM PMIC APIs - Use udevice-based pmic access for DM and legacy pmic for non-DM - Avoid mixing struct pmic and struct udevice in the same build configuration No functional change intended beyond fixing DM support and build consistency. Signed-off-by: Peng Fan <[email protected]>
2026-04-21mx6: sabreauto/sd: Exclude power_init_board from SPL buildPeng Fan
To mx6sabreauto and mx6sabresd, power_init_board is called in board_r phase. After CONFIG_SPL_DM_PMIC_PFUZE100 included, there will be build error to build power_init_board() when CONFIG_SPL_DM_PMIC_PFUZE100 is not enabled. Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: Correct signed_hdmi firmware positionPeng Fan
signed_hdmi_imx8m.bin is already signed and has a IVT header. It should not be put in u-boot-spl-mkimage.signed.bin. Move it to head of flash.bin following NXP imx-mkimage. Keeping it in u-boot-spl-mkimage.signed.bin also consumes a lot of TCM space which is not expected. While moving it to head of flash.bin, other changes are required, u-boot.itb is put at sector 768 per defconfig, so u-boot.itb binman offset should be updated and it should be moved out from binman section. Also binman symbol address are updated, so need to subtract u-boot-spl image_pos + CONFIG_SPL_TEXT_BASE to find the correct location of ddr phy firmware. Because there is 1KB padding in HDMI firmware, use 32KB when burning flash.bin to sd card. Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: cm: drop redundant gd clearing in board_init_fPeng Fan
The global data (gd) area is already zeroed in board_init_f_init_reserve() before board_init_f() is called. Remove the duplicate gd clearing from board_init_f(). Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: pico: drop redundant gd clearing in board_init_fPeng Fan
The global data (gd) area is already zeroed in board_init_f_init_reserve() before board_init_f() is called. Remove the duplicate gd clearing from board_init_f(). Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: reform2: drop redundant gd clearing in board_init_fPeng Fan
The global data (gd) area is already zeroed in board_init_f_init_reserve() before board_init_f() is called. Remove the duplicate gd clearing from board_init_f(). Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: phanbell: drop redundant gd clearing in board_init_fPeng Fan
The global data (gd) area is already zeroed in board_init_f_init_reserve() before board_init_f() is called. Remove the duplicate gd clearing from board_init_f(). Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: pitx: drop redundant gd clearing in board_init_fPeng Fan
The global data (gd) area is already zeroed in board_init_f_init_reserve() before board_init_f() is called. Remove the duplicate gd clearing from board_init_f(). Signed-off-by: Peng Fan <[email protected]>
2026-04-21imx8mq: evk: drop redundant gd clearing in board_init_fPeng Fan
The global data (gd) area is already zeroed in board_init_f_init_reserve() before board_init_f() is called. Remove the duplicate gd clearing from board_init_f(). Signed-off-by: Peng Fan <[email protected]>
2026-04-21toradex: tdx-cfg-block: add verdin imx95 0226, 0227 and 0228 pid4Emanuele Ghidoli
Add these new PID4 to config block handling: - 0226 Verdin iMX95 Hexa 4GB WB IT - 0227 Verdin iMX95 Hexa 4GB ET - 0228 Verdin iMX95 Hexa 16GB IT Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-21board: toradex: add Toradex Verdin iMX95Emanuele Ghidoli
Add support for the Toradex Verdin iMX95. Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95 Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit Signed-off-by: Emanuele Ghidoli <[email protected]> Co-developed-by: Ernest Van Hoecke <[email protected]> Signed-off-by: Ernest Van Hoecke <[email protected]> Co-developed-by: Francesco Dolcini <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-21common: memsize: add RAM size probe based on alias detectionEmanuele Ghidoli
Add probe_ram_size_by_alias() to detect RAM size by checking whether a write to one address aliases to another address. Compared to get_ram_size(), this function allows the caller to: - limit probing to a small set of required accesses - avoid touching reserved or already used memory regions - handle non-linear alias patterns On the iMX95 SoC, when used with LPDDR5, accesses beyond the end of an 8GB DDR configuration do not alias to the expected linear wrap-around addresses. Instead, the aliased addresses appear to follow a pattern related to the DDRC bank and bank-group addresses mapping. Experimentally, the observed pattern is: Write Read y00000000 -> x0001c000 y00004000 -> x00018000 y00008000 -> x00014000 y0000c000 -> x00010000 y00010000 -> x0000c000 y00014000 -> x00008000 y00018000 -> x00004000 y0001c000 -> x00000000 This helper makes it possible to probe RAM size by explicitly specifying the probed address and the expected alias address for each size check. Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-21imx: imx9: Select ARCH_MISC_INIT for all i.MX9 SoCsPrimoz Fiser
Instead of adding select ARCH_MISC_INIT for each i.MX 9x SoC, select it at the i.MX9 family Kconfig level. The corresponding arch_misc_init() is already defined in the common arch/arm/mach-imx/imx9/soc.c file and will print out ELE firmware BuildInfo for all i.MX9 SoCs now instead of just i.MX91 and i.MX95. Signed-off-by: Primoz Fiser <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-04-21board: dhelectronics: imx: Use second Ethernet MAC also from fuseChristoph Niedermaier
Currently, the board specific code evaluates only the first Ethernet MAC address fuse, regardless of whether the first or second MAC address is requested. When the function to determine the second Ethernet MAC address is looking for the fused MAC address, it only reads the first MAC address fuse and increment it by one to set the second Ethernet MAC address. That is not the expected behavior when two MAC addresses are fused, because this causes the second fused MAC address to be ignored. Change this so that the second fused MAC address will be used. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Christoph Niedermaier <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-04-21net: fsl_enetc: Add iMX95 enetc4 10Gbps port supportYe Li
1. Add optional serdes-supply regulator property support. 2. Enable 10Gbps feature for the controller, configure netc blkctrl CFG_LINK_PCS_PROT_2 to 10G SXGMII. 3. Add internal xpcs phy initialization to 10G XGMII Mode without auto-negotiation interface. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]>
2026-04-21net: phy: aquantia: Increase timeout for out of resetYe Li
Current timeout for PHY out of reset is 50ms which is too short. Increase it to 2s to align with kernel. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Alice Guo <[email protected]> Acked-by: Tim Harvey <[email protected]>
2026-04-21doc: tqma7: add documentationAlexander Feilke
Add readme for the tqma7 board. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21configs: tqma7: add defconfigsAlexander Feilke
Add general shared configurations for different boot media and variants for every RAM configuration. Acked-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21board: tqma7: add code for u-boot with splAlexander Feilke
The TQMa7x is a SoM family with a pluggable board connector based on the i.MX7 SoCs. Add support for the SoM and its combination with our MBa7x carrier board. Acked-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21arch: arm: dts: tqma7x: add boot phase propertiesAlexander Feilke
Revert this commit once the upstream linux device trees are synchronized. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21arch: arm: dts: tqma7x: add u-boot device tree fragmentsAlexander Feilke
Add u-boot specific device tree properties. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21env: add env_set_runtime() helperNora Schiffer
env_set_runtime() is equivalent to env_set(), but does nothing when CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is unset. Signed-off-by: Nora Schiffer <[email protected]> Signed-off-by: Steffen Doster <[email protected]> Signed-off-by: Max Merchel <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21board/tq: Add common SoM APIAlexander Feilke
Reduce code duplication by adding a default implementation. Signed-off-by: Max Merchel <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21Kconfig: update build-target for MX7 with SPLAlexander Feilke
Prepare for MX7-based module with SPL support. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21configs: imx9{43, 5}: Enable SPI SFDP supportSimona Toaca
This option needs to be enabled so that the erase size of the SPI NOR device is parsed correctly. Signed-off-by: Simona Toaca <[email protected]>
2026-04-21drivers: ddr: imx: Fix Kconfig for SAVED_DRAM_TIMING_BASESimona Toaca
The 'default' directive should be before 'help'. Signed-off-by: Simona Toaca <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-04-21kbuild: Use if_changed for font and splash .incbin rulesSimon Glass
The generated .S files for fonts and splash screens use .incbin with the full prerequisite path. When building with O= this bakes an absolute path into the .S file. If the build directory is later used on a different machine (e.g. in a container), the assembler cannot find the source file. Follow the existing DTB convention: rename the object targets to use compound suffixes (.ttf.o, .bmp.o), switch the pattern rules from direct $(call cmd,...) to FORCE + $(call if_changed,...), and register the new suffixes with intermediate_targets so that kbuild loads their .cmd files. This lets if_changed detect when the recorded command (including source paths) has changed and regenerate the .S file automatically. The EFI rule is left unchanged since its prerequisite is a generated file in the build directory, like the DTB and DTBO rules. The intermediate_targets entries stay in scripts/Makefile.build rather than moving to scripts/Makefile.lib-u-boot, because that file is included before intermediate_targets is defined and 'targets' is ':=', so a '$(call intermediate_targets, ...)' inside it would expand to empty and silently drop the entries. To keep the upstream block untouched, the U-Boot additions go in a separate 'targets +=' block immediately below. Suggested-by: Rasmus Villemoes <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Rasmus Villemoes <[email protected]>
2026-04-21kbuild: Move U-Boot .incbin rules to Makefile.lib-u-bootSimon Glass
The font, splash-screen and EFI .incbin wrapper rules are U-Boot additions that do not exist in the upstream Linux kbuild. Keeping them in scripts/Makefile.lib makes re-syncing with Linux harder than it needs to be, as every sync must manually preserve the U-Boot additions. Move these rules into a new scripts/Makefile.lib-u-boot and include it from Makefile.build and Makefile.xpl, right after the existing Makefile.lib include. This is a pure code-move with no functional change. Suggested-by: Tom Rini <[email protected]> Signed-off-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Rasmus Villemoes <[email protected]>
2026-04-21boot/fit: fix misleading commentJulien Stephan
When load address is specified but set to 0, we ignore it and load in place instead. The current comment is misleading, so update it. Signed-off-by: Julien Stephan <[email protected]>
2026-04-21Merge patch series "test: Convert tests to use FsHelper and DiskHelper"Tom Rini
Simon Glass <[email protected]> says: This series adds a DiskHelper class and converts most test code to use FsHelper and DiskHelper instead of calling mk_fs() and setup_image() directly. The FsHelper class (already upstream) provides a cleaner interface for creating filesystem images, handling temporary directories and cleanup automatically. The new DiskHelper class builds on this, creating partitioned disk images from one or more FsHelper filesystems. DiskHelper includes a cur_dir flag to place the disk image in the current directory rather than the persistent-data directory. This matches the behaviour of setup_image() which places disk images in source_dir where sandbox expects to find them. This flag is needed for now and should be removed in a follow-up once all tests are migrated to use the persistent-data directory instead. With these helpers, test-setup code becomes shorter, more consistent and easier to follow. Manual sfdisk/dd/cleanup sequences are replaced by a few method calls. The series also fixes a broken fs_obj_fat fixture where a stale size_gran argument is silently causing the test to be skipped. A few EFI test fixtures (efi_capsule, efi_secboot, eficonfig) still use mk_fs() directly; these are left for a follow-up series since they would benefit from a full DiskHelper conversion. Link: https://lore.kernel.org/r/[email protected]
2026-04-21test: Convert test_fs fixtures to use FsHelperSimon Glass
Replace all direct calls to the mk_fs() function with FsHelper in the filesystem test fixtures. Each fixture now creates an FsHelper instance, populates its srcdir with test files, then calls mk_fs() on the object. This removes manual scratch-directory management and cleanup code, since FsHelper handles the source directory and image-file lifecycle. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert setup_rauc_image() to use FsHelperSimon Glass
Use FsHelper and DiskHelper to create the RAUC A/B disk image. This replaces the manual sfdisk and dd commands, making the code shorter and easier to follow. The same boot and root filesystems are added twice to produce the A/B partition layout. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Rename setup_bootflow_image()Simon Glass
The name of this is fairly vague. Use 'extlinux' so that it is clear that it relates to that format. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert test_ut_dm_init() to use FsHelperSimon Glass
Use the helper here, for consistency. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert setup_efi_image() to use FsHelperSimon Glass
Simplify this test-setup code by using the helper. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert setup_bootflow_image() to use FsHelperSimon Glass
Simplify this test-setup code by using the helper. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Split out core of Fedora image into a new functionSimon Glass
To permit easier adding of other images, move the Fedora-specific portions of setup_bootflow_image() into a separate function. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert setup_bootmenu_image() to use FsHelperSimon Glass
Simplify this test-setup code by using the helper. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert test_efi_bootmgr to use FsHelperSimon Glass
Simplify this test by using the helper. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert test_xxd to use FsHelperSimon Glass
Simplify this test by using the helper. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Convert test_cat to use FsHelperSimon Glass
Simplify this test by using the helper. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Fix broken fs_obj_fat fixtureSimon Glass
The removal of the size_gran parameter from mk_fs() leaves a stale positional argument (1024) that is now interpreted as the fs_img filename. Since 1024 is an integer, os.path.join() raises TypeError, causing the fixture to silently skip via the bare except clause. Drop the stale argument so the fixture works again. Fixes: d030dc34d67a ("test: fs_helper: Drop the size_gran argument") Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: fs_helper: Skip empty srcdir when creating a filesystemSimon Glass
FsHelper.mk_fs() always creates a srcdir via setup(), then passes it to the module-level mk_fs(). This fails for filesystem types like ext2 that do not support the -d flag, raising ValueError even when no files need to be copied. Pass None for src_dir when the srcdir is empty, so that creating an empty filesystem works for all supported types. Signed-off-by: Simon Glass <[email protected]>
2026-04-21test: Add a helper class to create disk imagesSimon Glass
Provide a way to create disk images which consist of multiple filesystem images. Include a cur_dir option to place the disk image in the current directory rather than in the persistent-data directory. This matches the behaviour of setup_image() which places disk images in source_dir where sandbox expects to find them. This flag is a temporary feature and should be removed once all tests are migrated to use the persistent-data directory instead. Signed-off-by: Simon Glass <[email protected]>
2026-04-21Merge patch series "Linux compat improvements and CCF prep"Tom Rini
Casey Connolly <[email protected]> says: This series implements various improvements to Linux header compatibility, largely in preparation for a full port of Linux CCF but many of these changes would also be helpful when porting other drivers. Beside the basic header/compat stuff there are a few larger patches: Patch 1 adds the "%pOF" format specifier to vsprintf, this behaves the same as it does in Linux printing the name of the ofnode, but notably it expects an ofnode pointer rather than a device_node. Patch 2 adds an option to skip doing a full DM scan pre-relocation. Some platforms like Qualcomm don't actually need devices to be probed prior to relocation, it is also quite slow to scan the entire FDT before caches are up. This option gets us to main loop 30-50% faster. Unfortunately it isn't possible to totally skip DM since U-Boot will panic if it can't find a serial port, but the serial uclass code will bind the serial port itself by reading /chosen/stdout-path, however any dependencies like clocks won't be found so this should only be enabled if the serial driver gracefully handles missing clocks. Patch 3 adds [k]strdup_const(), this works the same as the Linux version saving a small amount of memory by avoiding duplicating strings stored in .rodata, this is particularly useful for CCF. Patch 4 adds 64-bit versions of some 32-bit ofnode utilities functions, making it possible to parse 64-bit arrays. Patch 6 provides a simple implementation of kref, this will be used by CCF. Patch 9 adds devm_krealloc() support to devres, it relies on storing allocation sizes in the devres struct which will add a small overhead. Link: https://lore.kernel.org/r/[email protected]
2026-04-21compat: math64: add abs_diff()Casey Connolly
Add the abs_diff() macro, copied directly from Linux 6.18. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21compat: regulator: add enable/disable macrosCasey Connolly
These just wrap regulator_set_enable() and provide a closer analogue to the Linux API. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21regmap: add regmap_assign_bitsCasey Connolly
This is a simple wrapper around set/clear bits used by drivers in Linux. Add it here so it can be used by Qualcomm CCF clk drivers. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21compat: add linux/regmap.h symlinkCasey Connolly
Add a symlink to the Linux regmap.h path so that drivers ported from Linux don't all need additional changes to include the U-Boot specific path. Signed-off-by: Casey Connolly <[email protected]>