linux-omap 2.6.39: initial add with beagleboard support
[openembedded.git] / recipes / linux / linux-omap-2.6.39 / sakoman / 0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
blob4b89760749c00b58809b5d820d9a1bdf76ece42f
1 From 661c19e763f0bda0a07bc64159c6b0c5f2f52b60 Mon Sep 17 00:00:00 2001
2 From: Steve Sakoman <steve@sakoman.com>
3 Date: Tue, 19 Jan 2010 21:19:15 -0800
4 Subject: [PATCH 06/28] OMAP: DSS2: add bootarg for selecting svideo or composite for tv output
6 also add pal-16 and ntsc-16 omapfb.mode settings for 16bpp
7 ---
8 drivers/video/omap2/dss/venc.c | 22 ++++++++++++++++++++++
9 drivers/video/omap2/omapfb/omapfb-main.c | 10 +++++++++-
10 2 files changed, 31 insertions(+), 1 deletions(-)
12 diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
13 index 8e35a5b..827723f 100644
14 --- a/drivers/video/omap2/dss/venc.c
15 +++ b/drivers/video/omap2/dss/venc.c
16 @@ -85,6 +85,11 @@
17 #define VENC_OUTPUT_TEST 0xC8
18 #define VENC_DAC_B__DAC_C 0xC8
20 +static char *tv_connection;
22 +module_param_named(tvcable, tv_connection, charp, 0);
23 +MODULE_PARM_DESC(tvcable, "TV connection type (svideo, composite)");
25 struct venc_config {
26 u32 f_control;
27 u32 vidout_ctrl;
28 @@ -458,6 +463,23 @@ static int venc_panel_probe(struct omap_dss_device *dssdev)
30 dssdev->panel.timings = omap_dss_pal_timings;
32 + /* Allow the TV output to be overriden */
33 + if (tv_connection) {
34 + if (strcmp(tv_connection, "svideo") == 0) {
35 + printk(KERN_INFO
36 + "omapdss: tv output is svideo.\n");
37 + dssdev->phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO;
38 + } else if (strcmp(tv_connection, "composite") == 0) {
39 + printk(KERN_INFO
40 + "omapdss: tv output is composite.\n");
41 + dssdev->phy.venc.type = OMAP_DSS_VENC_TYPE_COMPOSITE;
42 + } else {
43 + printk(KERN_INFO
44 + "omapdss: unsupported output type'%s'.\n",
45 + tv_connection);
46 + }
47 + }
49 return 0;
52 diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
53 index 505ec66..eaeded5 100644
54 --- a/drivers/video/omap2/omapfb/omapfb-main.c
55 +++ b/drivers/video/omap2/omapfb/omapfb-main.c
56 @@ -2036,7 +2036,15 @@ static int omapfb_mode_to_timings(const char *mode_str,
57 int r;
59 #ifdef CONFIG_OMAP2_DSS_VENC
60 - if (strcmp(mode_str, "pal") == 0) {
61 + if (strcmp(mode_str, "pal-16") == 0) {
62 + *timings = omap_dss_pal_timings;
63 + *bpp = 16;
64 + return 0;
65 + } else if (strcmp(mode_str, "ntsc-16") == 0) {
66 + *timings = omap_dss_ntsc_timings;
67 + *bpp = 16;
68 + return 0;
69 + } else if (strcmp(mode_str, "pal") == 0) {
70 *timings = omap_dss_pal_timings;
71 *bpp = 24;
72 return 0;
73 --
74 1.6.6.1