diff options
Diffstat (limited to 'include/video/broadsheetfb.h')
-rw-r--r-- | include/video/broadsheetfb.h | 23 |
1 files changed, 19 insertions, 4 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 */ |
38 | struct broadsheetfb_par { | 46 | struct 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 |