]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/meta-ti-glsdk.git/blob - recipes-kernel/linux/linux-omap-2.6.39/sakoman/0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
eeb41a2561bb7ae76230e44aba71e2ff799d55b6
[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-omap-2.6.39 / sakoman / 0006-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch
1 From bf7e98aa062cf6a78e7f68089609f5693d5ca72b 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/30] 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
19  
20 +static char *tv_connection;
21 +
22 +module_param_named(tvcable, tv_connection, charp, 0);
23 +MODULE_PARM_DESC(tvcable, "TV connection type (svideo, composite)");
24 +
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)
29  {
30         dssdev->panel.timings = omap_dss_pal_timings;
31  
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 +       }
48 +
49         return 0;
50  }
51  
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;
58  
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