OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [omapfb.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/*
2
 * File: include/linux/omapfb.h
3
 *
4
 * Framebuffer driver for TI OMAP boards
5
 *
6
 * Copyright (C) 2004 Nokia Corporation
7
 * Author: Imre Deak <imre.deak@nokia.com>
8
 *
9
 * This program is free software; you can redistribute it and/or modify it
10
 * under the terms of the GNU General Public License as published by the
11
 * Free Software Foundation; either version 2 of the License, or (at your
12
 * option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful, but
15
 * WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17
 * General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU General Public License along
20
 * with this program; if not, write to the Free Software Foundation, Inc.,
21
 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22
 */
23
 
24
#ifndef __LINUX_OMAPFB_H__
25
#define __LINUX_OMAPFB_H__
26
 
27
#include <linux/fb.h>
28
#include <linux/ioctl.h>
29
#include <linux/types.h>
30
 
31
/* IOCTL commands. */
32
 
33
#define OMAP_IOW(num, dtype)    _IOW('O', num, dtype)
34
#define OMAP_IOR(num, dtype)    _IOR('O', num, dtype)
35
#define OMAP_IOWR(num, dtype)   _IOWR('O', num, dtype)
36
#define OMAP_IO(num)            _IO('O', num)
37
 
38
#define OMAPFB_MIRROR           OMAP_IOW(31, int)
39
#define OMAPFB_SYNC_GFX         OMAP_IO(37)
40
#define OMAPFB_VSYNC            OMAP_IO(38)
41
#define OMAPFB_SET_UPDATE_MODE  OMAP_IOW(40, int)
42
#define OMAPFB_GET_CAPS         OMAP_IOR(42, struct omapfb_caps)
43
#define OMAPFB_GET_UPDATE_MODE  OMAP_IOW(43, int)
44
#define OMAPFB_LCD_TEST         OMAP_IOW(45, int)
45
#define OMAPFB_CTRL_TEST        OMAP_IOW(46, int)
46
#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old)
47
#define OMAPFB_SET_COLOR_KEY    OMAP_IOW(50, struct omapfb_color_key)
48
#define OMAPFB_GET_COLOR_KEY    OMAP_IOW(51, struct omapfb_color_key)
49
#define OMAPFB_SETUP_PLANE      OMAP_IOW(52, struct omapfb_plane_info)
50
#define OMAPFB_QUERY_PLANE      OMAP_IOW(53, struct omapfb_plane_info)
51
#define OMAPFB_UPDATE_WINDOW    OMAP_IOW(54, struct omapfb_update_window)
52
#define OMAPFB_SETUP_MEM        OMAP_IOW(55, struct omapfb_mem_info)
53
#define OMAPFB_QUERY_MEM        OMAP_IOW(56, struct omapfb_mem_info)
54
#define OMAPFB_WAITFORVSYNC     OMAP_IO(57)
55
#define OMAPFB_MEMORY_READ      OMAP_IOR(58, struct omapfb_memory_read)
56
#define OMAPFB_GET_OVERLAY_COLORMODE OMAP_IOR(59, struct omapfb_ovl_colormode)
57
#define OMAPFB_WAITFORGO        OMAP_IO(60)
58
#define OMAPFB_GET_VRAM_INFO    OMAP_IOR(61, struct omapfb_vram_info)
59
#define OMAPFB_SET_TEARSYNC     OMAP_IOW(62, struct omapfb_tearsync_info)
60
#define OMAPFB_GET_DISPLAY_INFO OMAP_IOR(63, struct omapfb_display_info)
61
 
62
#define OMAPFB_CAPS_GENERIC_MASK        0x00000fff
63
#define OMAPFB_CAPS_LCDC_MASK           0x00fff000
64
#define OMAPFB_CAPS_PANEL_MASK          0xff000000
65
 
66
#define OMAPFB_CAPS_MANUAL_UPDATE       0x00001000
67
#define OMAPFB_CAPS_TEARSYNC            0x00002000
68
#define OMAPFB_CAPS_PLANE_RELOCATE_MEM  0x00004000
69
#define OMAPFB_CAPS_PLANE_SCALE         0x00008000
70
#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000
71
#define OMAPFB_CAPS_WINDOW_SCALE        0x00020000
72
#define OMAPFB_CAPS_WINDOW_OVERLAY      0x00040000
73
#define OMAPFB_CAPS_WINDOW_ROTATE       0x00080000
74
#define OMAPFB_CAPS_SET_BACKLIGHT       0x01000000
75
 
76
/* Values from DSP must map to lower 16-bits */
77
#define OMAPFB_FORMAT_MASK              0x00ff
78
#define OMAPFB_FORMAT_FLAG_DOUBLE       0x0100
79
#define OMAPFB_FORMAT_FLAG_TEARSYNC     0x0200
80
#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC  0x0400
81
#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY       0x0800
82
#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY      0x1000
83
 
84
#define OMAPFB_MEMTYPE_SDRAM            0
85
#define OMAPFB_MEMTYPE_SRAM             1
86
#define OMAPFB_MEMTYPE_MAX              1
87
 
88
#define OMAPFB_MEM_IDX_ENABLED  0x80
89
#define OMAPFB_MEM_IDX_MASK     0x7f
90
 
91
enum omapfb_color_format {
92
        OMAPFB_COLOR_RGB565 = 0,
93
        OMAPFB_COLOR_YUV422,
94
        OMAPFB_COLOR_YUV420,
95
        OMAPFB_COLOR_CLUT_8BPP,
96
        OMAPFB_COLOR_CLUT_4BPP,
97
        OMAPFB_COLOR_CLUT_2BPP,
98
        OMAPFB_COLOR_CLUT_1BPP,
99
        OMAPFB_COLOR_RGB444,
100
        OMAPFB_COLOR_YUY422,
101
 
102
        OMAPFB_COLOR_ARGB16,
103
        OMAPFB_COLOR_RGB24U,    /* RGB24, 32-bit container */
104
        OMAPFB_COLOR_RGB24P,    /* RGB24, 24-bit container */
105
        OMAPFB_COLOR_ARGB32,
106
        OMAPFB_COLOR_RGBA32,
107
        OMAPFB_COLOR_RGBX32,
108
};
109
 
110
struct omapfb_update_window {
111
        __u32 x, y;
112
        __u32 width, height;
113
        __u32 format;
114
        __u32 out_x, out_y;
115
        __u32 out_width, out_height;
116
        __u32 reserved[8];
117
};
118
 
119
struct omapfb_update_window_old {
120
        __u32 x, y;
121
        __u32 width, height;
122
        __u32 format;
123
};
124
 
125
enum omapfb_plane {
126
        OMAPFB_PLANE_GFX = 0,
127
        OMAPFB_PLANE_VID1,
128
        OMAPFB_PLANE_VID2,
129
};
130
 
131
enum omapfb_channel_out {
132
        OMAPFB_CHANNEL_OUT_LCD = 0,
133
        OMAPFB_CHANNEL_OUT_DIGIT,
134
};
135
 
136
struct omapfb_plane_info {
137
        __u32 pos_x;
138
        __u32 pos_y;
139
        __u8  enabled;
140
        __u8  channel_out;
141
        __u8  mirror;
142
        __u8  mem_idx;
143
        __u32 out_width;
144
        __u32 out_height;
145
        __u32 reserved2[12];
146
};
147
 
148
struct omapfb_mem_info {
149
        __u32 size;
150
        __u8  type;
151
        __u8  reserved[3];
152
};
153
 
154
struct omapfb_caps {
155
        __u32 ctrl;
156
        __u32 plane_color;
157
        __u32 wnd_color;
158
};
159
 
160
enum omapfb_color_key_type {
161
        OMAPFB_COLOR_KEY_DISABLED = 0,
162
        OMAPFB_COLOR_KEY_GFX_DST,
163
        OMAPFB_COLOR_KEY_VID_SRC,
164
};
165
 
166
struct omapfb_color_key {
167
        __u8  channel_out;
168
        __u32 background;
169
        __u32 trans_key;
170
        __u8  key_type;
171
};
172
 
173
enum omapfb_update_mode {
174
        OMAPFB_UPDATE_DISABLED = 0,
175
        OMAPFB_AUTO_UPDATE,
176
        OMAPFB_MANUAL_UPDATE
177
};
178
 
179
struct omapfb_memory_read {
180
        __u16 x;
181
        __u16 y;
182
        __u16 w;
183
        __u16 h;
184
        size_t buffer_size;
185
        void *buffer;
186
};
187
 
188
struct omapfb_ovl_colormode {
189
        __u8 overlay_idx;
190
        __u8 mode_idx;
191
        __u32 bits_per_pixel;
192
        __u32 nonstd;
193
        struct fb_bitfield red;
194
        struct fb_bitfield green;
195
        struct fb_bitfield blue;
196
        struct fb_bitfield transp;
197
};
198
 
199
struct omapfb_vram_info {
200
        __u32 total;
201
        __u32 free;
202
        __u32 largest_free_block;
203
        __u32 reserved[5];
204
};
205
 
206
struct omapfb_tearsync_info {
207
        __u8 enabled;
208
        __u8 reserved1[3];
209
        __u16 line;
210
        __u16 reserved2;
211
};
212
 
213
struct omapfb_display_info {
214
        __u16 xres;
215
        __u16 yres;
216
        __u32 width;    /* phys width of the display in micrometers */
217
        __u32 height;   /* phys height of the display in micrometers */
218
        __u32 reserved[5];
219
};
220
 
221
 
222
#endif /* __LINUX_OMAPFB_H__ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.