diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/base/0023-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap/base/0023-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/base/0023-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch b/extras/recipes-kernel/linux/linux-omap/base/0023-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch new file mode 100644 index 00000000..12f7d7b0 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap/base/0023-OMAP-DSS2-add-bootarg-for-selecting-svideo-or-compos.patch | |||
@@ -0,0 +1,75 @@ | |||
1 | From f046a207183e3e338c7e851085265f0df95f4cc2 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 23/28] OMAP: DSS2: add bootarg for selecting svideo or composite for tv output | ||
5 | |||
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(-) | ||
11 | |||
12 | diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c | ||
13 | index eff3505..e1f4aab 100644 | ||
14 | --- a/drivers/video/omap2/dss/venc.c | ||
15 | +++ b/drivers/video/omap2/dss/venc.c | ||
16 | @@ -87,6 +87,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 | @@ -459,6 +464,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 6a704f1..7ee833f 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 | ||
75 | |||