1 /*
2  * Copyright@ Samsung Electronics Co. LTD
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef _S3CFB_LCD_
18 #define _S3CFB_LCD_
19 
20 /*
21  * S T R U C T U R E S  F O R  C U S T O M  I O C T L S
22  *
23 */
24 struct s3cfb_user_window {
25     int x;
26     int y;
27 };
28 
29 struct s3cfb_user_plane_alpha {
30     int             channel;
31     unsigned char   red;
32     unsigned char   green;
33     unsigned char   blue;
34 };
35 
36 struct s3cfb_user_chroma {
37     int             enabled;
38     unsigned char   red;
39     unsigned char   green;
40     unsigned char   blue;
41 };
42 
43 typedef struct {
44     unsigned int phy_start_addr;
45     unsigned int xres;      /* visible resolution*/
46     unsigned int yres;
47     unsigned int xres_virtual;  /* virtual resolution*/
48     unsigned int yres_virtual;
49     unsigned int xoffset;   /* offset from virtual to visible */
50     unsigned int yoffset;   /* resolution   */
51     unsigned int lcd_offset_x;
52     unsigned int lcd_offset_y;
53 } s3c_fb_next_info_t;
54 
55 struct s3c_fb_user_ion_client {
56     int fd;
57     int offset;
58 };
59 
60 /*
61  * C U S T O M  I O C T L S
62  *
63 */
64 
65 #define S3CFB_WIN_POSITION          _IOW ('F', 203, struct s3cfb_user_window)
66 #define S3CFB_WIN_SET_PLANE_ALPHA   _IOW ('F', 204, struct s3cfb_user_plane_alpha)
67 #define S3CFB_WIN_SET_CHROMA        _IOW ('F', 205, struct s3cfb_user_chroma)
68 #define S3CFB_SET_VSYNC_INT         _IOW ('F', 206, unsigned int)
69 #define S3CFB_SET_SUSPEND_FIFO      _IOW ('F', 300, unsigned long)
70 #define S3CFB_SET_RESUME_FIFO       _IOW ('F', 301, unsigned long)
71 #define S3CFB_GET_LCD_WIDTH         _IOR ('F', 302, int)
72 #define S3CFB_GET_LCD_HEIGHT        _IOR ('F', 303, int)
73 #define S3CFB_GET_FB_PHY_ADDR       _IOR ('F', 310, unsigned int)
74 #define S3C_FB_GET_CURR_FB_INFO     _IOR ('F', 305, s3c_fb_next_info_t)
75 #define S3CFB_GET_ION_USER_HANDLE   _IOWR('F', 208, struct s3c_fb_user_ion_client)
76 
77 /***************** LCD frame buffer *****************/
78 #define FB0_NAME    "/dev/fb0"
79 #define FB1_NAME    "/dev/fb1"
80 #define FB2_NAME    "/dev/fb2"
81 #define FB3_NAME    "/dev/fb3"
82 #define FB4_NAME    "/dev/fb4"
83 
84 #endif
85