Root/
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 register interface defines */ |
33 | #define BS_REG_REV 0x00 |
34 | #define BS_REG_PRC 0x02 |
35 | |
36 | /* Broadsheet pin interface specific defines */ |
37 | #define BS_CS 0x01 |
38 | #define BS_DC 0x02 |
39 | #define BS_WR 0x03 |
40 | |
41 | /* Broadsheet IO interface specific defines */ |
42 | #define BS_MMIO_CMD 0x01 |
43 | #define BS_MMIO_DATA 0x02 |
44 | |
45 | /* struct used by broadsheet. board specific stuff comes from *board */ |
46 | struct broadsheetfb_par { |
47 | struct fb_info *info; |
48 | struct broadsheet_board *board; |
49 | void (*write_reg)(struct broadsheetfb_par *, u16 reg, u16 val); |
50 | u16 (*read_reg)(struct broadsheetfb_par *, u16 reg); |
51 | wait_queue_head_t waitq; |
52 | int panel_index; |
53 | struct mutex io_lock; |
54 | }; |
55 | |
56 | /* board specific routines */ |
57 | struct broadsheet_board { |
58 | struct module *owner; |
59 | int (*init)(struct broadsheetfb_par *); |
60 | int (*wait_for_rdy)(struct broadsheetfb_par *); |
61 | void (*cleanup)(struct broadsheetfb_par *); |
62 | int (*get_panel_type)(void); |
63 | int (*setup_irq)(struct fb_info *); |
64 | |
65 | /* Functions for boards that use GPIO */ |
66 | void (*set_ctl)(struct broadsheetfb_par *, unsigned char, u8); |
67 | void (*set_hdb)(struct broadsheetfb_par *, u16); |
68 | u16 (*get_hdb)(struct broadsheetfb_par *); |
69 | |
70 | /* Functions for boards that have specialized MMIO */ |
71 | void (*mmio_write)(struct broadsheetfb_par *, int type, u16); |
72 | u16 (*mmio_read)(struct broadsheetfb_par *); |
73 | }; |
74 | #endif |
75 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9