diff options
author | Jaya Kumar <jayakumar.lkml@gmail.com> | 2009-01-01 11:49:19 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-02-10 06:27:59 -0500 |
commit | 0d4ff4df341208b1b75e01feca27301c0dcbf490 (patch) | |
tree | 53cbfa3058c15e04ec1c7758ac4343cc06f06ed0 /include | |
parent | b4e411294a193e18c41912bc3df03f5b9cd7c823 (diff) |
[ARM] 5353/1: fbdev: add E-Ink Broadsheet controller support v3
This patch adds support for the E-Ink Broadsheet display controller.
Cc: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Jaya Kumar <jayakumar.lkml@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/video/broadsheetfb.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/include/video/broadsheetfb.h b/include/video/broadsheetfb.h new file mode 100644 index 000000000000..a758534c0272 --- /dev/null +++ b/include/video/broadsheetfb.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* | ||
2 | * broadsheetfb.h - definitions for the broadsheet 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_BROADSHEETFB_H_ | ||
13 | #define _LINUX_BROADSHEETFB_H_ | ||
14 | |||
15 | /* Broadsheet command defines */ | ||
16 | #define BS_CMD_INIT_SYS_RUN 0x06 | ||
17 | #define BS_CMD_INIT_DSPE_CFG 0x09 | ||
18 | #define BS_CMD_INIT_DSPE_TMG 0x0A | ||
19 | #define BS_CMD_INIT_ROTMODE 0x0B | ||
20 | #define BS_CMD_RD_REG 0x10 | ||
21 | #define BS_CMD_WR_REG 0x11 | ||
22 | #define BS_CMD_LD_IMG 0x20 | ||
23 | #define BS_CMD_LD_IMG_AREA 0x22 | ||
24 | #define BS_CMD_LD_IMG_END 0x23 | ||
25 | #define BS_CMD_WAIT_DSPE_TRG 0x28 | ||
26 | #define BS_CMD_WAIT_DSPE_FREND 0x29 | ||
27 | #define BS_CMD_RD_WFM_INFO 0x30 | ||
28 | #define BS_CMD_UPD_INIT 0x32 | ||
29 | #define BS_CMD_UPD_FULL 0x33 | ||
30 | #define BS_CMD_UPD_GDRV_CLR 0x37 | ||
31 | |||
32 | /* Broadsheet pin interface specific defines */ | ||
33 | #define BS_CS 0x01 | ||
34 | #define BS_DC 0x02 | ||
35 | #define BS_WR 0x03 | ||
36 | |||
37 | /* struct used by broadsheet. board specific stuff comes from *board */ | ||
38 | struct broadsheetfb_par { | ||
39 | struct fb_info *info; | ||
40 | struct broadsheet_board *board; | ||
41 | void (*write_reg)(struct broadsheetfb_par *, u16 reg, u16 val); | ||
42 | u16 (*read_reg)(struct broadsheetfb_par *, u16 reg); | ||
43 | wait_queue_head_t waitq; | ||
44 | }; | ||
45 | |||
46 | /* board specific routines */ | ||
47 | struct broadsheet_board { | ||
48 | struct module *owner; | ||
49 | int (*init)(struct broadsheetfb_par *); | ||
50 | int (*wait_for_rdy)(struct broadsheetfb_par *); | ||
51 | void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8); | ||
52 | void (*set_hdb)(struct broadsheetfb_par *, u16); | ||
53 | u16 (*get_hdb)(struct broadsheetfb_par *); | ||
54 | void (*cleanup)(struct broadsheetfb_par *); | ||
55 | int (*get_panel_type)(void); | ||
56 | int (*setup_irq)(struct fb_info *); | ||
57 | }; | ||
58 | |||
59 | #endif | ||