#include <env/ti/ti_common.env>
#include <env/ti/mmc.env>
#include <env/ti/ufs.env>
#include <env/ti/k3_dfu.env>

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

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

#if CONFIG_TARGET_J721E_R5_EVM
addr_mcur5f0_0load=0x89000000
name_mcur5f0_0fw=/lib/firmware/j7-mcu-r5f0_0-fw
#elif CONFIG_TARGET_J7200_R5_EVM
addr_mcur5f0_0load=0x89000000
name_mcur5f0_0fw=/lib/firmware/j7200-mcu-r5f0_0-fw
#endif

boot=mmc
mmcdev=1
bootpart=1:2
bootdir=/boot
rd_spec=-

#if CONFIG_TARGET_J7200_A72_EVM
do_main_cpsw0_qsgmii_phyinit=1
init_main_cpsw0_qsgmii_phy=gpio set gpio@22_17;
	gpio clear gpio@22_16
main_cpsw0_qsgmii_phyinit=
	if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1 && test ${dorprocboot} -eq 1 && test ${boot} = mmc; then
		run init_main_cpsw0_qsgmii_phy;
	fi;
#elif CONFIG_TARGET_J721E_A72_EVM
init_main_cpsw0_qsgmii_phy=gpio set gpio@22_17;
	gpio clear gpio@22_16
main_cpsw0_qsgmii_phyinit=
	if test $board_name = J721EX-PM1-SOM || test $board_name = J721EX-PM2-SOM || test $board_name = j721e; then
		do_main_cpsw0_qsgmii_phyinit=1; else
		do_main_cpsw0_qsgmii_phyinit=0; fi;
	if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1 && test ${dorprocboot} -eq 1 && test ${boot} = mmc; then
		run init_main_cpsw0_qsgmii_phy;			\
	fi;
#endif

#if CONFIG_TARGET_J721E_A72_EVM
rproc_fw_binaries=2 /lib/firmware/j7-main-r5f0_0-fw 3 /lib/firmware/j7-main-r5f0_1-fw 4 /lib/firmware/j7-main-r5f1_0-fw 5 /lib/firmware/j7-main-r5f1_1-fw 6 /lib/firmware/j7-c66_0-fw 7 /lib/firmware/j7-c66_1-fw 8 /lib/firmware/j7-c71_0-fw
#endif

#if CONFIG_TARGET_J7200_A72_EVM
rproc_fw_binaries=2 /lib/firmware/j7200-main-r5f0_0-fw 3 /lib/firmware/j7200-main-r5f0_1-fw
#endif
