Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/video/hecubafb.h
10814 views
1
/*
2
* hecubafb.h - definitions for the hecuba framebuffer driver
3
*
4
* Copyright (C) 2008 by Jaya Kumar
5
*
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
8
* more details.
9
*
10
*/
11
12
#ifndef _LINUX_HECUBAFB_H_
13
#define _LINUX_HECUBAFB_H_
14
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
21
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
28
29
/* struct used by hecuba. board specific stuff comes from *board */
30
struct hecubafb_par {
31
struct fb_info *info;
32
struct hecuba_board *board;
33
void (*send_command)(struct hecubafb_par *, unsigned char);
34
void (*send_data)(struct hecubafb_par *, unsigned char);
35
};
36
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 */
41
struct hecuba_board {
42
struct module *owner;
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 *);
48
};
49
50
51
#endif
52
53