12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- * hecubafb.h - definitions for the hecuba 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_HECUBAFB_H_
- #define _LINUX_HECUBAFB_H_
- /* Apollo controller specific defines */
- #define APOLLO_START_NEW_IMG 0xA0
- #define APOLLO_STOP_IMG_DATA 0xA1
- #define APOLLO_DISPLAY_IMG 0xA2
- #define APOLLO_ERASE_DISPLAY 0xA3
- #define APOLLO_INIT_DISPLAY 0xA4
- /* Hecuba interface specific defines */
- #define HCB_WUP_BIT 0x01
- #define HCB_DS_BIT 0x02
- #define HCB_RW_BIT 0x04
- #define HCB_CD_BIT 0x08
- #define HCB_ACK_BIT 0x80
- /* struct used by hecuba. board specific stuff comes from *board */
- struct hecubafb_par {
- struct fb_info *info;
- struct hecuba_board *board;
- void (*send_command)(struct hecubafb_par *, unsigned char);
- void (*send_data)(struct hecubafb_par *, unsigned char);
- };
- /* board specific routines
- board drivers can implement wait_for_ack with interrupts if desired. if
- wait_for_ack is called with clear=0, then go to sleep and return when ack
- goes hi or if wait_for_ack with clear=1, then return when ack goes lo */
- struct hecuba_board {
- struct module *owner;
- void (*remove)(struct hecubafb_par *);
- void (*set_ctl)(struct hecubafb_par *, unsigned char, unsigned char);
- void (*set_data)(struct hecubafb_par *, unsigned char);
- void (*wait_for_ack)(struct hecubafb_par *, int);
- int (*init)(struct hecubafb_par *);
- };
- #endif
|