diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c
index 4a11c947167710ee65dcd499298144b7def182bf..01f7b8783356c2f1211d379c10a736d7b1555baf 100644
--- a/arch/arm/mach-imx/cpu.c
+++ b/arch/arm/mach-imx/cpu.c
@@ -44,6 +44,14 @@ static char *get_reset_cause(void)
 	writel(cause, &src_regs->srsr);
 	reset_cause = cause;
 
+#ifdef CONFIG_RESET_CAUSE_ADDR
+	{
+		unsigned *p = (unsigned *)CONFIG_RESET_CAUSE_ADDR;
+		*p++ = 0x12345678;	/* magic value to check for */
+		*p = cause;
+	}
+#endif
+
 	switch (cause) {
 	case 0x00001:
 	case 0x00011: