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 \