diff --git a/arch/arm/mach-uniphier/board_late_init.c b/arch/arm/mach-uniphier/board_late_init.c
index d9eeacbf3a61639f216626b191b34677d11cb4c9..a45412677a0ffcfad93ca01f7a6ee222471f90ce 100644
--- a/arch/arm/mach-uniphier/board_late_init.c
+++ b/arch/arm/mach-uniphier/board_late_init.c
@@ -39,6 +39,9 @@ static int uniphier_set_fdt_file(void)
 	int buf_len = 256;
 	int ret;
 
+	if (getenv("fdt_file"))
+		return 0;	/* do nothing if it is already set */
+
 	ret = fdt_get_string(gd->fdt_blob, 0, "compatible", &compat);
 	if (ret)
 		return -EINVAL;