diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index 0b2852c4dae5782a9d600c70fdfa31fa02bfc227..385724394751d0debad40287d6cc70c85554a638 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -13,6 +13,7 @@ config TEGRA_COMMON
 	select DM_SPI
 	select DM_SPI_FLASH
 	select OF_CONTROL
+	select VIDCONSOLE_AS_LCD
 
 config TEGRA_ARMV7_COMMON
 	bool "Tegra 32-bit common options"
diff --git a/common/console.c b/common/console.c
index b3f5fdc03a168682bb351734e2b0b897988d64fb..6a0d11bb04c5337778f249500d506d53ce3c2f3a 100644
--- a/common/console.c
+++ b/common/console.c
@@ -650,6 +650,10 @@ struct stdio_dev *search_device(int flags, const char *name)
 	struct stdio_dev *dev;
 
 	dev = stdio_get_by_name(name);
+#ifdef CONFIG_VIDCONSOLE_AS_LCD
+	if (!dev && !strcmp(name, "lcd"))
+		dev = stdio_get_by_name("vidconsole");
+#endif
 
 	if (dev && (dev->flags & flags))
 		return dev;
@@ -795,6 +799,10 @@ done:
 #ifndef CONFIG_SYS_CONSOLE_INFO_QUIET
 	stdio_print_current_devices();
 #endif /* CONFIG_SYS_CONSOLE_INFO_QUIET */
+#ifdef CONFIG_VIDCONSOLE_AS_LCD
+	if (strstr(stdoutname, "lcd"))
+		printf("Warning: Please change 'lcd' to 'vidconsole' in stdout/stderr environment vars\n");
+#endif
 
 #ifdef CONFIG_SYS_CONSOLE_ENV_OVERWRITE
 	/* set the environment variables (will overwrite previous env settings) */
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index fbc5d7cfe7ebb7f39c769e58327d66387aecbc53..19f9429cce784450d5fbcea2d9d114638ebf3ed9 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -91,6 +91,16 @@ config CONSOLE_TRUETYPE_SIZE
 
 source "drivers/video/fonts/Kconfig"
 
+config VIDCONSOLE_AS_LCD
+	bool "Use 'vidconsole' when 'lcd' is seen in stdout"
+	depends on DM_VIDEO
+	help
+	  This is a work-around for boards which have 'lcd' in their stdout
+	  environment variable, but have moved to use driver model for video.
+	  In this case the console will no-longer work. While it is possible
+	  to update the environment, the breakage may be confusing for users.
+	  This option will be removed around the end of 2016.
+
 config VIDEO_VESA
 	bool "Enable VESA video driver support"
 	default n
diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c
index 7867fe3895d00a763ff7b841554f46de1fd2ecd1..bff1fcb9eaf7eb9ed293b0a752051b9740dbf95e 100644
--- a/drivers/video/bcm2835.c
+++ b/drivers/video/bcm2835.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <lcd.h>
 #include <memalign.h>
+#include <phys2bus.h>
 #include <asm/arch/mbox.h>
 #include <asm/global_data.h>
 
@@ -103,7 +104,8 @@ void lcd_ctrl_init(void *lcdbase)
 	panel_info.vl_row = h;
 	panel_info.vl_bpix = LCD_COLOR16;
 
-	gd->fb_base = msg_setup->allocate_buffer.body.resp.fb_address;
+	gd->fb_base = bus_to_phys(
+		msg_setup->allocate_buffer.body.resp.fb_address);
 }
 
 void lcd_enable(void)