From 2afb18981739a1426af2a6c952e03c5966b3dfc6 Mon Sep 17 00:00:00 2001 From: Jaya Kumar Date: Wed, 10 Mar 2010 15:21:41 -0800 Subject: 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 Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/video/broadsheetfb.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'include/video') diff --git a/include/video/broadsheetfb.h b/include/video/broadsheetfb.h index a2c2829ceb3..d65b6689e92 100644 --- a/include/video/broadsheetfb.h +++ b/include/video/broadsheetfb.h @@ -34,6 +34,10 @@ #define BS_DC 0x02 #define BS_WR 0x03 +/* Broadsheet IO interface specific defines */ +#define BS_MMIO_CMD 0x01 +#define BS_MMIO_DATA 0x02 + /* struct used by broadsheet. board specific stuff comes from *board */ struct broadsheetfb_par { struct fb_info *info; @@ -49,12 +53,17 @@ struct broadsheet_board { struct module *owner; int (*init)(struct broadsheetfb_par *); int (*wait_for_rdy)(struct broadsheetfb_par *); - void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8); - void (*set_hdb)(struct broadsheetfb_par *, u16); - u16 (*get_hdb)(struct broadsheetfb_par *); void (*cleanup)(struct broadsheetfb_par *); int (*get_panel_type)(void); int (*setup_irq)(struct fb_info *); -}; + /* Functions for boards that use GPIO */ + void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8); + void (*set_hdb)(struct broadsheetfb_par *, u16); + u16 (*get_hdb)(struct broadsheetfb_par *); + + /* Functions for boards that have specialized MMIO */ + void (*mmio_write)(struct broadsheetfb_par *, int type, u16); + u16 (*mmio_read)(struct broadsheetfb_par *); +}; #endif -- cgit v1.2.3-18-g5258