diff options
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch')
-rw-r--r-- | meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch | 1316 |
1 files changed, 1316 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch new file mode 100644 index 0000000000..04ac6a9ce8 --- /dev/null +++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch | |||
@@ -0,0 +1,1316 @@ | |||
1 | From 02243f13eec816e11d16676a131bc04b8a0666ab Mon Sep 17 00:00:00 2001 | ||
2 | From: Tomi Valkeinen <tomi.valkeinen@nokia.com> | ||
3 | Date: Wed, 11 Feb 2009 16:33:02 +0200 | ||
4 | Subject: [PATCH] OMAPFB: move omapfb.h to include/linux/ | ||
5 | |||
6 | This is needed so that omapfb.h is automatically exported to user space. | ||
7 | |||
8 | omapfb.h should be cleaned up later. Some stuff can probably be moved | ||
9 | to omapfb's private include file. | ||
10 | |||
11 | Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com> | ||
12 | --- | ||
13 | arch/arm/mach-omap1/board-nokia770.c | 2 +- | ||
14 | arch/arm/mach-omap2/board-n800.c | 2 +- | ||
15 | arch/arm/mach-omap2/io.c | 2 +- | ||
16 | arch/arm/plat-omap/fb.c | 2 +- | ||
17 | arch/arm/plat-omap/include/mach/omapfb.h | 398 ------------------------------ | ||
18 | drivers/video/omap/blizzard.c | 2 +- | ||
19 | drivers/video/omap/dispc.c | 2 +- | ||
20 | drivers/video/omap/hwa742.c | 2 +- | ||
21 | drivers/video/omap/lcd_2430sdp.c | 2 +- | ||
22 | drivers/video/omap/lcd_ams_delta.c | 2 +- | ||
23 | drivers/video/omap/lcd_apollon.c | 2 +- | ||
24 | drivers/video/omap/lcd_h3.c | 2 +- | ||
25 | drivers/video/omap/lcd_h4.c | 3 +- | ||
26 | drivers/video/omap/lcd_inn1510.c | 2 +- | ||
27 | drivers/video/omap/lcd_inn1610.c | 2 +- | ||
28 | drivers/video/omap/lcd_ldp.c | 2 +- | ||
29 | drivers/video/omap/lcd_mipid.c | 2 +- | ||
30 | drivers/video/omap/lcd_omap2evm.c | 2 +- | ||
31 | drivers/video/omap/lcd_omap3beagle.c | 2 +- | ||
32 | drivers/video/omap/lcd_omap3evm.c | 2 +- | ||
33 | drivers/video/omap/lcd_osk.c | 2 +- | ||
34 | drivers/video/omap/lcd_overo.c | 2 +- | ||
35 | drivers/video/omap/lcd_p2.c | 2 +- | ||
36 | drivers/video/omap/lcd_palmte.c | 2 +- | ||
37 | drivers/video/omap/lcd_palmtt.c | 2 +- | ||
38 | drivers/video/omap/lcd_palmz71.c | 3 +- | ||
39 | drivers/video/omap/lcdc.c | 2 +- | ||
40 | drivers/video/omap/omapfb_main.c | 2 +- | ||
41 | drivers/video/omap/rfbi.c | 3 +- | ||
42 | drivers/video/omap/sossi.c | 2 +- | ||
43 | include/linux/omapfb.h | 398 ++++++++++++++++++++++++++++++ | ||
44 | 31 files changed, 427 insertions(+), 430 deletions(-) | ||
45 | delete mode 100644 arch/arm/plat-omap/include/mach/omapfb.h | ||
46 | create mode 100644 include/linux/omapfb.h | ||
47 | |||
48 | diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c | ||
49 | index 8780ca6..ca4680a 100644 | ||
50 | --- a/arch/arm/mach-omap1/board-nokia770.c | ||
51 | +++ b/arch/arm/mach-omap1/board-nokia770.c | ||
52 | @@ -18,6 +18,7 @@ | ||
53 | #include <linux/spi/spi.h> | ||
54 | #include <linux/spi/ads7846.h> | ||
55 | #include <linux/workqueue.h> | ||
56 | +#include <linux/omapfb.h> | ||
57 | #include <linux/delay.h> | ||
58 | |||
59 | #include <mach/hardware.h> | ||
60 | @@ -32,7 +33,6 @@ | ||
61 | #include <mach/keypad.h> | ||
62 | #include <mach/common.h> | ||
63 | #include <mach/dsp_common.h> | ||
64 | -#include <mach/omapfb.h> | ||
65 | #include <mach/lcd_mipid.h> | ||
66 | #include <mach/mmc.h> | ||
67 | #include <mach/usb.h> | ||
68 | diff --git a/arch/arm/mach-omap2/board-n800.c b/arch/arm/mach-omap2/board-n800.c | ||
69 | index cb32b61..f6f6571 100644 | ||
70 | --- a/arch/arm/mach-omap2/board-n800.c | ||
71 | +++ b/arch/arm/mach-omap2/board-n800.c | ||
72 | @@ -27,6 +27,7 @@ | ||
73 | #include <linux/i2c/lm8323.h> | ||
74 | #include <linux/i2c/menelaus.h> | ||
75 | #include <linux/i2c/lp5521.h> | ||
76 | +#include <linux/omapfb.h> | ||
77 | #include <mach/hardware.h> | ||
78 | #include <asm/mach-types.h> | ||
79 | #include <asm/mach/arch.h> | ||
80 | @@ -39,7 +40,6 @@ | ||
81 | #include <mach/lcd_mipid.h> | ||
82 | #include <mach/clock.h> | ||
83 | #include <mach/gpio-switch.h> | ||
84 | -#include <mach/omapfb.h> | ||
85 | #include <mach/blizzard.h> | ||
86 | |||
87 | #include <../drivers/cbus/tahvo.h> | ||
88 | diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c | ||
89 | index adbe21f..a04e3ee 100644 | ||
90 | --- a/arch/arm/mach-omap2/io.c | ||
91 | +++ b/arch/arm/mach-omap2/io.c | ||
92 | @@ -18,13 +18,13 @@ | ||
93 | #include <linux/module.h> | ||
94 | #include <linux/kernel.h> | ||
95 | #include <linux/init.h> | ||
96 | +#include <linux/omapfb.h> | ||
97 | #include <linux/io.h> | ||
98 | |||
99 | #include <asm/tlb.h> | ||
100 | |||
101 | #include <asm/mach/map.h> | ||
102 | #include <mach/mux.h> | ||
103 | -#include <mach/omapfb.h> | ||
104 | #include <mach/sram.h> | ||
105 | #include <mach/sdrc.h> | ||
106 | #include <mach/gpmc.h> | ||
107 | diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c | ||
108 | index 3746222..40615a6 100644 | ||
109 | --- a/arch/arm/plat-omap/fb.c | ||
110 | +++ b/arch/arm/plat-omap/fb.c | ||
111 | @@ -28,13 +28,13 @@ | ||
112 | #include <linux/platform_device.h> | ||
113 | #include <linux/bootmem.h> | ||
114 | #include <linux/io.h> | ||
115 | +#include <linux/omapfb.h> | ||
116 | |||
117 | #include <mach/hardware.h> | ||
118 | #include <asm/mach/map.h> | ||
119 | |||
120 | #include <mach/board.h> | ||
121 | #include <mach/sram.h> | ||
122 | -#include <mach/omapfb.h> | ||
123 | |||
124 | #if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE) | ||
125 | |||
126 | diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h | ||
127 | deleted file mode 100644 | ||
128 | index b226bdf..0000000 | ||
129 | --- a/arch/arm/plat-omap/include/mach/omapfb.h | ||
130 | +++ /dev/null | ||
131 | @@ -1,398 +0,0 @@ | ||
132 | -/* | ||
133 | - * File: arch/arm/plat-omap/include/mach/omapfb.h | ||
134 | - * | ||
135 | - * Framebuffer driver for TI OMAP boards | ||
136 | - * | ||
137 | - * Copyright (C) 2004 Nokia Corporation | ||
138 | - * Author: Imre Deak <imre.deak@nokia.com> | ||
139 | - * | ||
140 | - * This program is free software; you can redistribute it and/or modify it | ||
141 | - * under the terms of the GNU General Public License as published by the | ||
142 | - * Free Software Foundation; either version 2 of the License, or (at your | ||
143 | - * option) any later version. | ||
144 | - * | ||
145 | - * This program is distributed in the hope that it will be useful, but | ||
146 | - * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
147 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
148 | - * General Public License for more details. | ||
149 | - * | ||
150 | - * You should have received a copy of the GNU General Public License along | ||
151 | - * with this program; if not, write to the Free Software Foundation, Inc., | ||
152 | - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
153 | - */ | ||
154 | - | ||
155 | -#ifndef __OMAPFB_H | ||
156 | -#define __OMAPFB_H | ||
157 | - | ||
158 | -#include <asm/ioctl.h> | ||
159 | -#include <asm/types.h> | ||
160 | - | ||
161 | -/* IOCTL commands. */ | ||
162 | - | ||
163 | -#define OMAP_IOW(num, dtype) _IOW('O', num, dtype) | ||
164 | -#define OMAP_IOR(num, dtype) _IOR('O', num, dtype) | ||
165 | -#define OMAP_IOWR(num, dtype) _IOWR('O', num, dtype) | ||
166 | -#define OMAP_IO(num) _IO('O', num) | ||
167 | - | ||
168 | -#define OMAPFB_MIRROR OMAP_IOW(31, int) | ||
169 | -#define OMAPFB_SYNC_GFX OMAP_IO(37) | ||
170 | -#define OMAPFB_VSYNC OMAP_IO(38) | ||
171 | -#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int) | ||
172 | -#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps) | ||
173 | -#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int) | ||
174 | -#define OMAPFB_LCD_TEST OMAP_IOW(45, int) | ||
175 | -#define OMAPFB_CTRL_TEST OMAP_IOW(46, int) | ||
176 | -#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old) | ||
177 | -#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key) | ||
178 | -#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key) | ||
179 | -#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info) | ||
180 | -#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info) | ||
181 | -#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window) | ||
182 | -#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info) | ||
183 | -#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info) | ||
184 | - | ||
185 | -#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff | ||
186 | -#define OMAPFB_CAPS_LCDC_MASK 0x00fff000 | ||
187 | -#define OMAPFB_CAPS_PANEL_MASK 0xff000000 | ||
188 | - | ||
189 | -#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000 | ||
190 | -#define OMAPFB_CAPS_TEARSYNC 0x00002000 | ||
191 | -#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000 | ||
192 | -#define OMAPFB_CAPS_PLANE_SCALE 0x00008000 | ||
193 | -#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000 | ||
194 | -#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000 | ||
195 | -#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000 | ||
196 | -#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000 | ||
197 | -#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000 | ||
198 | - | ||
199 | -/* Values from DSP must map to lower 16-bits */ | ||
200 | -#define OMAPFB_FORMAT_MASK 0x00ff | ||
201 | -#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100 | ||
202 | -#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200 | ||
203 | -#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400 | ||
204 | -#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800 | ||
205 | -#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000 | ||
206 | - | ||
207 | -#define OMAPFB_EVENT_READY 1 | ||
208 | -#define OMAPFB_EVENT_DISABLED 2 | ||
209 | - | ||
210 | -#define OMAPFB_MEMTYPE_SDRAM 0 | ||
211 | -#define OMAPFB_MEMTYPE_SRAM 1 | ||
212 | -#define OMAPFB_MEMTYPE_MAX 1 | ||
213 | - | ||
214 | -enum omapfb_color_format { | ||
215 | - OMAPFB_COLOR_RGB565 = 0, | ||
216 | - OMAPFB_COLOR_YUV422, | ||
217 | - OMAPFB_COLOR_YUV420, | ||
218 | - OMAPFB_COLOR_CLUT_8BPP, | ||
219 | - OMAPFB_COLOR_CLUT_4BPP, | ||
220 | - OMAPFB_COLOR_CLUT_2BPP, | ||
221 | - OMAPFB_COLOR_CLUT_1BPP, | ||
222 | - OMAPFB_COLOR_RGB444, | ||
223 | - OMAPFB_COLOR_YUY422, | ||
224 | -}; | ||
225 | - | ||
226 | -struct omapfb_update_window { | ||
227 | - __u32 x, y; | ||
228 | - __u32 width, height; | ||
229 | - __u32 format; | ||
230 | - __u32 out_x, out_y; | ||
231 | - __u32 out_width, out_height; | ||
232 | - __u32 reserved[8]; | ||
233 | -}; | ||
234 | - | ||
235 | -struct omapfb_update_window_old { | ||
236 | - __u32 x, y; | ||
237 | - __u32 width, height; | ||
238 | - __u32 format; | ||
239 | -}; | ||
240 | - | ||
241 | -enum omapfb_plane { | ||
242 | - OMAPFB_PLANE_GFX = 0, | ||
243 | - OMAPFB_PLANE_VID1, | ||
244 | - OMAPFB_PLANE_VID2, | ||
245 | -}; | ||
246 | - | ||
247 | -enum omapfb_channel_out { | ||
248 | - OMAPFB_CHANNEL_OUT_LCD = 0, | ||
249 | - OMAPFB_CHANNEL_OUT_DIGIT, | ||
250 | -}; | ||
251 | - | ||
252 | -struct omapfb_plane_info { | ||
253 | - __u32 pos_x; | ||
254 | - __u32 pos_y; | ||
255 | - __u8 enabled; | ||
256 | - __u8 channel_out; | ||
257 | - __u8 mirror; | ||
258 | - __u8 reserved1; | ||
259 | - __u32 out_width; | ||
260 | - __u32 out_height; | ||
261 | - __u32 reserved2[12]; | ||
262 | -}; | ||
263 | - | ||
264 | -struct omapfb_mem_info { | ||
265 | - __u32 size; | ||
266 | - __u8 type; | ||
267 | - __u8 reserved[3]; | ||
268 | -}; | ||
269 | - | ||
270 | -struct omapfb_caps { | ||
271 | - __u32 ctrl; | ||
272 | - __u32 plane_color; | ||
273 | - __u32 wnd_color; | ||
274 | -}; | ||
275 | - | ||
276 | -enum omapfb_color_key_type { | ||
277 | - OMAPFB_COLOR_KEY_DISABLED = 0, | ||
278 | - OMAPFB_COLOR_KEY_GFX_DST, | ||
279 | - OMAPFB_COLOR_KEY_VID_SRC, | ||
280 | -}; | ||
281 | - | ||
282 | -struct omapfb_color_key { | ||
283 | - __u8 channel_out; | ||
284 | - __u32 background; | ||
285 | - __u32 trans_key; | ||
286 | - __u8 key_type; | ||
287 | -}; | ||
288 | - | ||
289 | -enum omapfb_update_mode { | ||
290 | - OMAPFB_UPDATE_DISABLED = 0, | ||
291 | - OMAPFB_AUTO_UPDATE, | ||
292 | - OMAPFB_MANUAL_UPDATE | ||
293 | -}; | ||
294 | - | ||
295 | -#ifdef __KERNEL__ | ||
296 | - | ||
297 | -#include <linux/completion.h> | ||
298 | -#include <linux/interrupt.h> | ||
299 | -#include <linux/fb.h> | ||
300 | -#include <linux/mutex.h> | ||
301 | - | ||
302 | -#include <mach/board.h> | ||
303 | - | ||
304 | -#define OMAP_LCDC_INV_VSYNC 0x0001 | ||
305 | -#define OMAP_LCDC_INV_HSYNC 0x0002 | ||
306 | -#define OMAP_LCDC_INV_PIX_CLOCK 0x0004 | ||
307 | -#define OMAP_LCDC_INV_OUTPUT_EN 0x0008 | ||
308 | -#define OMAP_LCDC_HSVS_RISING_EDGE 0x0010 | ||
309 | -#define OMAP_LCDC_HSVS_OPPOSITE 0x0020 | ||
310 | - | ||
311 | -#define OMAP_LCDC_SIGNAL_MASK 0x003f | ||
312 | - | ||
313 | -#define OMAP_LCDC_PANEL_TFT 0x0100 | ||
314 | - | ||
315 | -#define OMAPFB_PLANE_XRES_MIN 8 | ||
316 | -#define OMAPFB_PLANE_YRES_MIN 8 | ||
317 | - | ||
318 | -#ifdef CONFIG_ARCH_OMAP1 | ||
319 | -#define OMAPFB_PLANE_NUM 1 | ||
320 | -#else | ||
321 | -#define OMAPFB_PLANE_NUM 3 | ||
322 | -#endif | ||
323 | - | ||
324 | -struct omapfb_device; | ||
325 | - | ||
326 | -struct lcd_panel { | ||
327 | - const char *name; | ||
328 | - int config; /* TFT/STN, signal inversion */ | ||
329 | - int bpp; /* Pixel format in fb mem */ | ||
330 | - int data_lines; /* Lines on LCD HW interface */ | ||
331 | - | ||
332 | - int x_res, y_res; | ||
333 | - int pixel_clock; /* In kHz */ | ||
334 | - int hsw; /* Horizontal synchronization | ||
335 | - pulse width */ | ||
336 | - int hfp; /* Horizontal front porch */ | ||
337 | - int hbp; /* Horizontal back porch */ | ||
338 | - int vsw; /* Vertical synchronization | ||
339 | - pulse width */ | ||
340 | - int vfp; /* Vertical front porch */ | ||
341 | - int vbp; /* Vertical back porch */ | ||
342 | - int acb; /* ac-bias pin frequency */ | ||
343 | - int pcd; /* pixel clock divider. | ||
344 | - Obsolete use pixel_clock instead */ | ||
345 | - | ||
346 | - int (*init) (struct lcd_panel *panel, | ||
347 | - struct omapfb_device *fbdev); | ||
348 | - void (*cleanup) (struct lcd_panel *panel); | ||
349 | - int (*enable) (struct lcd_panel *panel); | ||
350 | - void (*disable) (struct lcd_panel *panel); | ||
351 | - unsigned long (*get_caps) (struct lcd_panel *panel); | ||
352 | - int (*set_bklight_level)(struct lcd_panel *panel, | ||
353 | - unsigned int level); | ||
354 | - unsigned int (*get_bklight_level)(struct lcd_panel *panel); | ||
355 | - unsigned int (*get_bklight_max) (struct lcd_panel *panel); | ||
356 | - int (*run_test) (struct lcd_panel *panel, int test_num); | ||
357 | -}; | ||
358 | - | ||
359 | -struct extif_timings { | ||
360 | - int cs_on_time; | ||
361 | - int cs_off_time; | ||
362 | - int we_on_time; | ||
363 | - int we_off_time; | ||
364 | - int re_on_time; | ||
365 | - int re_off_time; | ||
366 | - int we_cycle_time; | ||
367 | - int re_cycle_time; | ||
368 | - int cs_pulse_width; | ||
369 | - int access_time; | ||
370 | - | ||
371 | - int clk_div; | ||
372 | - | ||
373 | - u32 tim[5]; /* set by extif->convert_timings */ | ||
374 | - | ||
375 | - int converted; | ||
376 | -}; | ||
377 | - | ||
378 | -struct lcd_ctrl_extif { | ||
379 | - int (*init) (struct omapfb_device *fbdev); | ||
380 | - void (*cleanup) (void); | ||
381 | - void (*get_clk_info) (u32 *clk_period, u32 *max_clk_div); | ||
382 | - unsigned long (*get_max_tx_rate)(void); | ||
383 | - int (*convert_timings) (struct extif_timings *timings); | ||
384 | - void (*set_timings) (const struct extif_timings *timings); | ||
385 | - void (*set_bits_per_cycle)(int bpc); | ||
386 | - void (*write_command) (const void *buf, unsigned int len); | ||
387 | - void (*read_data) (void *buf, unsigned int len); | ||
388 | - void (*write_data) (const void *buf, unsigned int len); | ||
389 | - void (*transfer_area) (int width, int height, | ||
390 | - void (callback)(void * data), void *data); | ||
391 | - int (*setup_tearsync) (unsigned pin_cnt, | ||
392 | - unsigned hs_pulse_time, unsigned vs_pulse_time, | ||
393 | - int hs_pol_inv, int vs_pol_inv, int div); | ||
394 | - int (*enable_tearsync) (int enable, unsigned line); | ||
395 | - | ||
396 | - unsigned long max_transmit_size; | ||
397 | -}; | ||
398 | - | ||
399 | -struct omapfb_notifier_block { | ||
400 | - struct notifier_block nb; | ||
401 | - void *data; | ||
402 | - int plane_idx; | ||
403 | -}; | ||
404 | - | ||
405 | -typedef int (*omapfb_notifier_callback_t)(struct notifier_block *, | ||
406 | - unsigned long event, | ||
407 | - void *fbi); | ||
408 | - | ||
409 | -struct omapfb_mem_region { | ||
410 | - u32 paddr; | ||
411 | - void __iomem *vaddr; | ||
412 | - unsigned long size; | ||
413 | - u8 type; /* OMAPFB_PLANE_MEM_* */ | ||
414 | - unsigned alloc:1; /* allocated by the driver */ | ||
415 | - unsigned map:1; /* kernel mapped by the driver */ | ||
416 | -}; | ||
417 | - | ||
418 | -struct omapfb_mem_desc { | ||
419 | - int region_cnt; | ||
420 | - struct omapfb_mem_region region[OMAPFB_PLANE_NUM]; | ||
421 | -}; | ||
422 | - | ||
423 | -struct lcd_ctrl { | ||
424 | - const char *name; | ||
425 | - void *data; | ||
426 | - | ||
427 | - int (*init) (struct omapfb_device *fbdev, | ||
428 | - int ext_mode, | ||
429 | - struct omapfb_mem_desc *req_md); | ||
430 | - void (*cleanup) (void); | ||
431 | - void (*bind_client) (struct omapfb_notifier_block *nb); | ||
432 | - void (*get_caps) (int plane, struct omapfb_caps *caps); | ||
433 | - int (*set_update_mode)(enum omapfb_update_mode mode); | ||
434 | - enum omapfb_update_mode (*get_update_mode)(void); | ||
435 | - int (*setup_plane) (int plane, int channel_out, | ||
436 | - unsigned long offset, | ||
437 | - int screen_width, | ||
438 | - int pos_x, int pos_y, int width, | ||
439 | - int height, int color_mode); | ||
440 | - int (*set_rotate) (int angle); | ||
441 | - int (*setup_mem) (int plane, size_t size, | ||
442 | - int mem_type, unsigned long *paddr); | ||
443 | - int (*mmap) (struct fb_info *info, | ||
444 | - struct vm_area_struct *vma); | ||
445 | - int (*set_scale) (int plane, | ||
446 | - int orig_width, int orig_height, | ||
447 | - int out_width, int out_height); | ||
448 | - int (*enable_plane) (int plane, int enable); | ||
449 | - int (*update_window) (struct fb_info *fbi, | ||
450 | - struct omapfb_update_window *win, | ||
451 | - void (*callback)(void *), | ||
452 | - void *callback_data); | ||
453 | - void (*sync) (void); | ||
454 | - void (*suspend) (void); | ||
455 | - void (*resume) (void); | ||
456 | - int (*run_test) (int test_num); | ||
457 | - int (*setcolreg) (u_int regno, u16 red, u16 green, | ||
458 | - u16 blue, u16 transp, | ||
459 | - int update_hw_mem); | ||
460 | - int (*set_color_key) (struct omapfb_color_key *ck); | ||
461 | - int (*get_color_key) (struct omapfb_color_key *ck); | ||
462 | -}; | ||
463 | - | ||
464 | -enum omapfb_state { | ||
465 | - OMAPFB_DISABLED = 0, | ||
466 | - OMAPFB_SUSPENDED= 99, | ||
467 | - OMAPFB_ACTIVE = 100 | ||
468 | -}; | ||
469 | - | ||
470 | -struct omapfb_plane_struct { | ||
471 | - int idx; | ||
472 | - struct omapfb_plane_info info; | ||
473 | - enum omapfb_color_format color_mode; | ||
474 | - struct omapfb_device *fbdev; | ||
475 | -}; | ||
476 | - | ||
477 | -struct omapfb_device { | ||
478 | - int state; | ||
479 | - int ext_lcdc; /* Using external | ||
480 | - LCD controller */ | ||
481 | - struct mutex rqueue_mutex; | ||
482 | - | ||
483 | - int palette_size; | ||
484 | - u32 pseudo_palette[17]; | ||
485 | - | ||
486 | - struct lcd_panel *panel; /* LCD panel */ | ||
487 | - const struct lcd_ctrl *ctrl; /* LCD controller */ | ||
488 | - const struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */ | ||
489 | - struct lcd_ctrl_extif *ext_if; /* LCD ctrl external | ||
490 | - interface */ | ||
491 | - struct device *dev; | ||
492 | - struct fb_var_screeninfo new_var; /* for mode changes */ | ||
493 | - | ||
494 | - struct omapfb_mem_desc mem_desc; | ||
495 | - struct fb_info *fb_info[OMAPFB_PLANE_NUM]; | ||
496 | -}; | ||
497 | - | ||
498 | -struct omapfb_platform_data { | ||
499 | - struct omap_lcd_config lcd; | ||
500 | - struct omapfb_mem_desc mem_desc; | ||
501 | - void *ctrl_platform_data; | ||
502 | -}; | ||
503 | - | ||
504 | -#ifdef CONFIG_ARCH_OMAP1 | ||
505 | -extern struct lcd_ctrl omap1_lcd_ctrl; | ||
506 | -#else | ||
507 | -extern struct lcd_ctrl omap2_disp_ctrl; | ||
508 | -#endif | ||
509 | - | ||
510 | -extern void omapfb_reserve_sdram(void); | ||
511 | -extern void omapfb_register_panel(struct lcd_panel *panel); | ||
512 | -extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval); | ||
513 | -extern void omapfb_notify_clients(struct omapfb_device *fbdev, | ||
514 | - unsigned long event); | ||
515 | -extern int omapfb_register_client(struct omapfb_notifier_block *nb, | ||
516 | - omapfb_notifier_callback_t callback, | ||
517 | - void *callback_data); | ||
518 | -extern int omapfb_unregister_client(struct omapfb_notifier_block *nb); | ||
519 | -extern int omapfb_update_window_async(struct fb_info *fbi, | ||
520 | - struct omapfb_update_window *win, | ||
521 | - void (*callback)(void *), | ||
522 | - void *callback_data); | ||
523 | - | ||
524 | -/* in arch/arm/plat-omap/fb.c */ | ||
525 | -extern void omapfb_set_ctrl_platform_data(void *pdata); | ||
526 | - | ||
527 | -#endif /* __KERNEL__ */ | ||
528 | - | ||
529 | -#endif /* __OMAPFB_H */ | ||
530 | diff --git a/drivers/video/omap/blizzard.c b/drivers/video/omap/blizzard.c | ||
531 | index f60a233..8121c09 100644 | ||
532 | --- a/drivers/video/omap/blizzard.c | ||
533 | +++ b/drivers/video/omap/blizzard.c | ||
534 | @@ -25,9 +25,9 @@ | ||
535 | #include <linux/fb.h> | ||
536 | #include <linux/delay.h> | ||
537 | #include <linux/clk.h> | ||
538 | +#include <linux/omapfb.h> | ||
539 | |||
540 | #include <mach/dma.h> | ||
541 | -#include <mach/omapfb.h> | ||
542 | #include <mach/blizzard.h> | ||
543 | |||
544 | #include "dispc.h" | ||
545 | diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c | ||
546 | index c140c21..1915af5 100644 | ||
547 | --- a/drivers/video/omap/dispc.c | ||
548 | +++ b/drivers/video/omap/dispc.c | ||
549 | @@ -24,9 +24,9 @@ | ||
550 | #include <linux/vmalloc.h> | ||
551 | #include <linux/clk.h> | ||
552 | #include <linux/io.h> | ||
553 | +#include <linux/omapfb.h> | ||
554 | |||
555 | #include <mach/sram.h> | ||
556 | -#include <mach/omapfb.h> | ||
557 | #include <mach/board.h> | ||
558 | |||
559 | #include "dispc.h" | ||
560 | diff --git a/drivers/video/omap/hwa742.c b/drivers/video/omap/hwa742.c | ||
561 | index f24df0b..9b4c506 100644 | ||
562 | --- a/drivers/video/omap/hwa742.c | ||
563 | +++ b/drivers/video/omap/hwa742.c | ||
564 | @@ -25,9 +25,9 @@ | ||
565 | #include <linux/fb.h> | ||
566 | #include <linux/delay.h> | ||
567 | #include <linux/clk.h> | ||
568 | +#include <linux/omapfb.h> | ||
569 | |||
570 | #include <mach/dma.h> | ||
571 | -#include <mach/omapfb.h> | ||
572 | #include <mach/hwa742.h> | ||
573 | |||
574 | #define HWA742_REV_CODE_REG 0x0 | ||
575 | diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c | ||
576 | index a22b452..1252cc3 100644 | ||
577 | --- a/drivers/video/omap/lcd_2430sdp.c | ||
578 | +++ b/drivers/video/omap/lcd_2430sdp.c | ||
579 | @@ -26,9 +26,9 @@ | ||
580 | #include <linux/delay.h> | ||
581 | #include <linux/gpio.h> | ||
582 | #include <linux/i2c/twl4030.h> | ||
583 | +#include <linux/omapfb.h> | ||
584 | |||
585 | #include <mach/mux.h> | ||
586 | -#include <mach/omapfb.h> | ||
587 | #include <asm/mach-types.h> | ||
588 | |||
589 | #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91 | ||
590 | diff --git a/drivers/video/omap/lcd_ams_delta.c b/drivers/video/omap/lcd_ams_delta.c | ||
591 | index 3fd5342..4d54725 100644 | ||
592 | --- a/drivers/video/omap/lcd_ams_delta.c | ||
593 | +++ b/drivers/video/omap/lcd_ams_delta.c | ||
594 | @@ -24,13 +24,13 @@ | ||
595 | |||
596 | #include <linux/module.h> | ||
597 | #include <linux/platform_device.h> | ||
598 | +#include <linux/omapfb.h> | ||
599 | |||
600 | #include <asm/delay.h> | ||
601 | #include <asm/io.h> | ||
602 | |||
603 | #include <mach/board-ams-delta.h> | ||
604 | #include <mach/hardware.h> | ||
605 | -#include <mach/omapfb.h> | ||
606 | |||
607 | #define AMS_DELTA_DEFAULT_CONTRAST 112 | ||
608 | |||
609 | diff --git a/drivers/video/omap/lcd_apollon.c b/drivers/video/omap/lcd_apollon.c | ||
610 | index beae5d9..e3b2224 100644 | ||
611 | --- a/drivers/video/omap/lcd_apollon.c | ||
612 | +++ b/drivers/video/omap/lcd_apollon.c | ||
613 | @@ -23,10 +23,10 @@ | ||
614 | |||
615 | #include <linux/module.h> | ||
616 | #include <linux/platform_device.h> | ||
617 | +#include <linux/omapfb.h> | ||
618 | |||
619 | #include <mach/gpio.h> | ||
620 | #include <mach/mux.h> | ||
621 | -#include <mach/omapfb.h> | ||
622 | |||
623 | /* #define USE_35INCH_LCD 1 */ | ||
624 | |||
625 | diff --git a/drivers/video/omap/lcd_h3.c b/drivers/video/omap/lcd_h3.c | ||
626 | index 2486237..f7264ea 100644 | ||
627 | --- a/drivers/video/omap/lcd_h3.c | ||
628 | +++ b/drivers/video/omap/lcd_h3.c | ||
629 | @@ -22,9 +22,9 @@ | ||
630 | #include <linux/module.h> | ||
631 | #include <linux/platform_device.h> | ||
632 | #include <linux/i2c/tps65010.h> | ||
633 | +#include <linux/omapfb.h> | ||
634 | |||
635 | #include <mach/gpio.h> | ||
636 | -#include <mach/omapfb.h> | ||
637 | |||
638 | #define MODULE_NAME "omapfb-lcd_h3" | ||
639 | |||
640 | diff --git a/drivers/video/omap/lcd_h4.c b/drivers/video/omap/lcd_h4.c | ||
641 | index 6ff5643..d72df0c 100644 | ||
642 | --- a/drivers/video/omap/lcd_h4.c | ||
643 | +++ b/drivers/video/omap/lcd_h4.c | ||
644 | @@ -21,8 +21,7 @@ | ||
645 | |||
646 | #include <linux/module.h> | ||
647 | #include <linux/platform_device.h> | ||
648 | - | ||
649 | -#include <mach/omapfb.h> | ||
650 | +#include <linux/omapfb.h> | ||
651 | |||
652 | static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) | ||
653 | { | ||
654 | diff --git a/drivers/video/omap/lcd_inn1510.c b/drivers/video/omap/lcd_inn1510.c | ||
655 | index 6953ed4..f6e05d7 100644 | ||
656 | --- a/drivers/video/omap/lcd_inn1510.c | ||
657 | +++ b/drivers/video/omap/lcd_inn1510.c | ||
658 | @@ -22,9 +22,9 @@ | ||
659 | #include <linux/module.h> | ||
660 | #include <linux/platform_device.h> | ||
661 | #include <linux/io.h> | ||
662 | +#include <linux/omapfb.h> | ||
663 | |||
664 | #include <mach/fpga.h> | ||
665 | -#include <mach/omapfb.h> | ||
666 | |||
667 | static int innovator1510_panel_init(struct lcd_panel *panel, | ||
668 | struct omapfb_device *fbdev) | ||
669 | diff --git a/drivers/video/omap/lcd_inn1610.c b/drivers/video/omap/lcd_inn1610.c | ||
670 | index 4c4f7ee..c599e41 100644 | ||
671 | --- a/drivers/video/omap/lcd_inn1610.c | ||
672 | +++ b/drivers/video/omap/lcd_inn1610.c | ||
673 | @@ -21,9 +21,9 @@ | ||
674 | |||
675 | #include <linux/module.h> | ||
676 | #include <linux/platform_device.h> | ||
677 | +#include <linux/omapfb.h> | ||
678 | |||
679 | #include <mach/gpio.h> | ||
680 | -#include <mach/omapfb.h> | ||
681 | |||
682 | #define MODULE_NAME "omapfb-lcd_h3" | ||
683 | |||
684 | diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c | ||
685 | index 8925230..1c25186 100644 | ||
686 | --- a/drivers/video/omap/lcd_ldp.c | ||
687 | +++ b/drivers/video/omap/lcd_ldp.c | ||
688 | @@ -25,10 +25,10 @@ | ||
689 | #include <linux/platform_device.h> | ||
690 | #include <linux/delay.h> | ||
691 | #include <linux/i2c/twl4030.h> | ||
692 | +#include <linux/omapfb.h> | ||
693 | |||
694 | #include <mach/gpio.h> | ||
695 | #include <mach/mux.h> | ||
696 | -#include <mach/omapfb.h> | ||
697 | #include <asm/mach-types.h> | ||
698 | |||
699 | #define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES) | ||
700 | diff --git a/drivers/video/omap/lcd_mipid.c b/drivers/video/omap/lcd_mipid.c | ||
701 | index 1895997..4b28005 100644 | ||
702 | --- a/drivers/video/omap/lcd_mipid.c | ||
703 | +++ b/drivers/video/omap/lcd_mipid.c | ||
704 | @@ -22,8 +22,8 @@ | ||
705 | #include <linux/delay.h> | ||
706 | #include <linux/workqueue.h> | ||
707 | #include <linux/spi/spi.h> | ||
708 | +#include <linux/omapfb.h> | ||
709 | |||
710 | -#include <mach/omapfb.h> | ||
711 | #include <mach/lcd_mipid.h> | ||
712 | |||
713 | #include "../../cbus/tahvo.h" | ||
714 | diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c | ||
715 | index 2fc46c2..1908a2b 100644 | ||
716 | --- a/drivers/video/omap/lcd_omap2evm.c | ||
717 | +++ b/drivers/video/omap/lcd_omap2evm.c | ||
718 | @@ -25,9 +25,9 @@ | ||
719 | #include <linux/platform_device.h> | ||
720 | #include <linux/gpio.h> | ||
721 | #include <linux/i2c/twl4030.h> | ||
722 | +#include <linux/omapfb.h> | ||
723 | |||
724 | #include <mach/mux.h> | ||
725 | -#include <mach/omapfb.h> | ||
726 | #include <asm/mach-types.h> | ||
727 | |||
728 | #define LCD_PANEL_ENABLE_GPIO 154 | ||
729 | diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c | ||
730 | index eae43e4..6be117e 100644 | ||
731 | --- a/drivers/video/omap/lcd_omap3beagle.c | ||
732 | +++ b/drivers/video/omap/lcd_omap3beagle.c | ||
733 | @@ -24,9 +24,9 @@ | ||
734 | #include <linux/platform_device.h> | ||
735 | #include <linux/gpio.h> | ||
736 | #include <linux/i2c/twl4030.h> | ||
737 | +#include <linux/omapfb.h> | ||
738 | |||
739 | #include <mach/mux.h> | ||
740 | -#include <mach/omapfb.h> | ||
741 | #include <asm/mach-types.h> | ||
742 | |||
743 | #define LCD_PANEL_ENABLE_GPIO 170 | ||
744 | diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c | ||
745 | index 1c3d814..10ba48c 100644 | ||
746 | --- a/drivers/video/omap/lcd_omap3evm.c | ||
747 | +++ b/drivers/video/omap/lcd_omap3evm.c | ||
748 | @@ -24,9 +24,9 @@ | ||
749 | #include <linux/platform_device.h> | ||
750 | #include <linux/gpio.h> | ||
751 | #include <linux/i2c/twl4030.h> | ||
752 | +#include <linux/omapfb.h> | ||
753 | |||
754 | #include <mach/mux.h> | ||
755 | -#include <mach/omapfb.h> | ||
756 | #include <asm/mach-types.h> | ||
757 | |||
758 | #define LCD_PANEL_ENABLE_GPIO 153 | ||
759 | diff --git a/drivers/video/omap/lcd_osk.c b/drivers/video/omap/lcd_osk.c | ||
760 | index 379c96d..d6b193e 100644 | ||
761 | --- a/drivers/video/omap/lcd_osk.c | ||
762 | +++ b/drivers/video/omap/lcd_osk.c | ||
763 | @@ -22,10 +22,10 @@ | ||
764 | |||
765 | #include <linux/module.h> | ||
766 | #include <linux/platform_device.h> | ||
767 | +#include <linux/omapfb.h> | ||
768 | |||
769 | #include <mach/gpio.h> | ||
770 | #include <mach/mux.h> | ||
771 | -#include <mach/omapfb.h> | ||
772 | |||
773 | static int osk_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev) | ||
774 | { | ||
775 | diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c | ||
776 | index 2bc5c92..40c2026 100644 | ||
777 | --- a/drivers/video/omap/lcd_overo.c | ||
778 | +++ b/drivers/video/omap/lcd_overo.c | ||
779 | @@ -22,10 +22,10 @@ | ||
780 | #include <linux/module.h> | ||
781 | #include <linux/platform_device.h> | ||
782 | #include <linux/i2c/twl4030.h> | ||
783 | +#include <linux/omapfb.h> | ||
784 | |||
785 | #include <mach/gpio.h> | ||
786 | #include <mach/mux.h> | ||
787 | -#include <mach/omapfb.h> | ||
788 | #include <asm/mach-types.h> | ||
789 | |||
790 | #define LCD_ENABLE 144 | ||
791 | diff --git a/drivers/video/omap/lcd_p2.c b/drivers/video/omap/lcd_p2.c | ||
792 | index dd40fd7..bc5abef 100644 | ||
793 | --- a/drivers/video/omap/lcd_p2.c | ||
794 | +++ b/drivers/video/omap/lcd_p2.c | ||
795 | @@ -24,10 +24,10 @@ | ||
796 | #include <linux/module.h> | ||
797 | #include <linux/delay.h> | ||
798 | #include <linux/platform_device.h> | ||
799 | +#include <linux/omapfb.h> | ||
800 | |||
801 | #include <mach/mux.h> | ||
802 | #include <mach/gpio.h> | ||
803 | -#include <mach/omapfb.h> | ||
804 | |||
805 | /* | ||
806 | * File: epson-md-tft.h | ||
807 | diff --git a/drivers/video/omap/lcd_palmte.c b/drivers/video/omap/lcd_palmte.c | ||
808 | index 2183173..dcb456c 100644 | ||
809 | --- a/drivers/video/omap/lcd_palmte.c | ||
810 | +++ b/drivers/video/omap/lcd_palmte.c | ||
811 | @@ -22,9 +22,9 @@ | ||
812 | #include <linux/module.h> | ||
813 | #include <linux/platform_device.h> | ||
814 | #include <linux/io.h> | ||
815 | +#include <linux/omapfb.h> | ||
816 | |||
817 | #include <mach/fpga.h> | ||
818 | -#include <mach/omapfb.h> | ||
819 | |||
820 | static int palmte_panel_init(struct lcd_panel *panel, | ||
821 | struct omapfb_device *fbdev) | ||
822 | diff --git a/drivers/video/omap/lcd_palmtt.c b/drivers/video/omap/lcd_palmtt.c | ||
823 | index 57b0f6c..e8adab8 100644 | ||
824 | --- a/drivers/video/omap/lcd_palmtt.c | ||
825 | +++ b/drivers/video/omap/lcd_palmtt.c | ||
826 | @@ -28,9 +28,9 @@ GPIO13 - screen blanking | ||
827 | #include <linux/platform_device.h> | ||
828 | #include <linux/module.h> | ||
829 | #include <linux/io.h> | ||
830 | +#include <linux/omapfb.h> | ||
831 | |||
832 | #include <mach/gpio.h> | ||
833 | -#include <mach/omapfb.h> | ||
834 | |||
835 | static int palmtt_panel_init(struct lcd_panel *panel, | ||
836 | struct omapfb_device *fbdev) | ||
837 | diff --git a/drivers/video/omap/lcd_palmz71.c b/drivers/video/omap/lcd_palmz71.c | ||
838 | index d33d78b..d5b3f82 100644 | ||
839 | --- a/drivers/video/omap/lcd_palmz71.c | ||
840 | +++ b/drivers/video/omap/lcd_palmz71.c | ||
841 | @@ -23,8 +23,7 @@ | ||
842 | #include <linux/module.h> | ||
843 | #include <linux/platform_device.h> | ||
844 | #include <linux/io.h> | ||
845 | - | ||
846 | -#include <mach/omapfb.h> | ||
847 | +#include <linux/omapfb.h> | ||
848 | |||
849 | static int palmz71_panel_init(struct lcd_panel *panel, | ||
850 | struct omapfb_device *fbdev) | ||
851 | diff --git a/drivers/video/omap/lcdc.c b/drivers/video/omap/lcdc.c | ||
852 | index ab39492..633e33c 100644 | ||
853 | --- a/drivers/video/omap/lcdc.c | ||
854 | +++ b/drivers/video/omap/lcdc.c | ||
855 | @@ -28,9 +28,9 @@ | ||
856 | #include <linux/dma-mapping.h> | ||
857 | #include <linux/vmalloc.h> | ||
858 | #include <linux/clk.h> | ||
859 | +#include <linux/omapfb.h> | ||
860 | |||
861 | #include <mach/dma.h> | ||
862 | -#include <mach/omapfb.h> | ||
863 | |||
864 | #include <asm/mach-types.h> | ||
865 | |||
866 | diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c | ||
867 | index 3bb4247..c6306af 100644 | ||
868 | --- a/drivers/video/omap/omapfb_main.c | ||
869 | +++ b/drivers/video/omap/omapfb_main.c | ||
870 | @@ -27,9 +27,9 @@ | ||
871 | #include <linux/platform_device.h> | ||
872 | #include <linux/mm.h> | ||
873 | #include <linux/uaccess.h> | ||
874 | +#include <linux/omapfb.h> | ||
875 | |||
876 | #include <mach/dma.h> | ||
877 | -#include <mach/omapfb.h> | ||
878 | |||
879 | #include "lcdc.h" | ||
880 | #include "dispc.h" | ||
881 | diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c | ||
882 | index 29fa368..118cfa9 100644 | ||
883 | --- a/drivers/video/omap/rfbi.c | ||
884 | +++ b/drivers/video/omap/rfbi.c | ||
885 | @@ -26,8 +26,7 @@ | ||
886 | #include <linux/interrupt.h> | ||
887 | #include <linux/clk.h> | ||
888 | #include <linux/io.h> | ||
889 | - | ||
890 | -#include <mach/omapfb.h> | ||
891 | +#include <linux/omapfb.h> | ||
892 | |||
893 | #include "dispc.h" | ||
894 | |||
895 | diff --git a/drivers/video/omap/sossi.c b/drivers/video/omap/sossi.c | ||
896 | index cc697cc..ff9dd71 100644 | ||
897 | --- a/drivers/video/omap/sossi.c | ||
898 | +++ b/drivers/video/omap/sossi.c | ||
899 | @@ -23,9 +23,9 @@ | ||
900 | #include <linux/clk.h> | ||
901 | #include <linux/irq.h> | ||
902 | #include <linux/io.h> | ||
903 | +#include <linux/omapfb.h> | ||
904 | |||
905 | #include <mach/dma.h> | ||
906 | -#include <mach/omapfb.h> | ||
907 | |||
908 | #include "lcdc.h" | ||
909 | |||
910 | diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h | ||
911 | new file mode 100644 | ||
912 | index 0000000..b226bdf | ||
913 | --- /dev/null | ||
914 | +++ b/include/linux/omapfb.h | ||
915 | @@ -0,0 +1,398 @@ | ||
916 | +/* | ||
917 | + * File: arch/arm/plat-omap/include/mach/omapfb.h | ||
918 | + * | ||
919 | + * Framebuffer driver for TI OMAP boards | ||
920 | + * | ||
921 | + * Copyright (C) 2004 Nokia Corporation | ||
922 | + * Author: Imre Deak <imre.deak@nokia.com> | ||
923 | + * | ||
924 | + * This program is free software; you can redistribute it and/or modify it | ||
925 | + * under the terms of the GNU General Public License as published by the | ||
926 | + * Free Software Foundation; either version 2 of the License, or (at your | ||
927 | + * option) any later version. | ||
928 | + * | ||
929 | + * This program is distributed in the hope that it will be useful, but | ||
930 | + * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
931 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
932 | + * General Public License for more details. | ||
933 | + * | ||
934 | + * You should have received a copy of the GNU General Public License along | ||
935 | + * with this program; if not, write to the Free Software Foundation, Inc., | ||
936 | + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
937 | + */ | ||
938 | + | ||
939 | +#ifndef __OMAPFB_H | ||
940 | +#define __OMAPFB_H | ||
941 | + | ||
942 | +#include <asm/ioctl.h> | ||
943 | +#include <asm/types.h> | ||
944 | + | ||
945 | +/* IOCTL commands. */ | ||
946 | + | ||
947 | +#define OMAP_IOW(num, dtype) _IOW('O', num, dtype) | ||
948 | +#define OMAP_IOR(num, dtype) _IOR('O', num, dtype) | ||
949 | +#define OMAP_IOWR(num, dtype) _IOWR('O', num, dtype) | ||
950 | +#define OMAP_IO(num) _IO('O', num) | ||
951 | + | ||
952 | +#define OMAPFB_MIRROR OMAP_IOW(31, int) | ||
953 | +#define OMAPFB_SYNC_GFX OMAP_IO(37) | ||
954 | +#define OMAPFB_VSYNC OMAP_IO(38) | ||
955 | +#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int) | ||
956 | +#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps) | ||
957 | +#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int) | ||
958 | +#define OMAPFB_LCD_TEST OMAP_IOW(45, int) | ||
959 | +#define OMAPFB_CTRL_TEST OMAP_IOW(46, int) | ||
960 | +#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old) | ||
961 | +#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key) | ||
962 | +#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key) | ||
963 | +#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info) | ||
964 | +#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info) | ||
965 | +#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window) | ||
966 | +#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info) | ||
967 | +#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info) | ||
968 | + | ||
969 | +#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff | ||
970 | +#define OMAPFB_CAPS_LCDC_MASK 0x00fff000 | ||
971 | +#define OMAPFB_CAPS_PANEL_MASK 0xff000000 | ||
972 | + | ||
973 | +#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000 | ||
974 | +#define OMAPFB_CAPS_TEARSYNC 0x00002000 | ||
975 | +#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000 | ||
976 | +#define OMAPFB_CAPS_PLANE_SCALE 0x00008000 | ||
977 | +#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000 | ||
978 | +#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000 | ||
979 | +#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000 | ||
980 | +#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000 | ||
981 | +#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000 | ||
982 | + | ||
983 | +/* Values from DSP must map to lower 16-bits */ | ||
984 | +#define OMAPFB_FORMAT_MASK 0x00ff | ||
985 | +#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100 | ||
986 | +#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200 | ||
987 | +#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400 | ||
988 | +#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800 | ||
989 | +#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000 | ||
990 | + | ||
991 | +#define OMAPFB_EVENT_READY 1 | ||
992 | +#define OMAPFB_EVENT_DISABLED 2 | ||
993 | + | ||
994 | +#define OMAPFB_MEMTYPE_SDRAM 0 | ||
995 | +#define OMAPFB_MEMTYPE_SRAM 1 | ||
996 | +#define OMAPFB_MEMTYPE_MAX 1 | ||
997 | + | ||
998 | +enum omapfb_color_format { | ||
999 | + OMAPFB_COLOR_RGB565 = 0, | ||
1000 | + OMAPFB_COLOR_YUV422, | ||
1001 | + OMAPFB_COLOR_YUV420, | ||
1002 | + OMAPFB_COLOR_CLUT_8BPP, | ||
1003 | + OMAPFB_COLOR_CLUT_4BPP, | ||
1004 | + OMAPFB_COLOR_CLUT_2BPP, | ||
1005 | + OMAPFB_COLOR_CLUT_1BPP, | ||
1006 | + OMAPFB_COLOR_RGB444, | ||
1007 | + OMAPFB_COLOR_YUY422, | ||
1008 | +}; | ||
1009 | + | ||
1010 | +struct omapfb_update_window { | ||
1011 | + __u32 x, y; | ||
1012 | + __u32 width, height; | ||
1013 | + __u32 format; | ||
1014 | + __u32 out_x, out_y; | ||
1015 | + __u32 out_width, out_height; | ||
1016 | + __u32 reserved[8]; | ||
1017 | +}; | ||
1018 | + | ||
1019 | +struct omapfb_update_window_old { | ||
1020 | + __u32 x, y; | ||
1021 | + __u32 width, height; | ||
1022 | + __u32 format; | ||
1023 | +}; | ||
1024 | + | ||
1025 | +enum omapfb_plane { | ||
1026 | + OMAPFB_PLANE_GFX = 0, | ||
1027 | + OMAPFB_PLANE_VID1, | ||
1028 | + OMAPFB_PLANE_VID2, | ||
1029 | +}; | ||
1030 | + | ||
1031 | +enum omapfb_channel_out { | ||
1032 | + OMAPFB_CHANNEL_OUT_LCD = 0, | ||
1033 | + OMAPFB_CHANNEL_OUT_DIGIT, | ||
1034 | +}; | ||
1035 | + | ||
1036 | +struct omapfb_plane_info { | ||
1037 | + __u32 pos_x; | ||
1038 | + __u32 pos_y; | ||
1039 | + __u8 enabled; | ||
1040 | + __u8 channel_out; | ||
1041 | + __u8 mirror; | ||
1042 | + __u8 reserved1; | ||
1043 | + __u32 out_width; | ||
1044 | + __u32 out_height; | ||
1045 | + __u32 reserved2[12]; | ||
1046 | +}; | ||
1047 | + | ||
1048 | +struct omapfb_mem_info { | ||
1049 | + __u32 size; | ||
1050 | + __u8 type; | ||
1051 | + __u8 reserved[3]; | ||
1052 | +}; | ||
1053 | + | ||
1054 | +struct omapfb_caps { | ||
1055 | + __u32 ctrl; | ||
1056 | + __u32 plane_color; | ||
1057 | + __u32 wnd_color; | ||
1058 | +}; | ||
1059 | + | ||
1060 | +enum omapfb_color_key_type { | ||
1061 | + OMAPFB_COLOR_KEY_DISABLED = 0, | ||
1062 | + OMAPFB_COLOR_KEY_GFX_DST, | ||
1063 | + OMAPFB_COLOR_KEY_VID_SRC, | ||
1064 | +}; | ||
1065 | + | ||
1066 | +struct omapfb_color_key { | ||
1067 | + __u8 channel_out; | ||
1068 | + __u32 background; | ||
1069 | + __u32 trans_key; | ||
1070 | + __u8 key_type; | ||
1071 | +}; | ||
1072 | + | ||
1073 | +enum omapfb_update_mode { | ||
1074 | + OMAPFB_UPDATE_DISABLED = 0, | ||
1075 | + OMAPFB_AUTO_UPDATE, | ||
1076 | + OMAPFB_MANUAL_UPDATE | ||
1077 | +}; | ||
1078 | + | ||
1079 | +#ifdef __KERNEL__ | ||
1080 | + | ||
1081 | +#include <linux/completion.h> | ||
1082 | +#include <linux/interrupt.h> | ||
1083 | +#include <linux/fb.h> | ||
1084 | +#include <linux/mutex.h> | ||
1085 | + | ||
1086 | +#include <mach/board.h> | ||
1087 | + | ||
1088 | +#define OMAP_LCDC_INV_VSYNC 0x0001 | ||
1089 | +#define OMAP_LCDC_INV_HSYNC 0x0002 | ||
1090 | +#define OMAP_LCDC_INV_PIX_CLOCK 0x0004 | ||
1091 | +#define OMAP_LCDC_INV_OUTPUT_EN 0x0008 | ||
1092 | +#define OMAP_LCDC_HSVS_RISING_EDGE 0x0010 | ||
1093 | +#define OMAP_LCDC_HSVS_OPPOSITE 0x0020 | ||
1094 | + | ||
1095 | +#define OMAP_LCDC_SIGNAL_MASK 0x003f | ||
1096 | + | ||
1097 | +#define OMAP_LCDC_PANEL_TFT 0x0100 | ||
1098 | + | ||
1099 | +#define OMAPFB_PLANE_XRES_MIN 8 | ||
1100 | +#define OMAPFB_PLANE_YRES_MIN 8 | ||
1101 | + | ||
1102 | +#ifdef CONFIG_ARCH_OMAP1 | ||
1103 | +#define OMAPFB_PLANE_NUM 1 | ||
1104 | +#else | ||
1105 | +#define OMAPFB_PLANE_NUM 3 | ||
1106 | +#endif | ||
1107 | + | ||
1108 | +struct omapfb_device; | ||
1109 | + | ||
1110 | +struct lcd_panel { | ||
1111 | + const char *name; | ||
1112 | + int config; /* TFT/STN, signal inversion */ | ||
1113 | + int bpp; /* Pixel format in fb mem */ | ||
1114 | + int data_lines; /* Lines on LCD HW interface */ | ||
1115 | + | ||
1116 | + int x_res, y_res; | ||
1117 | + int pixel_clock; /* In kHz */ | ||
1118 | + int hsw; /* Horizontal synchronization | ||
1119 | + pulse width */ | ||
1120 | + int hfp; /* Horizontal front porch */ | ||
1121 | + int hbp; /* Horizontal back porch */ | ||
1122 | + int vsw; /* Vertical synchronization | ||
1123 | + pulse width */ | ||
1124 | + int vfp; /* Vertical front porch */ | ||
1125 | + int vbp; /* Vertical back porch */ | ||
1126 | + int acb; /* ac-bias pin frequency */ | ||
1127 | + int pcd; /* pixel clock divider. | ||
1128 | + Obsolete use pixel_clock instead */ | ||
1129 | + | ||
1130 | + int (*init) (struct lcd_panel *panel, | ||
1131 | + struct omapfb_device *fbdev); | ||
1132 | + void (*cleanup) (struct lcd_panel *panel); | ||
1133 | + int (*enable) (struct lcd_panel *panel); | ||
1134 | + void (*disable) (struct lcd_panel *panel); | ||
1135 | + unsigned long (*get_caps) (struct lcd_panel *panel); | ||
1136 | + int (*set_bklight_level)(struct lcd_panel *panel, | ||
1137 | + unsigned int level); | ||
1138 | + unsigned int (*get_bklight_level)(struct lcd_panel *panel); | ||
1139 | + unsigned int (*get_bklight_max) (struct lcd_panel *panel); | ||
1140 | + int (*run_test) (struct lcd_panel *panel, int test_num); | ||
1141 | +}; | ||
1142 | + | ||
1143 | +struct extif_timings { | ||
1144 | + int cs_on_time; | ||
1145 | + int cs_off_time; | ||
1146 | + int we_on_time; | ||
1147 | + int we_off_time; | ||
1148 | + int re_on_time; | ||
1149 | + int re_off_time; | ||
1150 | + int we_cycle_time; | ||
1151 | + int re_cycle_time; | ||
1152 | + int cs_pulse_width; | ||
1153 | + int access_time; | ||
1154 | + | ||
1155 | + int clk_div; | ||
1156 | + | ||
1157 | + u32 tim[5]; /* set by extif->convert_timings */ | ||
1158 | + | ||
1159 | + int converted; | ||
1160 | +}; | ||
1161 | + | ||
1162 | +struct lcd_ctrl_extif { | ||
1163 | + int (*init) (struct omapfb_device *fbdev); | ||
1164 | + void (*cleanup) (void); | ||
1165 | + void (*get_clk_info) (u32 *clk_period, u32 *max_clk_div); | ||
1166 | + unsigned long (*get_max_tx_rate)(void); | ||
1167 | + int (*convert_timings) (struct extif_timings *timings); | ||
1168 | + void (*set_timings) (const struct extif_timings *timings); | ||
1169 | + void (*set_bits_per_cycle)(int bpc); | ||
1170 | + void (*write_command) (const void *buf, unsigned int len); | ||
1171 | + void (*read_data) (void *buf, unsigned int len); | ||
1172 | + void (*write_data) (const void *buf, unsigned int len); | ||
1173 | + void (*transfer_area) (int width, int height, | ||
1174 | + void (callback)(void * data), void *data); | ||
1175 | + int (*setup_tearsync) (unsigned pin_cnt, | ||
1176 | + unsigned hs_pulse_time, unsigned vs_pulse_time, | ||
1177 | + int hs_pol_inv, int vs_pol_inv, int div); | ||
1178 | + int (*enable_tearsync) (int enable, unsigned line); | ||
1179 | + | ||
1180 | + unsigned long max_transmit_size; | ||
1181 | +}; | ||
1182 | + | ||
1183 | +struct omapfb_notifier_block { | ||
1184 | + struct notifier_block nb; | ||
1185 | + void *data; | ||
1186 | + int plane_idx; | ||
1187 | +}; | ||
1188 | + | ||
1189 | +typedef int (*omapfb_notifier_callback_t)(struct notifier_block *, | ||
1190 | + unsigned long event, | ||
1191 | + void *fbi); | ||
1192 | + | ||
1193 | +struct omapfb_mem_region { | ||
1194 | + u32 paddr; | ||
1195 | + void __iomem *vaddr; | ||
1196 | + unsigned long size; | ||
1197 | + u8 type; /* OMAPFB_PLANE_MEM_* */ | ||
1198 | + unsigned alloc:1; /* allocated by the driver */ | ||
1199 | + unsigned map:1; /* kernel mapped by the driver */ | ||
1200 | +}; | ||
1201 | + | ||
1202 | +struct omapfb_mem_desc { | ||
1203 | + int region_cnt; | ||
1204 | + struct omapfb_mem_region region[OMAPFB_PLANE_NUM]; | ||
1205 | +}; | ||
1206 | + | ||
1207 | +struct lcd_ctrl { | ||
1208 | + const char *name; | ||
1209 | + void *data; | ||
1210 | + | ||
1211 | + int (*init) (struct omapfb_device *fbdev, | ||
1212 | + int ext_mode, | ||
1213 | + struct omapfb_mem_desc *req_md); | ||
1214 | + void (*cleanup) (void); | ||
1215 | + void (*bind_client) (struct omapfb_notifier_block *nb); | ||
1216 | + void (*get_caps) (int plane, struct omapfb_caps *caps); | ||
1217 | + int (*set_update_mode)(enum omapfb_update_mode mode); | ||
1218 | + enum omapfb_update_mode (*get_update_mode)(void); | ||
1219 | + int (*setup_plane) (int plane, int channel_out, | ||
1220 | + unsigned long offset, | ||
1221 | + int screen_width, | ||
1222 | + int pos_x, int pos_y, int width, | ||
1223 | + int height, int color_mode); | ||
1224 | + int (*set_rotate) (int angle); | ||
1225 | + int (*setup_mem) (int plane, size_t size, | ||
1226 | + int mem_type, unsigned long *paddr); | ||
1227 | + int (*mmap) (struct fb_info *info, | ||
1228 | + struct vm_area_struct *vma); | ||
1229 | + int (*set_scale) (int plane, | ||
1230 | + int orig_width, int orig_height, | ||
1231 | + int out_width, int out_height); | ||
1232 | + int (*enable_plane) (int plane, int enable); | ||
1233 | + int (*update_window) (struct fb_info *fbi, | ||
1234 | + struct omapfb_update_window *win, | ||
1235 | + void (*callback)(void *), | ||
1236 | + void *callback_data); | ||
1237 | + void (*sync) (void); | ||
1238 | + void (*suspend) (void); | ||
1239 | + void (*resume) (void); | ||
1240 | + int (*run_test) (int test_num); | ||
1241 | + int (*setcolreg) (u_int regno, u16 red, u16 green, | ||
1242 | + u16 blue, u16 transp, | ||
1243 | + int update_hw_mem); | ||
1244 | + int (*set_color_key) (struct omapfb_color_key *ck); | ||
1245 | + int (*get_color_key) (struct omapfb_color_key *ck); | ||
1246 | +}; | ||
1247 | + | ||
1248 | +enum omapfb_state { | ||
1249 | + OMAPFB_DISABLED = 0, | ||
1250 | + OMAPFB_SUSPENDED= 99, | ||
1251 | + OMAPFB_ACTIVE = 100 | ||
1252 | +}; | ||
1253 | + | ||
1254 | +struct omapfb_plane_struct { | ||
1255 | + int idx; | ||
1256 | + struct omapfb_plane_info info; | ||
1257 | + enum omapfb_color_format color_mode; | ||
1258 | + struct omapfb_device *fbdev; | ||
1259 | +}; | ||
1260 | + | ||
1261 | +struct omapfb_device { | ||
1262 | + int state; | ||
1263 | + int ext_lcdc; /* Using external | ||
1264 | + LCD controller */ | ||
1265 | + struct mutex rqueue_mutex; | ||
1266 | + | ||
1267 | + int palette_size; | ||
1268 | + u32 pseudo_palette[17]; | ||
1269 | + | ||
1270 | + struct lcd_panel *panel; /* LCD panel */ | ||
1271 | + const struct lcd_ctrl *ctrl; /* LCD controller */ | ||
1272 | + const struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */ | ||
1273 | + struct lcd_ctrl_extif *ext_if; /* LCD ctrl external | ||
1274 | + interface */ | ||
1275 | + struct device *dev; | ||
1276 | + struct fb_var_screeninfo new_var; /* for mode changes */ | ||
1277 | + | ||
1278 | + struct omapfb_mem_desc mem_desc; | ||
1279 | + struct fb_info *fb_info[OMAPFB_PLANE_NUM]; | ||
1280 | +}; | ||
1281 | + | ||
1282 | +struct omapfb_platform_data { | ||
1283 | + struct omap_lcd_config lcd; | ||
1284 | + struct omapfb_mem_desc mem_desc; | ||
1285 | + void *ctrl_platform_data; | ||
1286 | +}; | ||
1287 | + | ||
1288 | +#ifdef CONFIG_ARCH_OMAP1 | ||
1289 | +extern struct lcd_ctrl omap1_lcd_ctrl; | ||
1290 | +#else | ||
1291 | +extern struct lcd_ctrl omap2_disp_ctrl; | ||
1292 | +#endif | ||
1293 | + | ||
1294 | +extern void omapfb_reserve_sdram(void); | ||
1295 | +extern void omapfb_register_panel(struct lcd_panel *panel); | ||
1296 | +extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval); | ||
1297 | +extern void omapfb_notify_clients(struct omapfb_device *fbdev, | ||
1298 | + unsigned long event); | ||
1299 | +extern int omapfb_register_client(struct omapfb_notifier_block *nb, | ||
1300 | + omapfb_notifier_callback_t callback, | ||
1301 | + void *callback_data); | ||
1302 | +extern int omapfb_unregister_client(struct omapfb_notifier_block *nb); | ||
1303 | +extern int omapfb_update_window_async(struct fb_info *fbi, | ||
1304 | + struct omapfb_update_window *win, | ||
1305 | + void (*callback)(void *), | ||
1306 | + void *callback_data); | ||
1307 | + | ||
1308 | +/* in arch/arm/plat-omap/fb.c */ | ||
1309 | +extern void omapfb_set_ctrl_platform_data(void *pdata); | ||
1310 | + | ||
1311 | +#endif /* __KERNEL__ */ | ||
1312 | + | ||
1313 | +#endif /* __OMAPFB_H */ | ||
1314 | -- | ||
1315 | 1.5.6.5 | ||
1316 | |||