[PATCH] phycore-imx8mp: Enable standard boot

Leonard Anderweit l.anderweit at phytec.de
Thu Jul 10 10:17:17 CEST 2025


Enable standard boot for the phycore-imx8mp and use it as default. Add
all variables required for standard boot to the environment.

Signed-off-by: Leonard Anderweit <l.anderweit at phytec.de>
Tested-by: Martin Schwan <m.schwan at phytec.de>
---
 .../phytec/phycore_imx8mp/phycore_imx8mp.env  | 78 +++----------------
 configs/phycore-imx8mp_defconfig              | 17 ++--
 2 files changed, 20 insertions(+), 75 deletions(-)

diff --git a/board/phytec/phycore_imx8mp/phycore_imx8mp.env b/board/phytec/phycore_imx8mp/phycore_imx8mp.env
index 69690aa92e4f..9a129a0a4bfc 100644
--- a/board/phytec/phycore_imx8mp/phycore_imx8mp.env
+++ b/board/phytec/phycore_imx8mp/phycore_imx8mp.env
@@ -1,82 +1,28 @@
-#include <env/phytec/rauc.env>
-#include <env/phytec/overlays.env>
-
 bootcmd=
 	if test ${dofastboot} = 1; then
 		fastboot 0;
 	fi;
-	mmc dev ${mmcdev};
-	if mmc rescan; then
-		run spiprobe;
-		if test ${doraucboot} = 1; then
-			run raucinit;
-		fi;
-		if run loadimage; then
-			run mmcboot;
-		else
-			run netboot;
-		fi;
-	fi;
-console=ttymxc0,115200
+	bootflow scan -lb;
+bootmeths=script efi
+boot_targets=mmc2 mmc1 usb ethernet
 bootenv_addr_r=0x49100000
-fdtoverlay_addr_r=0x49000000
+boot_script_dhcp=boot.scr.uimg
+console=ttymxc0,115200
 dofastboot=0
-emmc_dev=2
 fastboot_raw_partition_all=0 4194304
 fastboot_raw_partition_bootloader=64 8128
 fdt_addr_r=0x48000000
 fdtfile=CONFIG_DEFAULT_FDT_FILE
-image=Image
+fdtoverlay_addr_r=0x49000000
 ip_dyn=yes
+kernel_addr_r=0x5A080000
+kernel_comp_addr_r=0x60000000
+kernel_comp_size=0x2000000
 mtdparts=30bb0000.spi:3840k(u-boot),128k(env),128k(env_redund),-(none)
 mtdids=nor0=30bb0000.spi
-spiprobe=true
-loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
-loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
-mmcargs=
-	setenv bootargs ${mcore_clk} console=${console}
-	root=/dev/mmcblk${mmcdev}p${mmcroot} ${raucargs} rootwait rw
 mmcautodetect=yes
-mmcboot=
-	echo Booting from mmc ...;
-	if test ${no_bootenv} = 0; then
-		if run mmc_load_bootenv; then
-			env import -t ${bootenv_addr_r} ${filesize};
-		fi;
-	fi;
-	run mmcargs;
-	if run loadfdt; then
-		run mmc_apply_overlays;
-		booti ${loadaddr} - ${fdt_addr_r};
-	else
-		echo WARN: Cannot load the DT;
-	fi;
 mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
-mmcpart=1
-mmcroot=2
-netargs=
-	setenv bootargs ${mcore_clk} console=${console} root=/dev/nfs ip=dhcp
-	nfsroot=${serverip}:${nfsroot},v3,tcp
-netboot=
-	echo Booting from net ...;
-	if test ${ip_dyn} = yes; then
-		setenv get_cmd dhcp;
-	else
-		setenv get_cmd tftp;
-	fi;
-	if test ${no_bootenv} = 0; then
-		if run net_load_bootenv; then
-			env import -t ${bootenv_addr_r} ${filesize};
-		fi;
-	fi;
-	${get_cmd} ${loadaddr} ${image};
-	run netargs;
-	if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
-		run net_apply_overlays;
-		booti ${loadaddr} - ${fdt_addr_r};
-	else
-		echo WARN: Cannot load the DT;
-	fi;
 nfsroot=/srv/nfs
-prepare_mcore=setenv mcore_clk clk-imx8mp.mcore_booted
-sd_dev=1
+pxefile_addr_r=0x58600000
+ramdisk_addr_r=0x5E000000
+scriptaddr=0x40000000
diff --git a/configs/phycore-imx8mp_defconfig b/configs/phycore-imx8mp_defconfig
index cb38898a2458..975d061e7bac 100644
--- a/configs/phycore-imx8mp_defconfig
+++ b/configs/phycore-imx8mp_defconfig
@@ -31,10 +31,13 @@ CONFIG_IMX_BOOTAUX=y
 CONFIG_SPL_IMX_ROMAPI_LOADADDR=0x48000000
 CONFIG_FIT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
+CONFIG_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
+CONFIG_BOOTSTD_FULL=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
+# CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_DEFAULT_FDT_FILE="oftree"
 CONFIG_SYS_CBSIZE=2048
 CONFIG_SYS_PBSIZE=2074
@@ -57,9 +60,11 @@ CONFIG_SPL_NOR_SUPPORT=y
 CONFIG_SPL_POWER=y
 CONFIG_SPL_SPI_FLASH_MTD=y
 CONFIG_SPL_WATCHDOG=y
-CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="u-boot=> "
+# CONFIG_CMD_VBE is not set
+CONFIG_CMD_BOOTEFI_SELFTEST=y
 CONFIG_CMD_ERASEENV=y
+CONFIG_CMD_NVEDIT_EFI=y
 # CONFIG_CMD_CRC32 is not set
 CONFIG_CMD_EEPROM=y
 CONFIG_SYS_I2C_EEPROM_ADDR_LEN=2
@@ -76,17 +81,12 @@ CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_SDP=y
 CONFIG_CMD_USB_MASS_STORAGE=y
-CONFIG_CMD_DHCP=y
-CONFIG_CMD_MII=y
-CONFIG_CMD_PING=y
 CONFIG_CMD_CACHE=y
+CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_REGULATOR=y
-CONFIG_CMD_EXT2=y
-CONFIG_CMD_EXT4=y
 CONFIG_CMD_EXT4_WRITE=y
-CONFIG_CMD_FAT=y
-CONFIG_CMD_FS_GENERIC=y
 CONFIG_CMD_MTDPARTS=y
+# CONFIG_SPL_EFI_PARTITION is not set
 CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
@@ -172,7 +172,6 @@ CONFIG_USB_XHCI_DWC3_OF_SIMPLE=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GENERIC=y
-CONFIG_USB_STORAGE=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_MANUFACTURER="PHYTEC"
 CONFIG_USB_GADGET_VENDOR_NUM=0x0525
-- 
2.43.0



More information about the U-Boot mailing list