summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPedro Perez de Heredia <pedro.perez@digi.com>2012-01-21 19:27:38 +0100
committerPedro Perez de Heredia <pedro.perez@digi.com>2012-01-21 19:27:38 +0100
commitc05cdc0210afbe89f61ffb4b7b4b26bd8c137b5b (patch)
tree02e9bde12dcc0ce59e6564ef3fac02ec7a8ed200 /arch
parente2fdab3ae4ed922595557218157d54d1ee125993 (diff)
ccxmx5x: fixes in pixel format for RGB666 and RGB888 (#41820)
This commit fixes a problem on the ccxmx5x where the pixel format was incorrectly set for RGB666, RGB888 on VGA and HDMI interfaces. For the LCDs it was properly set. Fixes #41820. Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx5/devices_ccwmx51.c13
-rw-r--r--arch/arm/mach-mx5/devices_ccwmx53.c12
2 files changed, 15 insertions, 10 deletions
diff --git a/arch/arm/mach-mx5/devices_ccwmx51.c b/arch/arm/mach-mx5/devices_ccwmx51.c
index d313cbbc5bb4..91dca5b3b33b 100644
--- a/arch/arm/mach-mx5/devices_ccwmx51.c
+++ b/arch/arm/mach-mx5/devices_ccwmx51.c
@@ -986,6 +986,10 @@ int __init ccwmx51_init_fb(void)
#if !defined(CONFIG_CCXMX5X_DISP1)
if (i == 1) continue;
#endif
+
+ /* Set default pixel format, maybe overwritten later */
+ mx51_fb_data[i].interface_pix_fmt = i ? DISP1_PIX_FMT : DISP0_PIX_FMT;
+
if ((p = ccwmx51_get_video_cmdline_opt(i, "HDMI")) != NULL) {
#if defined(CONFIG_VIDEO_AD9389) || defined(CONFIG_VIDEO_AD9389_MODULE)
pr_info("HDMI interface in DISP%d\n", i);
@@ -1011,11 +1015,10 @@ int __init ccwmx51_init_fb(void)
&plcd_platform_data[i].fb_pdata,
sizeof(struct mxc_fb_platform_data));
plcd_platform_data[i].vif = i;
- if (!plcd_platform_data[i].fb_pdata.interface_pix_fmt)
- plcd_platform_data[i].fb_pdata.interface_pix_fmt =
- i ? DISP1_PIX_FMT : DISP0_PIX_FMT;
- mx51_fb_data[i].interface_pix_fmt =
- plcd_platform_data[i].fb_pdata.interface_pix_fmt;
+ if (plcd_platform_data[i].fb_pdata.interface_pix_fmt) {
+ mx51_fb_data[i].interface_pix_fmt =
+ plcd_platform_data[i].fb_pdata.interface_pix_fmt;
+ }
mxc_register_device(&lcd_pdev[i], (void *)&plcd_platform_data[i]);
}
} else if ((p = ccwmx51_get_video_cmdline_opt(i, "VGA")) != NULL) {
diff --git a/arch/arm/mach-mx5/devices_ccwmx53.c b/arch/arm/mach-mx5/devices_ccwmx53.c
index 98b65169e144..641563024919 100644
--- a/arch/arm/mach-mx5/devices_ccwmx53.c
+++ b/arch/arm/mach-mx5/devices_ccwmx53.c
@@ -732,6 +732,9 @@ int __init ccwmx5x_init_fb(void)
#if !defined(CONFIG_CCXMX5X_DISP1)
if (i == 1) continue;
#endif
+ /* Set default pixel format, maybe overwritten later */
+ mx53_fb_data[i].interface_pix_fmt = i ? DISP1_PIX_FMT : DISP0_PIX_FMT;
+
if ((p = ccwmx53_get_video_cmdline_opt(i, "disabled")) != NULL) {
/* Skip this interface */
continue;
@@ -760,11 +763,10 @@ int __init ccwmx5x_init_fb(void)
&plcd_platform_data[i].fb_pdata,
sizeof(struct mxc_fb_platform_data));
plcd_platform_data[i].vif = i;
- if (!plcd_platform_data[i].fb_pdata.interface_pix_fmt)
- plcd_platform_data[i].fb_pdata.interface_pix_fmt =
- i ? DISP1_PIX_FMT : DISP0_PIX_FMT;
- mx53_fb_data[i].interface_pix_fmt =
- plcd_platform_data[i].fb_pdata.interface_pix_fmt;
+ if (plcd_platform_data[i].fb_pdata.interface_pix_fmt) {
+ mx53_fb_data[i].interface_pix_fmt =
+ plcd_platform_data[i].fb_pdata.interface_pix_fmt;
+ }
mxc_register_device(&lcd_pdev[i], (void *)&plcd_platform_data[i]);
}
} else if ((p = ccwmx53_get_video_cmdline_opt(i, "VGA")) != NULL) {