0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef _LINUX_METRONOMEFB_H_
0013 #define _LINUX_METRONOMEFB_H_
0014
0015
0016 struct metromem_cmd {
0017 u16 opcode;
0018 u16 args[((64-2)/2)];
0019 u16 csum;
0020 };
0021
0022
0023 struct metronomefb_par {
0024 struct metromem_cmd *metromem_cmd;
0025 unsigned char *metromem_wfm;
0026 unsigned char *metromem_img;
0027 u16 *metromem_img_csum;
0028 u16 *csum_table;
0029 dma_addr_t metromem_dma;
0030 struct fb_info *info;
0031 struct metronome_board *board;
0032 wait_queue_head_t waitq;
0033 u8 frame_count;
0034 int extra_size;
0035 int dt;
0036 };
0037
0038
0039 struct metronome_board {
0040 struct module *owner;
0041 void (*set_rst)(struct metronomefb_par *, int);
0042 void (*set_stdby)(struct metronomefb_par *, int);
0043 void (*cleanup)(struct metronomefb_par *);
0044 int (*met_wait_event)(struct metronomefb_par *);
0045 int (*met_wait_event_intr)(struct metronomefb_par *);
0046 int (*setup_irq)(struct fb_info *);
0047 int (*setup_fb)(struct metronomefb_par *);
0048 int (*setup_io)(struct metronomefb_par *);
0049 int (*get_panel_type)(void);
0050 unsigned char *metromem;
0051 int fw;
0052 int fh;
0053 int wfm_size;
0054 struct fb_info *host_fbinfo;
0055 };
0056
0057 #endif