diff options
author | Jaya Kumar <jayakumar.lkml@gmail.com> | 2008-04-28 05:15:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:41 -0400 |
commit | 0e27aa3dabb541edee9f23b37114856a528de01e (patch) | |
tree | 5516f7e6445f0bd95a1e4bbca2c3c678643b28a4 /include | |
parent | 2422fbba0684ddf08898ec2f3cf23cb16a54b3f5 (diff) |
fbdev: platforming hecubafb and n411
This patch splits hecubafb into the platform independent hecubafb and the
platform dependent n411.
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/video/hecubafb.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/video/hecubafb.h b/include/video/hecubafb.h new file mode 100644 index 000000000000..7b9952339762 --- /dev/null +++ b/include/video/hecubafb.h | |||
@@ -0,0 +1,51 @@ | |||
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 | ||