diff --git a/common/cmd_sf.c b/common/cmd_sf.c
index 5ced1cc..cd76f28 100644
--- a/common/cmd_sf.c
+++ b/common/cmd_sf.c
@@ -295,7 +295,10 @@ static int sf_parse_rd_inst_arg(char *arg, u8 *rd_inst, u8 *rd_qeb_req)
 		*rd_qeb_req = 1;
 	} else if (strcmp(arg, "diofr") == 0)
 		*rd_inst = CMD_READ_DUAL_IO_FAST;
-	else
+	else if (strcmp(arg, "qiofr") == 0) {
+		*rd_inst = CMD_READ_QUAD_IO_FAST;
+		*rd_qeb_req = 1;
+	} else
 		return 1;
 
 	return 0;
@@ -651,6 +654,7 @@ U_BOOT_CMD(
 	"				  dofr (Dual Output Fast Read, 3bh)\n"
 	"				  qofr (Quad Output Fast Read, 6bh)\n"
 	"				  diofr (Dual Input/Output Fast Read, bbh)\n"
+	"				  qiofr (Quad Input/Output Fast Read, ebh)\n"
 	"sf write wr_inst addr offset len\n"
 	"				- write `len' bytes from memory\n"
 	"				  at `addr' to flash at `offset' using\n"
@@ -670,6 +674,7 @@ U_BOOT_CMD(
 	"				  asr (Array Slow Read, 02b)\n"
 	"				  dofr (Dual Output Fast Read, 3bh)\n"
 	"				  qofr (Quad Output Fast Read, 6bh)\n"
-	"				  diofr (Dual Input/Output Fast Read, bbh)"
+	"				  diofr (Dual Input/Output Fast Read, bbh)\n"
+	"				  qiofr (Quad Input/Output Fast Read, ebh)"
 	SF_TEST_HELP
 );
diff --git a/include/spi_flash_inst.h b/include/spi_flash_inst.h
index e718e8e..556e179 100644
--- a/include/spi_flash_inst.h
+++ b/include/spi_flash_inst.h
@@ -34,5 +34,6 @@
 #define CMD_READ_DUAL_OUTPUT_FAST	0x3b
 #define CMD_READ_QUAD_OUTPUT_FAST	0x6b
 #define CMD_READ_DUAL_IO_FAST		0xbb
+#define CMD_READ_QUAD_IO_FAST		0xeb
 
 #endif /* _SPI_FLASH_INST_H_ */
