#include <environment/ti/ti_armv7_common.env>
#include <environment/ti/mmc.env>
#include <environment/ti/ufs.env>
#include <environment/ti/k3_dfu.env>

#if CONFIG_CMD_REMOTEPROC
#include <environment/ti/k3_rproc.env>
#endif

default_device_tree=ti/k3-j721s2-common-proc-board.dtb
findfdt=
	setenv name_fdt ${default_device_tree};
	if test $board_name = j721s2; then			\
		setenv name_fdt ti/k3-j721s2-common-proc-board.dtb; fi;
	if test $board_name = am68-sk; then
		setenv name_fdt ti/k3-am68-sk-base-board.dtb; fi;
	setenv fdtfile ${name_fdt}
name_kern=Image
console=ttyS2,115200n8
args_all=setenv optargs earlycon=ns16550a,mmio32,0x02880000
	${mtdparts}
run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}

boot=mmc
mmcdev=1
bootpart=1:2
bootdir=/boot
#if CONFIG_TARGET_J721S2_R5_EVM
addr_mcur5f0_0load=0x89000000
name_mcur5f0_0fw=/lib/firmware/j7-mcu-r5f0_0-fw
#endif
rd_spec=-
init_mmc=run args_all args_mmc
get_overlay_mmc=
	fdt address ${fdtaddr};
	fdt resize 0x100000;
	for overlay in $name_overlays;
	do;
	load mmc ${bootpart} ${dtboaddr} ${bootdir}/${overlay} &&
	fdt apply ${dtboaddr};
	done;
partitions=uuid_disk=${uuid_gpt_disk};
	name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}
get_kern_mmc=load mmc ${bootpart} ${loadaddr}
	${bootdir}/${name_kern}
get_fit_mmc=load mmc ${bootpart} ${addr_fit}
	${bootdir}/${name_fit}
partitions=uuid_disk=${uuid_gpt_disk};
	name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}

rproc_fw_binaries= 2 /lib/firmware/j721s2-main-r5f0_0-fw 3 /lib/firmware/j721s2-main-r5f0_1-fw 4 /lib/firmware/j721s2-main-r5f1_0-fw 5 /lib/firmware/j721s2-main-r5f1_1-fw 6 /lib/firmware/j721s2-c71_0-fw 7 /lib/firmware/j721s2-c71_1-fw


