aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Nold <dannynold@freescale.com>2010-11-01 17:05:15 -0500
committerDanny Nold <dannynold@freescale.com>2010-11-08 09:03:00 -0600
commit4767cb4e6eb31f3f5bf1d360089b2f693ce2605a (patch)
tree0465a3f83474d945663207c9badce6bc693c0fca
parentff451b117a03c7cf39fcd293661315b3d6adcc63 (diff)
ENGR00132537-3 - MSL: Add 6.0" V220 panel, update other E-Ink panels
- Added new entry for 6.0" V220 E-Ink panel - Updated timing info for other panels Signed-off-by: Danny Nold <dannynold@freescale.com>
-rw-r--r--arch/arm/mach-mx5/mx50_arm2.c76
-rw-r--r--arch/arm/mach-mx5/mx50_rdp.c76
2 files changed, 124 insertions, 28 deletions
diff --git a/arch/arm/mach-mx5/mx50_arm2.c b/arch/arm/mach-mx5/mx50_arm2.c
index 28e6cf83eb5e..17a7596e9835 100644
--- a/arch/arm/mach-mx5/mx50_arm2.c
+++ b/arch/arm/mach-mx5/mx50_arm2.c
@@ -651,14 +651,14 @@ static void epdc_disable_pins(void)
gpio_direction_output(EPDC_SDCE2, 0);
}
-static struct fb_videomode e60_mode = {
- .name = "E60",
+static struct fb_videomode e60_v110_mode = {
+ .name = "E60_V110",
.refresh = 50,
.xres = 800,
.yres = 600,
- .pixclock = 20000000,
- .left_margin = 10,
- .right_margin = 217,
+ .pixclock = 18604700,
+ .left_margin = 8,
+ .right_margin = 178,
.upper_margin = 4,
.lower_margin = 10,
.hsync_len = 20,
@@ -668,16 +668,33 @@ static struct fb_videomode e60_mode = {
.flag = 0,
};
-static struct fb_videomode e97_mode = {
- .name = "E97",
+static struct fb_videomode e60_v220_mode = {
+ .name = "E60_V220",
+ .refresh = 85,
+ .xres = 800,
+ .yres = 600,
+ .pixclock = 32000000,
+ .left_margin = 8,
+ .right_margin = 166,
+ .upper_margin = 4,
+ .lower_margin = 26,
+ .hsync_len = 20,
+ .vsync_len = 4,
+ .sync = 0,
+ .vmode = FB_VMODE_NONINTERLACED,
+ .flag = 0,
+};
+
+static struct fb_videomode e97_v110_mode = {
+ .name = "E97_V110",
.refresh = 50,
.xres = 1200,
.yres = 825,
.pixclock = 32000000,
- .left_margin = 8,
- .right_margin = 125,
+ .left_margin = 12,
+ .right_margin = 128,
.upper_margin = 4,
- .lower_margin = 17,
+ .lower_margin = 10,
.hsync_len = 20,
.vsync_len = 4,
.sync = 0,
@@ -687,13 +704,44 @@ static struct fb_videomode e97_mode = {
static struct mxc_epdc_fb_mode panel_modes[] = {
{
- &e60_mode,
- 4, 10, 20, 10, 20, 480, 20, 0, 1, 1,
+ &e60_v110_mode,
+ 4, /* vscan_holdoff */
+ 10, /* sdoed_width */
+ 20, /* sdoed_delay */
+ 10, /* sdoez_width */
+ 20, /* sdoez_delay */
+ 428, /* gdclk_hp_offs */
+ 20, /* gdsp_offs */
+ 0, /* gdoe_offs */
+ 1, /* gdclk_offs */
+ 1, /* num_ce */
},
{
- &e97_mode,
- 8, 10, 20, 10, 20, 580, 20, 0, 1, 3,
+ &e60_v220_mode,
+ 4, /* vscan_holdoff */
+ 10, /* sdoed_width */
+ 20, /* sdoed_delay */
+ 10, /* sdoez_width */
+ 20, /* sdoez_delay */
+ 428, /* gdclk_hp_offs */
+ 20, /* gdsp_offs */
+ 0, /* gdoe_offs */
+ 1, /* gdclk_offs */
+ 1, /* num_ce */
},
+ {
+ &e97_v110_mode,
+ 8, /* vscan_holdoff */
+ 10, /* sdoed_width */
+ 20, /* sdoed_delay */
+ 10, /* sdoez_width */
+ 20, /* sdoez_delay */
+ 632, /* gdclk_hp_offs */
+ 20, /* gdsp_offs */
+ 0, /* gdoe_offs */
+ 1, /* gdclk_offs */
+ 3, /* num_ce */
+ }
};
static struct mxc_epdc_fb_platform_data epdc_data = {
diff --git a/arch/arm/mach-mx5/mx50_rdp.c b/arch/arm/mach-mx5/mx50_rdp.c
index fc061bdcc3e8..13c30ea7cbdf 100644
--- a/arch/arm/mach-mx5/mx50_rdp.c
+++ b/arch/arm/mach-mx5/mx50_rdp.c
@@ -766,14 +766,14 @@ static void epdc_disable_pins(void)
gpio_direction_output(EPDC_SDCE2, 0);
}
-static struct fb_videomode e60_mode = {
- .name = "E60",
+static struct fb_videomode e60_v110_mode = {
+ .name = "E60_V110",
.refresh = 50,
.xres = 800,
.yres = 600,
- .pixclock = 20000000,
- .left_margin = 10,
- .right_margin = 217,
+ .pixclock = 18604700,
+ .left_margin = 8,
+ .right_margin = 178,
.upper_margin = 4,
.lower_margin = 10,
.hsync_len = 20,
@@ -783,16 +783,33 @@ static struct fb_videomode e60_mode = {
.flag = 0,
};
-static struct fb_videomode e97_mode = {
- .name = "E97",
+static struct fb_videomode e60_v220_mode = {
+ .name = "E60_V220",
+ .refresh = 85,
+ .xres = 800,
+ .yres = 600,
+ .pixclock = 32000000,
+ .left_margin = 8,
+ .right_margin = 166,
+ .upper_margin = 4,
+ .lower_margin = 26,
+ .hsync_len = 20,
+ .vsync_len = 4,
+ .sync = 0,
+ .vmode = FB_VMODE_NONINTERLACED,
+ .flag = 0,
+};
+
+static struct fb_videomode e97_v110_mode = {
+ .name = "E97_V110",
.refresh = 50,
.xres = 1200,
.yres = 825,
.pixclock = 32000000,
- .left_margin = 8,
- .right_margin = 125,
+ .left_margin = 12,
+ .right_margin = 128,
.upper_margin = 4,
- .lower_margin = 17,
+ .lower_margin = 10,
.hsync_len = 20,
.vsync_len = 4,
.sync = 0,
@@ -802,13 +819,44 @@ static struct fb_videomode e97_mode = {
static struct mxc_epdc_fb_mode panel_modes[] = {
{
- &e60_mode,
- 4, 10, 20, 10, 20, 480, 20, 0, 1, 1,
+ &e60_v110_mode,
+ 4, /* vscan_holdoff */
+ 10, /* sdoed_width */
+ 20, /* sdoed_delay */
+ 10, /* sdoez_width */
+ 20, /* sdoez_delay */
+ 428, /* gdclk_hp_offs */
+ 20, /* gdsp_offs */
+ 0, /* gdoe_offs */
+ 1, /* gdclk_offs */
+ 1, /* num_ce */
},
{
- &e97_mode,
- 8, 10, 20, 10, 20, 580, 20, 0, 1, 3,
+ &e60_v220_mode,
+ 4, /* vscan_holdoff */
+ 10, /* sdoed_width */
+ 20, /* sdoed_delay */
+ 10, /* sdoez_width */
+ 20, /* sdoez_delay */
+ 428, /* gdclk_hp_offs */
+ 20, /* gdsp_offs */
+ 0, /* gdoe_offs */
+ 1, /* gdclk_offs */
+ 1, /* num_ce */
},
+ {
+ &e97_v110_mode,
+ 8, /* vscan_holdoff */
+ 10, /* sdoed_width */
+ 20, /* sdoed_delay */
+ 10, /* sdoez_width */
+ 20, /* sdoez_delay */
+ 632, /* gdclk_hp_offs */
+ 20, /* gdsp_offs */
+ 0, /* gdoe_offs */
+ 1, /* gdclk_offs */
+ 3, /* num_ce */
+ }
};
static struct mxc_epdc_fb_platform_data epdc_data = {