diff --git a/arch/powerpc/cpu/mpc8xxx/ddr/main.c b/arch/powerpc/cpu/mpc8xxx/ddr/main.c
index d6b73c7af166d51cbeb292af2dfb2030e2f1f5dd..a33c9e2fc05d7ca60bbbb71e942e48da203a0a2b 100644
--- a/arch/powerpc/cpu/mpc8xxx/ddr/main.c
+++ b/arch/powerpc/cpu/mpc8xxx/ddr/main.c
@@ -532,9 +532,11 @@ phys_size_t fsl_ddr_sdram(void)
 
 	/* Compute it once normally. */
 #ifdef CONFIG_FSL_DDR_INTERACTIVE
-	if (getenv("ddr_interactive"))
+	if (getenv("ddr_interactive")) {
 		total_memory = fsl_ddr_interactive(&info);
-	else
+	} else if (tstc() && (getc() == 'd')) {	/* we got a key press of 'd' */
+		total_memory = fsl_ddr_interactive(&info);
+	} else
 #endif
 		total_memory = fsl_ddr_compute(&info, STEP_GET_SPD, 0);
 
diff --git a/doc/README.fsl-ddr b/doc/README.fsl-ddr
index 3992640ba30546e3e3028b48b1fac8944b6c75e4..59583b3fcdef722c0bbea9498d47ad4ae5ebb885 100644
--- a/doc/README.fsl-ddr
+++ b/doc/README.fsl-ddr
@@ -268,6 +268,13 @@ be activated by saving an environment variable "ddr_interactive". The value
 doesn't matter. Once activated, U-boot prompts "FSL DDR>" before enabling DDR
 controller. The available commands can be seen by typing "help".
 
+Another way to enter debug mode without using environment variable is to send
+a key press during boot, like one would do to abort auto boot. To save booting
+time, no additioal delay is added so the window to send the key press is very
+short. For example, user can send the key press using reset command followed by
+hitting enter key twice. In case of power on reset, user can keep hitting any
+key while applying the power.
+
 The example flow of using interactive debugging is
 type command "compute" to calculate the parameters from the default
 type command "print" with arguments to show SPD, options, registers