summaryrefslogtreecommitdiff
path: root/arch/arm/mach-mx5/mx50_rdp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-mx5/mx50_rdp.c')
-rw-r--r--arch/arm/mach-mx5/mx50_rdp.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/mx50_rdp.c b/arch/arm/mach-mx5/mx50_rdp.c
index a9653867f327..6e0cd88cc469 100644
--- a/arch/arm/mach-mx5/mx50_rdp.c
+++ b/arch/arm/mach-mx5/mx50_rdp.c
@@ -1493,6 +1493,42 @@ static struct platform_device lcd_wvga_device = {
},
};
+/* Use same pinmux on HDMI */
+static int claa_wvga_get_pins(void)
+{
+ sii902x_hdmi_get_pins();
+}
+
+static void claa_wvga_put_pins(void)
+{
+ sii902x_hdmi_put_pins();
+}
+
+static void claa_wvga_enable_pins(void)
+{
+ sii902x_hdmi_enable_pins();
+}
+
+static void claa_wvga_disable_pins(void)
+{
+ sii902x_hdmi_disable_pins();
+}
+
+static struct mxc_lcd_platform_data lcd_wvga_data2 = {
+ .get_pins = claa_wvga_get_pins,
+ .put_pins = claa_wvga_put_pins,
+ .enable_pins = claa_wvga_enable_pins,
+ .disable_pins = claa_wvga_disable_pins,
+};
+
+
+static struct platform_device lcd_wvga_device2 = {
+ .name = "lcd_claa",
+ .dev = {
+ .platform_data = &lcd_wvga_data2,
+ },
+};
+
static struct fb_videomode video_modes[] = {
{
/* 800x480 @ 57 Hz , pixel clk @ 32MHz */
@@ -1501,6 +1537,12 @@ static struct fb_videomode video_modes[] = {
FB_VMODE_NONINTERLACED,
0,},
{
+ /* 800x480 @ 57 Hz , pixel clk @ 27MHz */
+ "CLAA-WVGA", 57, 800, 480, 37037, 40, 60, 10, 10, 20, 10,
+ FB_SYNC_CLK_LAT_FALL,
+ FB_VMODE_NONINTERLACED,
+ 0,},
+ {
/* 1600x1200 @ 60 Hz 162M pixel clk*/
"UXGA", 60, 1600, 1200, 6172,
304, 64,
@@ -1524,6 +1566,12 @@ static struct mxc_fb_platform_data fb_data[] = {
.mode = video_modes,
.num_modes = ARRAY_SIZE(video_modes),
},
+ {
+ .interface_pix_fmt = V4L2_PIX_FMT_RGB565,
+ .mode_str = "CLAA-WVGA",
+ .mode = video_modes,
+ .num_modes = ARRAY_SIZE(video_modes),
+ },
};
static struct platform_pwm_backlight_data mxc_pwm_backlight_data = {
@@ -1903,6 +1951,8 @@ static void __init mxc_board_init(void)
mxc_register_device(&lcd_wvga_device, &lcd_wvga_data);
if (!board_is_mx50_rd3())
lcdif_sel_lcd = 1;
+ if (lcdif_sel_lcd == 2)
+ mxc_register_device(&lcd_wvga_device2, &lcd_wvga_data2);
mxc_register_device(&elcdif_device, &fb_data[lcdif_sel_lcd]);
mxc_register_device(&mxc_pwm1_device, NULL);
mxc_register_device(&mxc_pwm1_backlight_device,