summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-enterprise-panel.c
diff options
context:
space:
mode:
authorAnimesh Kishore <ankishore@nvidia.com>2011-07-14 17:22:11 +0530
committerVarun Colbert <vcolbert@nvidia.com>2011-07-29 17:26:45 -0700
commit731badfb2e165590d7156b0b1b5d047b388117d3 (patch)
tree7960c31d650406b2ee2eb8dac5d95cd23ada9757 /arch/arm/mach-tegra/board-enterprise-panel.c
parentcf13dd84fa28b974bb91bde652362da9abeb18ff (diff)
ARM: tegra: enterprise: DC one-shot mode
Send command to panel to enable TE signal. Disable/enable TE signal from panel in suspend/resume. Bug 851754 Change-Id: I16017250788057a49f36e2ba01d09c66cc00dd85 Reviewed-on: http://git-master/r/40628 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-enterprise-panel.c')
-rw-r--r--arch/arm/mach-tegra/board-enterprise-panel.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise-panel.c b/arch/arm/mach-tegra/board-enterprise-panel.c
index bdba10c33d0b..6fd8f26321fe 100644
--- a/arch/arm/mach-tegra/board-enterprise-panel.c
+++ b/arch/arm/mach-tegra/board-enterprise-panel.c
@@ -39,6 +39,8 @@
#include "devices.h"
#include "gpio-names.h"
+#define DC_CTRL_MODE TEGRA_DC_OUT_CONTINUOUS_MODE
+
/* Select panel to be used. */
#define AVDD_LCD PMU_TCA6416_GPIO_PORT17
#define DSI_PANEL_RESET 0
@@ -431,6 +433,25 @@ static int enterprise_dsi_panel_postsuspend(void)
static struct tegra_dsi_cmd dsi_init_cmd[]= {
DSI_CMD_SHORT(0x05, 0x11, 0x00),
DSI_DLY_MS(150),
+#if(DC_CTRL_MODE == TEGRA_DC_OUT_ONE_SHOT_MODE)
+ DSI_CMD_SHORT(0x15, 0x35, 0x00),
+#endif
+ DSI_CMD_SHORT(0x05, 0x29, 0x00),
+ DSI_DLY_MS(20),
+};
+
+static struct tegra_dsi_cmd dsi_early_suspend_cmd[] = {
+ DSI_CMD_SHORT(0x05, 0x28, 0x00),
+ DSI_DLY_MS(20),
+#if(DC_CTRL_MODE == TEGRA_DC_OUT_ONE_SHOT_MODE)
+ DSI_CMD_SHORT(0x05, 0x34, 0x00),
+#endif
+};
+
+static struct tegra_dsi_cmd dsi_late_resume_cmd[] = {
+#if(DC_CTRL_MODE == TEGRA_DC_OUT_ONE_SHOT_MODE)
+ DSI_CMD_SHORT(0x15, 0x35, 0x00),
+#endif
DSI_CMD_SHORT(0x05, 0x29, 0x00),
DSI_DLY_MS(20),
};
@@ -438,6 +459,9 @@ static struct tegra_dsi_cmd dsi_init_cmd[]= {
static struct tegra_dsi_cmd dsi_suspend_cmd[] = {
DSI_CMD_SHORT(0x05, 0x28, 0x00),
DSI_DLY_MS(20),
+#if(DC_CTRL_MODE == TEGRA_DC_OUT_ONE_SHOT_MODE)
+ DSI_CMD_SHORT(0x05, 0x34, 0x00),
+#endif
DSI_CMD_SHORT(0x05, 0x10, 0x00),
DSI_DLY_MS(5),
};
@@ -456,8 +480,15 @@ struct tegra_dsi_out enterprise_dsi = {
.n_init_cmd = ARRAY_SIZE(dsi_init_cmd),
.dsi_init_cmd = dsi_init_cmd,
+ .n_early_suspend_cmd = ARRAY_SIZE(dsi_early_suspend_cmd),
+ .dsi_early_suspend_cmd = dsi_early_suspend_cmd,
+
+ .n_late_resume_cmd = ARRAY_SIZE(dsi_late_resume_cmd),
+ .dsi_late_resume_cmd = dsi_late_resume_cmd,
+
.n_suspend_cmd = ARRAY_SIZE(dsi_suspend_cmd),
.dsi_suspend_cmd = dsi_suspend_cmd,
+
.video_data_type = TEGRA_DSI_VIDEO_TYPE_COMMAND_MODE,
.lp_cmd_mode_freq_khz = 20000,
};
@@ -498,6 +529,8 @@ static struct tegra_dc_out enterprise_disp1_out = {
.order = TEGRA_DC_ORDER_RED_BLUE,
.sd_settings = &enterprise_sd_settings,
+ .flags = DC_CTRL_MODE,
+
.type = TEGRA_DC_OUT_DSI,
.modes = enterprise_dsi_modes,