LK: Add support for splash screen on MSM7627_SURF

Moving lcdc.c file from qsd8k and msm7x30 to msm_shared under platform
directory.
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index 6abe321..cbdc64a 100755
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -2,7 +2,7 @@
  * Copyright (c) 2009, Google Inc.
  * All rights reserved.
  *
- * Copyright (c) 2009, Code Aurora Forum. All rights reserved.
+ * Copyright (c) 2009-2010, Code Aurora Forum. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -41,6 +41,7 @@
 #include <dev/flash.h>
 #include <lib/ptable.h>
 #include <dev/keys.h>
+#include <dev/fbcon.h>
 
 #include "bootimg.h"
 #include "fastboot.h"
@@ -187,7 +188,7 @@
 	struct ptable *ptable;
 	unsigned offset = 0;
 	const char *cmdline;
-
+	struct fbcon_config *fb_display = NULL;
 
 	if (target_is_emmc_boot()) {
 		hdr = (struct boot_img_hdr *)EMMC_BOOT_IMG_HEADER_ADDR;
@@ -204,6 +205,22 @@
 		return -1;
 	}
 
+#if DISPLAY_SPLASH_SCREEN
+	ptn = ptable_find(ptable, "splash");
+	if (ptn == NULL) {
+        dprintf(CRITICAL, "ERROR: No splash partition found\n");
+	} else {
+		fb_display = fbcon_display();
+		if (fb_display) {
+			if (flash_read(ptn, 0, fb_display->base,
+			    (fb_display->width * fb_display->height * fb_display->bpp/8))) {
+				fbcon_clear();
+				dprintf(CRITICAL, "ERROR: Cannot read splash image\n");
+			}
+		}
+	}
+#endif
+
 	if(!boot_into_recovery)
 	{
 	        ptn = ptable_find(ptable, "boot");
@@ -397,7 +414,13 @@
 
 void aboot_init(const struct app_descriptor *app)
 {
-        unsigned reboot_mode = 0;
+	unsigned reboot_mode = 0;
+	unsigned disp_init = 0;
+	#if DISPLAY_SPLASH_SCREEN
+	display_init();
+	dprintf(INFO, "Diplay initialized\n");
+	disp_init = 1;
+	#endif
 	page_size = flash_page_size();
 	page_mask = page_size - 1;
 	if (keys_get_state(KEY_HOME) != 0)
@@ -419,7 +442,11 @@
 		"to fastboot mode.\n");
 
 fastboot:
-        display_init();
+	if(!disp_init) {
+		display_init();
+	} else {
+		fbcon_clear();
+	}
 	dprintf(INFO, "Diplay initialized\n");
 	udc_init(&surf_udc_device);