| Age | Commit message (Collapse) | Author |
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Add readme for the tqma7 board.
Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
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]>
|
|
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]>
|
|
Revert this commit once the upstream linux device trees are
synchronized.
Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Add u-boot specific device tree properties.
Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
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]>
|
|
Reduce code duplication by adding a default implementation.
Signed-off-by: Max Merchel <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
Prepare for MX7-based module with SPL support.
Reviewed-by: Peng Fan <[email protected]>
Signed-off-by: Alexander Feilke <[email protected]>
|
|
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]>
|
|
The 'default' directive should be before 'help'.
Signed-off-by: Simona Toaca <[email protected]>
Reviewed-by: Marek Vasut <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Use the helper here, for consistency.
Signed-off-by: Simon Glass <[email protected]>
|
|
Simplify this test-setup code by using the helper.
Signed-off-by: Simon Glass <[email protected]>
|
|
Simplify this test-setup code by using the helper.
Signed-off-by: Simon Glass <[email protected]>
|
|
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]>
|
|
Simplify this test-setup code by using the helper.
Signed-off-by: Simon Glass <[email protected]>
|
|
Simplify this test by using the helper.
Signed-off-by: Simon Glass <[email protected]>
|
|
Simplify this test by using the helper.
Signed-off-by: Simon Glass <[email protected]>
|
|
Simplify this test by using the helper.
Signed-off-by: Simon Glass <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]
|
|
Add the abs_diff() macro, copied directly from Linux 6.18.
Signed-off-by: Casey Connolly <[email protected]>
|
|
These just wrap regulator_set_enable() and provide a closer analogue to
the Linux API.
Signed-off-by: Casey Connolly <[email protected]>
|
|
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]>
|
|
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]>
|