diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h
index 5eec999d5f3222c4d28260867d915792af46f724..587938249e8f7e3cd501463a6bd1c54cf57dc94f 100644
--- a/arch/arm/include/asm/arch-zynqmp/hardware.h
+++ b/arch/arm/include/asm/arch-zynqmp/hardware.h
@@ -66,7 +66,8 @@ struct iou_scntr_secure {
 #define BOOT_MODES_MASK	0x0000000F
 #define QSPI_MODE_24BIT	0x00000001
 #define QSPI_MODE_32BIT	0x00000002
-#define SD_MODE		0x00000003
+#define SD_MODE		0x00000003 /* sd 0 */
+#define SD_MODE1	0x00000005 /* sd 1 */
 #define NAND_MODE	0x00000004
 #define EMMC_MODE	0x00000006
 #define JTAG_MODE	0x00000000
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c
index cf8d6a4a51db6bd8343f765eb3c84b54bb16ce70..6bdec205a773f03c7687756f1a33b7773285d07f 100644
--- a/board/xilinx/zynqmp/zynqmp.c
+++ b/board/xilinx/zynqmp/zynqmp.c
@@ -94,6 +94,12 @@ int board_late_init(void)
 	case EMMC_MODE:
 		setenv("modeboot", "sdboot");
 		break;
+	case SD_MODE1:
+		setenv("modeboot", "sdboot1");
+		break;
+	case NAND_MODE:
+		setenv("modeboot", "nandboot");
+		break;
 	default:
 		printf("Invalid Boot Mode:0x%x\n", bootmode);
 		break;