diff --git a/include/environment/ti/dfu.env b/include/environment/ti/dfu.env
new file mode 100644
index 0000000000..2358f22a73
--- /dev/null
+++ b/include/environment/ti/dfu.env
@@ -0,0 +1,54 @@
+dfu_alt_info_mmc=
+	boot part 0 1;
+	rootfs part 0 2;
+	MLO fat 0 1;
+	MLO.raw raw 0x100 0x200;
+	u-boot.img.raw raw 0x300 0x1000;
+	u-env.raw raw 0x1300 0x200;
+	spl-os-args.raw raw 0x1500 0x200;
+	spl-os-image.raw raw 0x1700 0x6900;
+	spl-os-args fat 0 1;
+	spl-os-image fat 0 1;
+	u-boot.img fat 0 1;
+	uEnv.txt fat 0 1
+
+dfu_alt_info_emmc=
+	rawemmc raw 0 3751936;
+	boot part 1 1;
+	rootfs part 1 2;
+	MLO fat 1 1;
+	MLO.raw raw 0x100 0x200;
+	u-boot.img.raw raw 0x300 0x1000;
+	u-env.raw raw 0x1300 0x200;
+	spl-os-args.raw raw 0x1500 0x200;
+	spl-os-image.raw raw 0x1700 0x6900;
+	spl-os-args fat 1 1;
+	spl-os-image fat 1 1;
+	u-boot.img fat 1 1;
+	uEnv.txt fat 1 1
+
+#if CONFIG_MTD_RAW_NAND
+dfu_alt_info_nand=
+	SPL part 0 1;
+	SPL.backup1 part 0 2;
+	SPL.backup2 part 0 3;
+	SPL.backup3 part 0 4;
+	u-boot part 0 5;
+	u-boot-spl-os part 0 6;
+	kernel part 0 8;
+	rootfs part 0 9
+#endif
+
+dfu_alt_info_ram=
+	kernel ram 0x80200000 0x4000000;
+	fdt ram 0x80f80000 0x80000;
+	ramdisk ram 0x81000000 0x4000000
+
+dfu_alt_info_qspi=
+	u-boot.bin raw 0x0 0x080000;
+	u-boot.backup raw 0x080000 0x080000;
+	u-boot-spl-os raw 0x100000 0x010000;
+	u-boot-env raw 0x110000 0x010000;
+	u-boot-env.backup raw 0x120000 0x010000;
+	kernel raw 0x130000 0x800000
+
diff --git a/include/environment/ti/k3_dfu.env b/include/environment/ti/k3_dfu.env
new file mode 100644
index 0000000000..201529636c
--- /dev/null
+++ b/include/environment/ti/k3_dfu.env
@@ -0,0 +1,30 @@
+dfu_alt_info_mmc=
+	boot part 1 1;
+	rootfs part 1 2;
+	tiboot3.bin fat 1 1;
+	tispl.bin fat 1 1;
+	u-boot.img fat 1 1;
+	uEnv.txt fat 1 1;
+	sysfw.itb fat 1 1
+
+dfu_alt_info_emmc=
+	rawemmc raw 0 0x800000 mmcpart 1;
+	rootfs part 0 1 mmcpart 0;
+	tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;
+	tispl.bin.raw raw 0x400 0x1000 mmcpart 1;
+	u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;
+	u-env.raw raw 0x3400 0x100 mmcpart 1;
+	sysfw.itb.raw raw 0x3600 0x800 mmcpart 1
+
+dfu_alt_info_ospi=
+	tiboot3.bin raw 0x0 0x080000;
+	tispl.bin raw 0x080000 0x200000;
+	u-boot.img raw 0x280000 0x400000;
+	u-boot-env raw 0x680000 0x020000;
+	sysfw.itb raw 0x6c0000 0x100000;
+	rootfs raw 0x800000 0x3800000
+
+dfu_alt_info_ram=
+	tispl.bin ram 0x80080000 0x200000;
+	u-boot.img ram 0x81000000 0x400000
+
diff --git a/include/environment/ti/k3_rproc.env b/include/environment/ti/k3_rproc.env
new file mode 100644
index 0000000000..ed19ff4a52
--- /dev/null
+++ b/include/environment/ti/k3_rproc.env
@@ -0,0 +1,28 @@
+#if CONFIG_CMD_REMOTEPROC
+dorprocboot=0
+boot_rprocs=
+	if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then
+			rproc init;
+			run boot_rprocs_mmc;
+		fi;
+rproc_load_and_boot_one=
+	if load mmc ${bootpart} $loadaddr ${rproc_fw}; then
+		if rproc load ${rproc_id} ${loadaddr} ${filesize}; then
+			rproc start ${rproc_id}
+		fi;
+	fi
+boot_rprocs_mmc=
+	env set rproc_id;
+	env set rproc_fw;
+	for i in ${rproc_fw_binaries} ; do
+		if test -z ${rproc_id} ; then
+			env set rproc_id $i;
+		else
+			env set rproc_fw $i;
+			run rproc_load_and_boot_one;
+			env set rproc_id;
+			env set rproc_fw;
+		fi;
+	done
+#endif
+
diff --git a/include/environment/ti/mmc.env b/include/environment/ti/mmc.env
new file mode 100644
index 0000000000..5677d057d8
--- /dev/null
+++ b/include/environment/ti/mmc.env
@@ -0,0 +1,61 @@
+mmcdev=0
+mmcrootfstype=ext4 rootwait
+finduuid=part uuid ${boot} ${bootpart} uuid
+args_mmc=run finduuid;setenv bootargs console=${console}
+	${optargs}
+	root=PARTUUID=${uuid} rw
+	rootfstype=${mmcrootfstype}
+loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
+bootscript=echo Running bootscript from mmc${mmcdev} ...;
+	source ${loadaddr}
+bootenvfile=uEnv.txt
+importbootenv=echo Importing environment from mmc${mmcdev} ...;
+	env import -t ${loadaddr} ${filesize}
+loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
+loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
+loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
+envboot=mmc dev ${mmcdev};
+	if mmc rescan; then
+		echo SD/MMC found on device ${mmcdev};
+		if run loadbootscript; then
+			run bootscript;
+		else
+			if run loadbootenv; then
+				echo Loaded env from ${bootenvfile};
+				run importbootenv;
+			fi;
+			if test -n $uenvcmd; then
+				echo Running uenvcmd ...;
+				run uenvcmd;
+			fi;
+		fi;
+	fi;
+mmcloados=
+	if test ${boot_fdt} = yes || test ${boot_fdt} = try; then
+		if run loadfdt; then
+			bootz ${loadaddr} - ${fdtaddr};
+		else
+			if test ${boot_fdt} = try; then
+				bootz;
+			else
+				echo WARN: Cannot load the DT;
+				fi;
+		fi;
+	else
+		bootz;
+	fi;
+mmcboot=mmc dev ${mmcdev};
+	devnum=${mmcdev};
+	devtype=mmc;
+	if mmc rescan; then
+		echo SD/MMC found on device ${mmcdev};
+		if run loadimage; then
+			run args_mmc;
+			if test ${boot_fit} -eq 1; then
+				run run_fit;
+			else
+				run mmcloados;
+			fi;
+		fi;
+fi;
+
diff --git a/include/environment/ti/nand.env b/include/environment/ti/nand.env
new file mode 100644
index 0000000000..4e185c1b5f
--- /dev/null
+++ b/include/environment/ti/nand.env
@@ -0,0 +1,14 @@
+mtdids=nor0=47040000.spi.0,nor0=47034000.hyperbus
+mtdparts=mtdparts=47040000.spi.0:512k(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);47034000.hyperbus:512k(hbmc.tiboot3),2m(hbmc.tispl),4m(hbmc.u-boot),256k(hbmc.env),-@8m(hbmc.rootfs)
+nandargs=setenv bootargs console=${console}
+	${optargs}
+	root=${nandroot}
+	rootfstype=${nandrootfstype}
+nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
+nandrootfstype=ubifs rootwait
+nandboot=echo Booting from nand ...;
+	run nandargs;
+	nand read ${fdtaddr} NAND.u-boot-spl-os;
+	nand read ${loadaddr} NAND.kernel;
+	bootz ${loadaddr} - ${fdtaddr}
+
diff --git a/include/environment/ti/ti_armv7_common.env b/include/environment/ti/ti_armv7_common.env
new file mode 100644
index 0000000000..400474c895
--- /dev/null
+++ b/include/environment/ti/ti_armv7_common.env
@@ -0,0 +1,26 @@
+loadaddr=0x82000000
+kernel_addr_r=0x82000000
+fdtaddr=0x88000000
+dtboaddr=0x89000000
+fdt_addr_r=0x88000000
+fdtoverlay_addr_r=0x89000000
+rdaddr=0x88080000
+ramdisk_addr_r=0x88080000
+scriptaddr=0x80000000
+pxefile_addr_r=0x80100000
+bootm_size=0x10000000
+boot_fdt=try
+
+boot_fit=0
+addr_fit=0x90000000
+name_fit=fitImage
+update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
+get_overlaystring=
+	for overlay in $name_overlays;
+	do;
+	setenv overlaystring ${overlaystring}'#'${overlay};
+	done;
+run_fit=bootm ${addr_fit}#conf-${fdtfile}${overlaystring}
+
+#define CFG_SYS_SDRAM_BASE		0x80000000
+
diff --git a/include/environment/ti/ufs.env b/include/environment/ti/ufs.env
new file mode 100644
index 0000000000..509a87b89e
--- /dev/null
+++ b/include/environment/ti/ufs.env
@@ -0,0 +1,22 @@
+scsirootfstype=ext4 rootwait
+ufs_finduuid=part uuid scsi ${bootpart} uuid
+args_ufs=setenv devtype scsi;setenv bootpart 1:1;
+	run ufs_finduuid;
+	setenv bootargs console = ${console}
+	${optargs}
+	root=PARTUUID=${uuid} rw
+	rootfstype=${scsirootfstype};
+	setenv devtype scsi;
+	setenv bootpart 1:1
+init_ufs=ufs init; scsi scan; run args_ufs
+get_kern_ufs=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${name_kern}
+get_fdt_ufs=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
+get_overlay_ufs=
+	fdt address ${fdtaddr};
+	fdt resize 0x100000;
+	for overlay in $name_overlays;
+	do;
+	load scsi ${bootpart} ${dtboaddr} ${bootdir}/${overlay} &&
+	fdt apply ${dtboaddr};
+	done;
+
