1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * metronomefb.h - definitions for the metronome framebuffer driver
- *
- * Copyright (C) 2008 by Jaya Kumar
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file COPYING in the main directory of this archive for
- * more details.
- *
- */
- #ifndef _LINUX_METRONOMEFB_H_
- #define _LINUX_METRONOMEFB_H_
- /* address and control descriptors used by metronome controller */
- struct metromem_desc {
- u32 mFDADR0;
- u32 mFSADR0;
- u32 mFIDR0;
- u32 mLDCMD0;
- };
- /* command structure used by metronome controller */
- struct metromem_cmd {
- u16 opcode;
- u16 args[((64-2)/2)];
- u16 csum;
- };
- /* struct used by metronome. board specific stuff comes from *board */
- struct metronomefb_par {
- unsigned char *metromem;
- struct metromem_desc *metromem_desc;
- struct metromem_cmd *metromem_cmd;
- unsigned char *metromem_wfm;
- unsigned char *metromem_img;
- u16 *metromem_img_csum;
- u16 *csum_table;
- int metromemsize;
- dma_addr_t metromem_dma;
- dma_addr_t metromem_desc_dma;
- struct fb_info *info;
- struct metronome_board *board;
- wait_queue_head_t waitq;
- u8 frame_count;
- };
- /* board specific routines */
- struct metronome_board {
- struct module *owner;
- void (*free_irq)(struct fb_info *);
- void (*init_gpio_regs)(struct metronomefb_par *);
- void (*init_lcdc_regs)(struct metronomefb_par *);
- void (*post_dma_setup)(struct metronomefb_par *);
- void (*set_rst)(struct metronomefb_par *, int);
- void (*set_stdby)(struct metronomefb_par *, int);
- int (*met_wait_event)(struct metronomefb_par *);
- int (*met_wait_event_intr)(struct metronomefb_par *);
- int (*setup_irq)(struct fb_info *);
- };
- #endif
|