1/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
2
3#include <env/phytec/rauc.env>
4#include <env/phytec/overlays.env>
5
6bootcmd=
7	mmc dev ${mmcdev};
8	if mmc rescan; then
9		if test ${doraucboot} = 1; then
10			run raucinit;
11		fi;
12		if run loadimage; then
13			run mmcboot;
14		else
15			run netboot;
16		fi;
17	fi;
18image=Image
19console=ttyLP0
20fdt_addr_r=0x90000000
21fdtoverlay_addr_r=0x900c0000
22bootenv_addr_r=0x90500000
23fdtfile=CONFIG_DEFAULT_FDT_FILE
24ip_dyn=yes
25prepare_mcore=setenv optargs "${optargs} clk-imx93.mcore_booted"
26mmcdev=CONFIG_ENV_MMC_DEVICE_INDEX
27mmcpart=1
28mmcroot=2
29mmcautodetect=yes
30mmcargs=setenv bootargs console=${console},${baudrate} earlycon
31	root=/dev/mmcblk${mmcdev}p${mmcroot} ${raucargs} rootwait rw ${optargs}
32loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}
33loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr_r} ${fdtfile}
34mmcboot=
35	echo Booting from mmc ...;
36	if test ${no_bootenv} = 0; then
37		if run mmc_load_bootenv; then
38			env import -t ${bootenv_addr_r} ${filesize};
39		fi;
40	fi;
41	run mmcargs;
42	if run loadfdt; then
43		run mmc_apply_overlays;
44		booti ${loadaddr} - ${fdt_addr_r};
45	else
46		echo WARN: Cannot load the DT;
47	fi;
48nfsroot=/nfs
49netargs=setenv bootargs console=${console},${baudrate} earlycon
50	root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp ${optargs}
51netboot=
52	echo Booting from net ...;
53	run netargs;
54	if test ${ip_dyn} = yes; then
55		setenv get_cmd dhcp;
56	else
57		setenv get_cmd tftp;
58	fi;
59	if test ${no_bootenv} = 0; then
60		if run net_load_bootenv; then
61			env import -t ${bootenv_addr_r} ${filesize};
62		fi;
63	fi;
64	${get_cmd} ${loadaddr} ${image};
65	if ${get_cmd} ${fdt_addr_r} ${fdtfile}; then
66		run net_apply_overlays;
67		booti ${loadaddr} - ${fdt_addr_r};
68	else
69		echo WARN: Cannot load the DT;
70	fi;
71