1
0
Fork 0
mirror of https://github.com/u-boot/u-boot.git synced 2025-04-23 22:14:54 +00:00

mach-imx: Add i.MX 8ULP binman support

- Re-use i.MX 93 Makefile target as similar boot process
- Create imx8ulp-u-boot.dtsi for binman image architecture
- Create both SPL and U-Boot containers configuration

Key differences between the 93 and 8ULP SPL container are:
- No LPDDR training library needed for 8ULP
- 8ULP requires a uPower binary (RISC-V core) for power management
- 8ULP also requires a M33 binary to work properly

Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
Gary Bisson 2024-08-05 23:25:10 +02:00 committed by Fabio Estevam
parent ac4403758d
commit 9970da6fd0
4 changed files with 81 additions and 2 deletions

View file

@ -0,0 +1,63 @@
// SPDX-License-Identifier: GPL-2.0+
#ifdef CONFIG_BINMAN
/ {
binman: binman {
multiple-images;
};
};
&binman {
u-boot-spl-ddr {
align = <4>;
align-size = <4>;
filename = "u-boot-spl-ddr.bin";
pad-byte = <0xff>;
u-boot-spl {
align-end = <4>;
filename = "u-boot-spl.bin";
};
};
spl {
filename = "spl.bin";
mkimage {
args = "-n spl/u-boot-spl.cfgout -T imx8image -e 0x22020000";
blob {
filename = "u-boot-spl-ddr.bin";
};
};
};
u-boot-container {
filename = "u-boot-container.bin";
mkimage {
args = "-n u-boot-container.cfgout -T imx8image -e 0x0";
blob {
filename = "u-boot.bin";
};
};
};
imx-boot {
filename = "flash.bin";
pad-byte = <0x00>;
spl: blob-ext@1 {
filename = "spl.bin";
offset = <0x0>;
align-size = <0x400>;
align = <0x400>;
};
uboot: blob-ext@2 {
filename = "u-boot-container.bin";
};
};
};
#endif

View file

@ -129,7 +129,7 @@ DEPFILE_EXISTS := $(shell $(CPP) $(cpp_flags) -x c -o u-boot-dtb.cfgout $(srctre
else ifeq ($(CONFIG_ARCH_IMX8M), y)
IMAGE_TYPE := imx8mimage
DEPFILE_EXISTS := 0
else ifeq ($(CONFIG_ARCH_IMX9), y)
else ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
IMAGE_TYPE := imx8image
DEPFILE_EXISTS := 0
else
@ -215,7 +215,7 @@ flash.bin: spl/u-boot-spl.bin FORCE
endif
endif
ifeq ($(CONFIG_ARCH_IMX9), y)
ifeq ($(CONFIG_ARCH_IMX9)$(CONFIG_ARCH_IMX8ULP), y)
quiet_cmd_imx9_check = CHECK $@
cmd_imx9_check = $(srctree)/tools/imx9_image.sh $@

View file

@ -0,0 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0+ */
BOOT_FROM SD 0x400
SOC_TYPE ULP
CONTAINER
IMAGE A35 bl31.bin 0x20040000
IMAGE A35 u-boot.bin CONFIG_TEXT_BASE

View file

@ -0,0 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0+ */
BOOT_FROM SD 0x400
SOC_TYPE ULP
APPEND mx8ulpa2-ahab-container.img
CONTAINER
IMAGE PWR upower.bin
IMAGE M40 m33_image.bin 0x1ffc2000
IMAGE A35 u-boot-spl-ddr.bin 0x22020000