diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 5718e1aa7e47a4fdee7226dc59a95b3c070f139c..dcfb8878c63d7e20480ff6df2e03944edcf705a2 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -108,7 +108,7 @@ int board_late_init(void)
 	switch (bootmode) {
 	case JTAG_MODE:
 		puts("JTAG_MODE\n");
-		mode = "pxe dhcp";
+		mode = "jtag pxe dhcp";
 		break;
 	case QSPI_MODE_24BIT:
 		puts("QSPI_MODE_24\n");
diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h
index 35153e8cd2545b82bdbc5795ab7817b05947af54..2f1cddbb6f0747df2871f6cf06409cbfdb85258a 100644
--- a/include/configs/xilinx_versal.h
+++ b/include/configs/xilinx_versal.h
@@ -90,7 +90,7 @@
 	"pxefile_addr_r=0x10000000\0" \
 	"kernel_addr_r=0x18000000\0" \
 	"kernel_size_r=0x10000000\0" \
-	"scriptaddr=0x02000000\0" \
+	"scriptaddr=0x20000000\0" \
 	"ramdisk_addr_r=0x02100000\0" \
 	"script_offset_f=0x3f80000\0" \
 	"script_size_f=0x80000\0"
@@ -115,7 +115,16 @@
 #define BOOTENV_DEV_NAME_XSPI(devtypeu, devtypel, instance) \
 	"xspi "
 
+#define BOOT_TARGET_DEVICES_JTAG(func)	func(JTAG, jtag, na)
+
+#define BOOTENV_DEV_JTAG(devtypeu, devtypel, instance) \
+	"bootcmd_jtag=source $scriptaddr; echo SCRIPT FAILED: continuing...;\0"
+
+#define BOOTENV_DEV_NAME_JTAG(devtypeu, devtypel, instance) \
+	"jtag "
+
 #define BOOT_TARGET_DEVICES(func) \
+	BOOT_TARGET_DEVICES_JTAG(func) \
 	BOOT_TARGET_DEVICES_MMC(func) \
 	BOOT_TARGET_DEVICES_XSPI(func) \
 	func(PXE, pxe, na) \