[ARM] tegra: stingray: HACK: Reserve old bootloader framebuffer
authorColin Cross <ccross@android.com>
Tue, 19 Oct 2010 21:49:56 +0000 (14:49 -0700)
committerColin Cross <ccross@android.com>
Wed, 20 Oct 2010 21:51:49 +0000 (14:51 -0700)
In bootloader 1021, the address of the framebuffer is not reported
correctly.  Manually reserve the location it is actually at.

Change-Id: Ie989ea0c5d8d7c34893585431228e274c623372f
Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/board-stingray.c

index 0982984945f19bb3de1cdf2a646c4ab2146ee3a6..18cf15bf6ababa4d204b05d996bf135b6b65df26 100644 (file)
@@ -1057,6 +1057,19 @@ void __init stingray_reserve(void)
                        ramconsole_start, ramconsole_size);
 
        tegra_reserve(SZ_128M, SZ_8M, SZ_16M);
+
+       /*
+        * Bootloader 1021 passes the wrong address for the bootloader's
+        * framebuffer, so just reserve the location its using manually.
+        */
+       tegra_bootloader_fb_start = 0x18018000;
+       tegra_bootloader_fb_size = 0x500000;
+       if (memblock_reserve(tegra_bootloader_fb_start, tegra_bootloader_fb_size))
+               pr_info("Failed to reserve old framebuffer location\n");
+       else
+               pr_info("HACK: Old framebuffer:  %08lx - %08lx\n",
+                       tegra_bootloader_fb_start,
+                       tegra_bootloader_fb_start + tegra_bootloader_fb_size - 1);
 }
 
 MACHINE_START(STINGRAY, "stingray")