2 * hecubafb.h - definitions for the hecuba framebuffer driver
4 * Copyright (C) 2008 by Jaya Kumar
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
12 #ifndef _LINUX_HECUBAFB_H_
13 #define _LINUX_HECUBAFB_H_
15 /* Apollo controller specific defines */
16 #define APOLLO_START_NEW_IMG 0xA0
17 #define APOLLO_STOP_IMG_DATA 0xA1
18 #define APOLLO_DISPLAY_IMG 0xA2
19 #define APOLLO_ERASE_DISPLAY 0xA3
20 #define APOLLO_INIT_DISPLAY 0xA4
22 /* Hecuba interface specific defines */
23 #define HCB_WUP_BIT 0x01
24 #define HCB_DS_BIT 0x02
25 #define HCB_RW_BIT 0x04
26 #define HCB_CD_BIT 0x08
27 #define HCB_ACK_BIT 0x80
29 /* struct used by hecuba. board specific stuff comes from *board */
32 struct hecuba_board
*board
;
33 void (*send_command
)(struct hecubafb_par
*, unsigned char);
34 void (*send_data
)(struct hecubafb_par
*, unsigned char);
37 /* board specific routines
38 board drivers can implement wait_for_ack with interrupts if desired. if
39 wait_for_ack is called with clear=0, then go to sleep and return when ack
40 goes hi or if wait_for_ack with clear=1, then return when ack goes lo */
43 void (*remove
)(struct hecubafb_par
*);
44 void (*set_ctl
)(struct hecubafb_par
*, unsigned char, unsigned char);
45 void (*set_data
)(struct hecubafb_par
*, unsigned char);
46 void (*wait_for_ack
)(struct hecubafb_par
*, int);
47 int (*init
)(struct hecubafb_par
*);