aboutsummaryrefslogtreecommitdiffstats
path: root/include/video
diff options
context:
space:
mode:
authorJaya Kumar <jayakumar.lkml@gmail.com>2010-03-10 18:21:41 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-12 18:52:34 -0500
commit2afb18981739a1426af2a6c952e03c5966b3dfc6 (patch)
treefb1feeb9e7882a4810bf9088959e33a1148bc090 /include/video
parente17cea3cece6d3ec47a5b358821505943abe6541 (diff)
broadsheetfb: add MMIO hooks
Allow boards with GP-MMIO controllers to provide hooks to broadsheetfb in order to offload cmd/data writes and data reads instead of relying only on host based GPIO wiggling. Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/video')
-rw-r--r--include/video/broadsheetfb.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/include/video/broadsheetfb.h b/include/video/broadsheetfb.h
index a2c2829ceb38..d65b6689e92c 100644
--- a/include/video/broadsheetfb.h
+++ b/include/video/broadsheetfb.h
@@ -34,6 +34,10 @@
34#define BS_DC 0x02 34#define BS_DC 0x02
35#define BS_WR 0x03 35#define BS_WR 0x03
36 36
37/* Broadsheet IO interface specific defines */
38#define BS_MMIO_CMD 0x01
39#define BS_MMIO_DATA 0x02
40
37/* struct used by broadsheet. board specific stuff comes from *board */ 41/* struct used by broadsheet. board specific stuff comes from *board */
38struct broadsheetfb_par { 42struct broadsheetfb_par {
39 struct fb_info *info; 43 struct fb_info *info;
@@ -49,12 +53,17 @@ struct broadsheet_board {
49 struct module *owner; 53 struct module *owner;
50 int (*init)(struct broadsheetfb_par *); 54 int (*init)(struct broadsheetfb_par *);
51 int (*wait_for_rdy)(struct broadsheetfb_par *); 55 int (*wait_for_rdy)(struct broadsheetfb_par *);
52 void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8);
53 void (*set_hdb)(struct broadsheetfb_par *, u16);
54 u16 (*get_hdb)(struct broadsheetfb_par *);
55 void (*cleanup)(struct broadsheetfb_par *); 56 void (*cleanup)(struct broadsheetfb_par *);
56 int (*get_panel_type)(void); 57 int (*get_panel_type)(void);
57 int (*setup_irq)(struct fb_info *); 58 int (*setup_irq)(struct fb_info *);
58};
59 59
60 /* Functions for boards that use GPIO */
61 void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8);
62 void (*set_hdb)(struct broadsheetfb_par *, u16);
63 u16 (*get_hdb)(struct broadsheetfb_par *);
64
65 /* Functions for boards that have specialized MMIO */
66 void (*mmio_write)(struct broadsheetfb_par *, int type, u16);
67 u16 (*mmio_read)(struct broadsheetfb_par *);
68};
60#endif 69#endif