[PATCH v2 2/4] board: ti: am57xx: Change to using .env

Anurag Dutta a-dutta at ti.com
Mon Sep 1 08:16:57 CEST 2025


Move to using .env file for setting up environment variables
for am57xx and dra7xx.

Signed-off-by: Anurag Dutta <a-dutta at ti.com>
---
 board/ti/am57xx/Kconfig      |  12 +++
 board/ti/am57xx/am57xx.env   | 162 +++++++++++++++++++++++++++++++++++
 include/configs/am57xx_evm.h |  19 +---
 include/configs/dra7xx_evm.h |  24 ------
 4 files changed, 175 insertions(+), 42 deletions(-)
 create mode 100644 board/ti/am57xx/am57xx.env

diff --git a/board/ti/am57xx/Kconfig b/board/ti/am57xx/Kconfig
index 0c566820158..b6943938391 100644
--- a/board/ti/am57xx/Kconfig
+++ b/board/ti/am57xx/Kconfig
@@ -9,6 +9,18 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
 	default "am57xx_evm"
 
+config ENV_SOURCE_FILE
+	default "am57xx"
+
+source "board/ti/common/Kconfig"
+
+endif
+
+if TARGET_DRA7XX_EVM
+
+config ENV_SOURCE_FILE
+	default "am57xx"
+
 source "board/ti/common/Kconfig"
 
 endif
diff --git a/board/ti/am57xx/am57xx.env b/board/ti/am57xx/am57xx.env
new file mode 100644
index 00000000000..7d029a3e859
--- /dev/null
+++ b/board/ti/am57xx/am57xx.env
@@ -0,0 +1,162 @@
+#include <env/ti/ti_common.env>
+#include <env/ti/mmc.env>
+#include <env/ti/dfu.env>
+
+bootpart=0:2
+bootdir=/boot
+get_name_kern=
+	if test $boot_fit -eq 1; then
+		setenv bootfile fitImage;
+	else
+		setenv bootfile zImage;
+	fi
+get_fit_config=setenv name_fit_config ${fdtfile}
+console=ttyS2,115200n8
+fdtfile=undefined
+finduuid=part uuid mmc 0:2 uuid
+usbtty=cdc_acm
+vram=16M
+
+#if CONFIG_CMD_AVB
+avb_verify=avb init 1; avb verify $slot_suffix;
+#endif
+
+partitions=uuid_disk=${uuid_gpt_disk};
+	name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};
+	name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
+	partitions_android=
+	uuid_disk=${uuid_gpt_disk};
+	name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};
+	name=bootloader,size=2048K,uuid=${uuid_gpt_bootloader};
+	name=uboot-env,start=2432K,size=256K,uuid=${uuid_gpt_reserved};
+	name=misc,size=128K,uuid=${uuid_gpt_misc};
+	name=boot_a,size=20M,uuid=${uuid_gpt_boot_a};
+	name=boot_b,size=20M,uuid=${uuid_gpt_boot_b};
+	name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};
+	name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};
+	name=vbmeta_a,size=64K,uuid=${uuid_gpt_vbmeta_a};
+	name=vbmeta_b,size=64K,uuid=${uuid_gpt_vbmeta_b};
+	name=recovery,size=64M,uuid=${uuid_gpt_recovery};
+	name=super,size=2560M,uuid=${uuid_gpt_super};
+	name=metadata,size=16M,uuid=${uuid_gpt_metadata};
+	name=userdata,size=-,uuid=${uuid_gpt_userdata}
+optargs=
+dofastboot=0
+emmc_android_boot=
+	setenv mmcdev 1;
+	mmc dev $mmcdev;
+	mmc rescan;
+#if CONFIG_CMD_BCB
+#if CONFIG_ANDROID_AB
+	if part number mmc 1 misc control_part_number; then
+		echo "misc partition number:${control_part_number};"
+		bcb ab_select slot_name mmc ${mmcdev}:${control_part_number};
+	else
+		echo "misc partition not found;"
+		exit;
+	fi;
+	setenv slot_suffix _${slot_name};
+#endif
+#endif
+if bcb load CONFIG_FASTBOOT_FLASH_MMC_DEV misc; then
+	setenv ardaddr -;
+	if bcb test command = bootonce-bootloader; then
+		echo "Android: Bootloader boot...";
+		bcb clear command; bcb store;
+		fastboot 1;
+		exit;
+	elif bcb test command = boot-recovery; then
+		echo "Android: Recovery boot...";
+		setenv ardaddr $loadaddr;
+		setenv apart recovery;
+	else
+		echo "Android: Normal boot...";
+		setenv ardaddr $loadaddr;
+		setenv apart boot${slot_suffix};
+	fi;
+else
+	echo "Warning: BCB is corrupted or does not exist";
+	echo "Android: Normal boot...";
+fi;
+setenv eval_bootargs setenv bootargs $bootargs;
+run eval_bootargs;
+setenv machid fe6;
+#if CONFIG_CMD_AVB
+if run avb_verify; then
+	echo "AVB verification OK.";
+	set bootargs $bootargs $avb_bootargs;
+else
+	echo "AVB verification failed.";
+	exit;
+fi;
+#endif
+#if CONFIG_CMD_BCB
+#if CONFIG_ANDROID_AB
+setenv bootargs_ab androidboot.slot_suffix=${slot_suffix};
+echo "A/B cmdline addition: ${bootargs_ab}";
+setenv bootargs ${bootargs} ${bootargs_ab};
+#endif
+#endif
+if part start mmc $mmcdev $apart boot_start; then
+	part size mmc $mmcdev $apart boot_size;
+	mmc read $loadaddr $boot_start $boot_size;
+	echo "Preparing FDT...";
+	if test $board_name = am57xx_evm_reva3; then
+		echo "  Reading DTBO partition...";
+		part start mmc ${mmcdev} dtbo${slot_suffix} p_dtbo_start;
+		part size mmc ${mmcdev} dtbo${slot_suffix} p_dtbo_size;
+		mmc read ${dtboaddr} ${p_dtbo_start} ${p_dtbo_size};
+		echo "  Reading DTB for AM57x EVM RevA3...";
+		abootimg get dtb --index=0 dtb_start dtb_size;
+		cp.b $dtb_start $fdtaddr $dtb_size;
+		fdt addr $fdtaddr 0x80000;
+		echo "  Applying DTBOs for AM57x EVM RevA3...";
+		adtimg addr $dtboaddr;
+		adtimg get dt --index=0 dtbo0_addr dtbo0_size;
+		fdt apply $dtbo0_addr;
+		adtimg get dt --index=1 dtbo1_addr dtbo1_size;
+		fdt apply $dtbo1_addr;
+	elif test $board_name = beagle_x15_revc; then
+		echo "  Reading DTB for Beagle X15 RevC...";
+		abootimg get dtb --index=0 dtb_start dtb_size;
+		cp.b $dtb_start $fdtaddr $dtb_size;
+		fdt addr $fdtaddr 0x80000;
+	else
+		echo "Error: Android boot is not supported for $board_name";
+		exit;
+	fi;
+	bootm $loadaddr $ardaddr $fdtaddr;
+else
+	echo "$apart partition not found";
+	exit;
+fi;
+get_overlay_mmc=
+	fdt address ${fdtaddr};
+	fdt resize 0x100000;
+	for overlay in $name_overlays;
+	do;
+		load mmc ${bootpart} ${dtboaddr} ${bootdir}/dtb/${overlay};
+		fdt apply ${dtboaddr};
+	done;
+#if CONFIG_CMD_NET
+static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
+nfsopts=nolock
+rootpath=/export/rootfs
+netloadimage=tftp ${loadaddr} ${bootfile}
+netloadfdt=tftp ${fdtaddr} ${fdtfile}
+netargs=setenv bootargs console=${console} ${optargs}
+	root=/dev/nfs
+	nfsroot=${serverip}:${rootpath},${nfsopts} rw
+	ip=dhcp
+netboot=echo Booting from network ...;
+	setenv autoload no;
+	dhcp;
+	run netloadimage;
+	run netloadfdt;
+	run netargs;
+	bootz ${loadaddr} - ${fdtaddr}
+#endif
+#if CONFIG_MTD_RAW_NAND
+#include <env/ti/nand.env>
+#endif
+dfu_bufsiz=0x10000
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index 266b77fbf68..8c29c940478 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -11,30 +11,13 @@
 #ifndef __CONFIG_AM57XX_EVM_H
 #define __CONFIG_AM57XX_EVM_H
 
-#include <env/ti/dfu.h>
 #include <linux/sizes.h>
 
 #define CFG_SYS_NS16550_COM1		UART1_BASE	/* Base EVM has UART0 */
 #define CFG_SYS_NS16550_COM2		UART2_BASE	/* UART2 */
 #define CFG_SYS_NS16550_COM3		UART3_BASE	/* UART3 */
 
-#ifndef CONFIG_XPL_BUILD
-#define DFUARGS \
-	"dfu_bufsiz=0x10000\0" \
-	DFU_ALT_INFO_MMC \
-	DFU_ALT_INFO_EMMC \
-	DFU_ALT_INFO_RAM \
-	DFU_ALT_INFO_QSPI
-#else
-#ifdef CONFIG_SPL_DFU
-#define DFUARGS \
-	"dfu_bufsiz=0x10000\0" \
-	DFU_ALT_INFO_RAM
-#endif
-#endif
-
-#include <configs/ti_omap5_common.h>
-
 /* CPSW Ethernet */
 
+#include <configs/ti_omap5_common.h>
 #endif /* __CONFIG_AM57XX_EVM_H */
diff --git a/include/configs/dra7xx_evm.h b/include/configs/dra7xx_evm.h
index 3c960ca2ce2..9df7ef055bf 100644
--- a/include/configs/dra7xx_evm.h
+++ b/include/configs/dra7xx_evm.h
@@ -11,40 +11,16 @@
 #ifndef __CONFIG_DRA7XX_EVM_H
 #define __CONFIG_DRA7XX_EVM_H
 
-#include <env/ti/dfu.h>
-
 #define CFG_MAX_MEM_MAPPED		0x80000000
 
 #ifndef CONFIG_QSPI_BOOT
 /* MMC ENV related defines */
 #endif
 
-#if (CONFIG_CONS_INDEX == 1)
-#define CONSOLEDEV			"ttyS0"
-#elif (CONFIG_CONS_INDEX == 3)
-#define CONSOLEDEV			"ttyS2"
-#endif
 #define CFG_SYS_NS16550_COM1		UART1_BASE	/* Base EVM has UART0 */
 #define CFG_SYS_NS16550_COM2		UART2_BASE	/* UART2 */
 #define CFG_SYS_NS16550_COM3		UART3_BASE	/* UART3 */
 
-#ifndef CONFIG_XPL_BUILD
-#define DFUARGS \
-	"dfu_bufsiz=0x10000\0" \
-	DFU_ALT_INFO_MMC \
-	DFU_ALT_INFO_EMMC \
-	DFU_ALT_INFO_RAM \
-	DFU_ALT_INFO_QSPI
-#endif
-
-#ifdef CONFIG_XPL_BUILD
-#ifdef CONFIG_SPL_DFU
-#define DFUARGS \
-	"dfu_bufsiz=0x10000\0" \
-	DFU_ALT_INFO_RAM
-#endif
-#endif
-
 #include <configs/ti_omap5_common.h>
 
 /* NAND support */
-- 
2.34.1



More information about the U-Boot mailing list