platform: msm8909: Add support for splash on 8909

On 8909 DSI controller doesn't support timing double
buffering. Disable it for 8909. Also enable fbcon
and mdss config for 8909.

Change-Id: If3d0dc9b5fac1c5ac22d3a1d10ec846abfb5f58f
diff --git a/platform/msm8909/include/platform/iomap.h b/platform/msm8909/include/platform/iomap.h
index 2ba6355..b47fede 100644
--- a/platform/msm8909/include/platform/iomap.h
+++ b/platform/msm8909/include/platform/iomap.h
@@ -204,6 +204,8 @@
 #define MDP_TEST_MODE_CLK           REG_MDP(0xF0000)
 #define MDP_INTR_STATUS             REG_MDP(0x00054)
 
+#define MDP_CGC_EN                  REG_MDP(0x100)
+
 #define SOFT_RESET                  0x118
 #define CLK_CTRL                    0x11C
 #define TRIG_CTRL                   0x084
diff --git a/platform/msm8909/rules.mk b/platform/msm8909/rules.mk
index 4da135e..ba6d8f3 100644
--- a/platform/msm8909/rules.mk
+++ b/platform/msm8909/rules.mk
@@ -14,6 +14,8 @@
 
 INCLUDES += -I$(LOCAL_DIR)/include -I$(LK_TOP_DIR)/platform/msm_shared/include
 
+DEV += fbcon
+MODULES += dev/fbcon
 
 OBJS += \
        $(LOCAL_DIR)/platform.o \
diff --git a/platform/msm_shared/mipi_dsi.c b/platform/msm_shared/mipi_dsi.c
index fef1a0f..cedefe7 100644
--- a/platform/msm_shared/mipi_dsi.c
+++ b/platform/msm_shared/mipi_dsi.c
@@ -666,7 +666,8 @@
 	writel(0x02020202, ctl_base + INT_CTRL);
 
 	/* For 8916/8939, enable DSI timing double buffering */
-	if (readl(ctl_base) == DSI_HW_REV_103_1)
+	if (readl(ctl_base) == DSI_HW_REV_103_1 &&
+				mdp_get_revision() != MDP_REV_305)
 		writel(0x1, ctl_base + TIMING_DB_MODE);
 
 	writel(((disp_width + hsync_porch0_bp) << 16) | hsync_porch0_bp,
@@ -698,14 +699,15 @@
 	writel(vsync_width << 16 | 0, ctl_base + VIDEO_MODE_VSYNC_VPOS);
 
 	/* For 8916/8939, flush the DSI timing registers */
-	if (readl(ctl_base) == DSI_HW_REV_103_1)
+	if (readl(ctl_base) == DSI_HW_REV_103_1 &&
+				mdp_get_revision() != MDP_REV_305)
 		writel(0x1, ctl_base + TIMING_FLUSH);
 
 	writel(0x0, ctl_base + EOT_PACKET_CTRL);
 
 	writel(0x00000100, ctl_base + MISR_VIDEO_CTRL);
 
-	if (mdp_get_revision() >= MDP_REV_41) {
+	if (mdp_get_revision() >= MDP_REV_41 || mdp_get_revision() == MDP_REV_305) {
 		writel(low_pwr_stop_mode << 16 |
 				eof_bllp_pwr << 12 | traffic_mode << 8
 				| dst_format << 4 | 0x0, ctl_base + VIDEO_MODE_CTRL);
diff --git a/platform/msm_shared/rules.mk b/platform/msm_shared/rules.mk
index 252601f..6f5c089 100755
--- a/platform/msm_shared/rules.mk
+++ b/platform/msm_shared/rules.mk
@@ -452,6 +452,7 @@
 endif
 
 ifeq ($(PLATFORM),msm8909)
+DEFINES += DISPLAY_TYPE_MDSS=1
 	OBJS += $(LOCAL_DIR)/qgic.o \
 			$(LOCAL_DIR)/qtimer.o \
 			$(LOCAL_DIR)/qtimer_mmap.o \