aboutsummaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
Diffstat (limited to 'include/video')
-rw-r--r--include/video/broadsheetfb.h23
-rw-r--r--include/video/da8xx-fb.h1
-rw-r--r--include/video/pxa168fb.h2
-rw-r--r--include/video/sgivw.h11
-rw-r--r--include/video/sh_mobile_lcdc.h4
5 files changed, 29 insertions, 12 deletions
diff --git a/include/video/broadsheetfb.h b/include/video/broadsheetfb.h
index a758534c0272..548d28f4ec67 100644
--- a/include/video/broadsheetfb.h
+++ b/include/video/broadsheetfb.h
@@ -29,11 +29,19 @@
29#define BS_CMD_UPD_FULL 0x33 29#define BS_CMD_UPD_FULL 0x33
30#define BS_CMD_UPD_GDRV_CLR 0x37 30#define BS_CMD_UPD_GDRV_CLR 0x37
31 31
32/* Broadsheet register interface defines */
33#define BS_REG_REV 0x00
34#define BS_REG_PRC 0x02
35
32/* Broadsheet pin interface specific defines */ 36/* Broadsheet pin interface specific defines */
33#define BS_CS 0x01 37#define BS_CS 0x01
34#define BS_DC 0x02 38#define BS_DC 0x02
35#define BS_WR 0x03 39#define BS_WR 0x03
36 40
41/* Broadsheet IO interface specific defines */
42#define BS_MMIO_CMD 0x01
43#define BS_MMIO_DATA 0x02
44
37/* struct used by broadsheet. board specific stuff comes from *board */ 45/* struct used by broadsheet. board specific stuff comes from *board */
38struct broadsheetfb_par { 46struct broadsheetfb_par {
39 struct fb_info *info; 47 struct fb_info *info;
@@ -41,6 +49,8 @@ struct broadsheetfb_par {
41 void (*write_reg)(struct broadsheetfb_par *, u16 reg, u16 val); 49 void (*write_reg)(struct broadsheetfb_par *, u16 reg, u16 val);
42 u16 (*read_reg)(struct broadsheetfb_par *, u16 reg); 50 u16 (*read_reg)(struct broadsheetfb_par *, u16 reg);
43 wait_queue_head_t waitq; 51 wait_queue_head_t waitq;
52 int panel_index;
53 struct mutex io_lock;
44}; 54};
45 55
46/* board specific routines */ 56/* board specific routines */
@@ -48,12 +58,17 @@ struct broadsheet_board {
48 struct module *owner; 58 struct module *owner;
49 int (*init)(struct broadsheetfb_par *); 59 int (*init)(struct broadsheetfb_par *);
50 int (*wait_for_rdy)(struct broadsheetfb_par *); 60 int (*wait_for_rdy)(struct broadsheetfb_par *);
51 void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8);
52 void (*set_hdb)(struct broadsheetfb_par *, u16);
53 u16 (*get_hdb)(struct broadsheetfb_par *);
54 void (*cleanup)(struct broadsheetfb_par *); 61 void (*cleanup)(struct broadsheetfb_par *);
55 int (*get_panel_type)(void); 62 int (*get_panel_type)(void);
56 int (*setup_irq)(struct fb_info *); 63 int (*setup_irq)(struct fb_info *);
57};
58 64
65 /* Functions for boards that use GPIO */
66 void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8);
67 void (*set_hdb)(struct broadsheetfb_par *, u16);
68 u16 (*get_hdb)(struct broadsheetfb_par *);
69
70 /* Functions for boards that have specialized MMIO */
71 void (*mmio_write)(struct broadsheetfb_par *, int type, u16);
72 u16 (*mmio_read)(struct broadsheetfb_par *);
73};
59#endif 74#endif
diff --git a/include/video/da8xx-fb.h b/include/video/da8xx-fb.h
index c051a50ed528..89d43b3d4cb9 100644
--- a/include/video/da8xx-fb.h
+++ b/include/video/da8xx-fb.h
@@ -38,6 +38,7 @@ struct da8xx_lcdc_platform_data {
38 const char manu_name[10]; 38 const char manu_name[10];
39 void *controller_data; 39 void *controller_data;
40 const char type[25]; 40 const char type[25];
41 void (*panel_power_ctrl)(int);
41}; 42};
42 43
43struct lcd_ctrl_config { 44struct lcd_ctrl_config {
diff --git a/include/video/pxa168fb.h b/include/video/pxa168fb.h
index b5cc72fe0461..8c2f385a90ea 100644
--- a/include/video/pxa168fb.h
+++ b/include/video/pxa168fb.h
@@ -117,8 +117,6 @@ struct pxa168fb_mach_info {
117 unsigned invert_composite_blank:1; 117 unsigned invert_composite_blank:1;
118 unsigned invert_pix_val_ena:1; 118 unsigned invert_pix_val_ena:1;
119 unsigned invert_pixclock:1; 119 unsigned invert_pixclock:1;
120 unsigned invert_vsync:1;
121 unsigned invert_hsync:1;
122 unsigned panel_rbswap:1; 120 unsigned panel_rbswap:1;
123 unsigned active:1; 121 unsigned active:1;
124 unsigned enable_lcd:1; 122 unsigned enable_lcd:1;
diff --git a/include/video/sgivw.h b/include/video/sgivw.h
index 55f2a7c024af..f6aa5692e74b 100644
--- a/include/video/sgivw.h
+++ b/include/video/sgivw.h
@@ -351,7 +351,7 @@ typedef enum {
351struct dbe_timing_info 351struct dbe_timing_info
352{ 352{
353 dbe_timing_t type; 353 dbe_timing_t type;
354 int flags; 354 int flags;
355 short width; /* Monitor resolution */ 355 short width; /* Monitor resolution */
356 short height; 356 short height;
357 int fields_sec; /* fields/sec (Hz -3 dec. places */ 357 int fields_sec; /* fields/sec (Hz -3 dec. places */
@@ -389,11 +389,11 @@ struct dbe_timing_info dbeVTimings[] = {
389 { 389 {
390 DBE_VT_640_480_60, 390 DBE_VT_640_480_60,
391 /* flags, width, height, fields_sec, cfreq */ 391 /* flags, width, height, fields_sec, cfreq */
392 0, 640, 480, 59940, 25175, 392 0, 640, 480, 59940, 25175,
393 /* htotal, hblank_start, hblank_end, hsync_start, hsync_end */ 393 /* htotal, hblank_start, hblank_end, hsync_start, hsync_end */
394 800, 640, 800, 656, 752, 394 800, 640, 800, 656, 752,
395 /* vtotal, vblank_start, vblank_end, vsync_start, vsync_end */ 395 /* vtotal, vblank_start, vblank_end, vsync_start, vsync_end */
396 525, 480, 525, 490, 492, 396 525, 480, 525, 490, 492,
397 /* pll_m, pll_n, pll_p */ 397 /* pll_m, pll_n, pll_p */
398 15, 2, 3 398 15, 2, 3
399 }, 399 },
@@ -650,7 +650,7 @@ struct dbe_timing_info dbeVTimings[] = {
650 /* pll_m, pll_n, pll_p */ 650 /* pll_m, pll_n, pll_p */
651 6, 1, 0 651 6, 1, 0
652 }, 652 },
653 653
654 { 654 {
655 DBE_VT_1920_1200_60, 655 DBE_VT_1920_1200_60,
656 /* flags, width, height, fields_sec, cfreq */ 656 /* flags, width, height, fields_sec, cfreq */
@@ -676,7 +676,6 @@ struct dbe_timing_info dbeVTimings[] = {
676 } 676 }
677}; 677};
678 678
679#define DBE_VT_SIZE (sizeof(dbeVTimings)/sizeof(dbeVTimings[0]))
680#endif // INCLUDE_TIMING_TABLE_DATA 679#endif // INCLUDE_TIMING_TABLE_DATA
681 680
682#endif // ! __SGIVWFB_H__ 681#endif // ! __SGIVWFB_H__
diff --git a/include/video/sh_mobile_lcdc.h b/include/video/sh_mobile_lcdc.h
index 25144ab22b95..2cc893fc1f85 100644
--- a/include/video/sh_mobile_lcdc.h
+++ b/include/video/sh_mobile_lcdc.h
@@ -34,6 +34,8 @@ enum { LCDC_CLK_BUS, LCDC_CLK_PERIPHERAL, LCDC_CLK_EXTERNAL };
34#define LCDC_FLAGS_HSCNT (1 << 3) /* Disable HSYNC during VBLANK */ 34#define LCDC_FLAGS_HSCNT (1 << 3) /* Disable HSYNC during VBLANK */
35#define LCDC_FLAGS_DWCNT (1 << 4) /* Disable dotclock during blanking */ 35#define LCDC_FLAGS_DWCNT (1 << 4) /* Disable dotclock during blanking */
36 36
37#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32)
38
37struct sh_mobile_lcdc_sys_bus_cfg { 39struct sh_mobile_lcdc_sys_bus_cfg {
38 unsigned long ldmt2r; 40 unsigned long ldmt2r;
39 unsigned long ldmt3r; 41 unsigned long ldmt3r;
@@ -50,6 +52,8 @@ struct sh_mobile_lcdc_board_cfg {
50 void *board_data; 52 void *board_data;
51 int (*setup_sys)(void *board_data, void *sys_ops_handle, 53 int (*setup_sys)(void *board_data, void *sys_ops_handle,
52 struct sh_mobile_lcdc_sys_bus_ops *sys_ops); 54 struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
55 void (*start_transfer)(void *board_data, void *sys_ops_handle,
56 struct sh_mobile_lcdc_sys_bus_ops *sys_ops);
53 void (*display_on)(void *board_data); 57 void (*display_on)(void *board_data);
54 void (*display_off)(void *board_data); 58 void (*display_off)(void *board_data);
55}; 59};