merge of '49118a4c6035353c0f8cf1aa30297dd36e43241f'
[vuplus_openembedded] / packages / linux / linux-omap2-git / beagleboard / 16bpp.patch
1 diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
2 index bdeb8fb..bf256f3 100644
3 --- a/drivers/video/omap/Kconfig
4 +++ b/drivers/video/omap/Kconfig
5 @@ -7,6 +7,27 @@ config FB_OMAP
6         help
7            Frame buffer driver for OMAP based boards.
8  
9 +choice
10 +       depends on FB_OMAP && MACH_OMAP3_BEAGLE
11 +       prompt "Screen resolution"
12 +       default FB_OMAP_079M3R
13 +       help
14 +         Selected desired screen resolution
15 +
16 +config FB_OMAP_031M3R
17 +       boolean "640 x 480 @ 60 Hz Reduced blanking"
18 +
19 +config FB_OMAP_048M3R
20 +       boolean "800 x 600 @ 60 Hz Reduced blanking"
21 +
22 +config FB_OMAP_079M3R
23 +       boolean "1024 x 768 @ 60 Hz Reduced blanking"
24 +
25 +config FB_OMAP_092M9R
26 +       boolean "1280 x 720 @ 60 Hz Reduced blanking"
27 +
28 +endchoice
29 +
30  config FB_OMAP_LCDC_EXTERNAL
31         bool "External LCD controller support"
32         depends on FB_OMAP
33 diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
34 index 69d4e06..5e098c2 100644
35 --- a/drivers/video/omap/lcd_omap3beagle.c
36 +++ b/drivers/video/omap/lcd_omap3beagle.c
37 @@ -31,10 +31,6 @@
38  
39  #define LCD_PANEL_ENABLE_GPIO       170
40  
41 -#define LCD_XRES               1024    
42 -#define LCD_YRES               768
43 -#define LCD_PIXCLOCK           64000 /* in kHz */
44 -
45  static int omap3beagle_panel_init(struct lcd_panel *panel,
46                                 struct omapfb_device *fbdev)
47  {
48 @@ -65,19 +61,76 @@ static unsigned long omap3beagle_panel_get_caps(struct lcd_panel *panel)
49  struct lcd_panel omap3beagle_panel = {
50         .name           = "omap3beagle",
51         .config         = OMAP_LCDC_PANEL_TFT,
52 -
53 -       .bpp            = 24,
54 +       .bpp            = 16,
55         .data_lines     = 24,
56 -       .x_res          = LCD_XRES,
57 -       .y_res          = LCD_YRES,
58 -       .hsw            = 3,            /* hsync_len (4) - 1 */
59 -       .hfp            = 3,            /* right_margin (4) - 1 */
60 -       .hbp            = 39,           /* left_margin (40) - 1 */
61 -       .vsw            = 1,            /* vsync_len (2) - 1 */
62 -       .vfp            = 2,            /* lower_margin */
63 -       .vbp            = 7,            /* upper_margin (8) - 1 */
64 -
65 -       .pixel_clock    = LCD_PIXCLOCK,
66 +
67 +#if defined CONFIG_FB_OMAP_031M3R
68 +
69 +       /* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
70 +       .x_res          = 640,
71 +       .y_res          = 480,
72 +       .hfp            = 48,
73 +       .hsw            = 32,
74 +       .hbp            = 80,
75 +       .vfp            = 3,
76 +       .vsw            = 4,
77 +       .vbp            = 7,
78 +       .pixel_clock    = 23500,
79 +
80 +#elif defined CONFIG_FB_OMAP_048M3R
81
82 +       /* 800 x 600 @ 60 Hz  Reduced blanking VESA CVT 0.48M3-R */
83 +       .x_res          = 800,
84 +       .y_res          = 600,
85 +       .hfp            = 48,
86 +       .hsw            = 32,
87 +       .hbp            = 80,
88 +       .vfp            = 3,
89 +       .vsw            = 4,
90 +       .vbp            = 11,
91 +       .pixel_clock    = 35500,
92 +
93 +#elif defined CONFIG_FB_OMAP_079M3R
94 +
95 +       /* 1024 x 768 @ 60 Hz  Reduced blanking VESA CVT 0.79M3-R */
96 +       .x_res          = 1024,
97 +       .y_res          = 768,
98 +       .hfp            = 48,
99 +       .hsw            = 32,
100 +       .hbp            = 80,
101 +       .vfp            = 3,
102 +       .vsw            = 4,
103 +       .vbp            = 15,
104 +       .pixel_clock    = 56000,
105 +
106 +#elif defined CONFIG_FB_OMAP_092M9R
107 +
108 +       /* 1280 x 720 @ 60 Hz  Reduced blanking VESA CVT 0.92M9-R */
109 +       .x_res          = 1280,
110 +       .y_res          = 720,
111 +       .hfp            = 48,
112 +       .hsw            = 32,
113 +       .hbp            = 80,
114 +       .vfp            = 3,
115 +       .vsw            = 5,
116 +       .vbp            = 13,
117 +       .pixel_clock    = 64000,
118 +
119 +#else
120 +
121 +       /* use 640 x 480 if no config option */ 
122 +       /* 640 x 480 @ 60 Hz  Reduced blanking VESA CVT 0.31M3-R */
123 +       .x_res          = 640,
124 +       .y_res          = 480,
125 +       .hfp            = 48,
126 +       .hsw            = 32,
127 +       .hbp            = 80,
128 +       .vfp            = 3,
129 +       .vsw            = 4,
130 +       .vbp            = 7,
131 +       .pixel_clock    = 23500,
132 +
133 +#endif
134  
135         .init           = omap3beagle_panel_init,
136         .cleanup        = omap3beagle_panel_cleanup,
137