1 #ifndef __PLATFORM_DATA_VIDEO_S3C
2 #define __PLATFORM_DATA_VIDEO_S3C
3 
4 /* S3C_FB_MAX_WIN
5  * Set to the maximum number of windows that any of the supported hardware
6  * can use. Since the platform data uses this for an array size, having it
7  * set to the maximum of any version of the hardware can do is safe.
8  */
9 #define S3C_FB_MAX_WIN	(5)
10 
11 /**
12  * struct s3c_fb_pd_win - per window setup data
13  * @xres     : The window X size.
14  * @yres     : The window Y size.
15  * @virtual_x: The virtual X size.
16  * @virtual_y: The virtual Y size.
17  */
18 struct s3c_fb_pd_win {
19 	unsigned short		default_bpp;
20 	unsigned short		max_bpp;
21 	unsigned short		xres;
22 	unsigned short		yres;
23 	unsigned short		virtual_x;
24 	unsigned short		virtual_y;
25 };
26 
27 /**
28  * struct s3c_fb_platdata -  S3C driver platform specific information
29  * @setup_gpio: Setup the external GPIO pins to the right state to transfer
30  *		the data from the display system to the connected display
31  *		device.
32  * @vidcon0: The base vidcon0 values to control the panel data format.
33  * @vidcon1: The base vidcon1 values to control the panel data output.
34  * @vtiming: Video timing when connected to a RGB type panel.
35  * @win: The setup data for each hardware window, or NULL for unused.
36  * @display_mode: The LCD output display mode.
37  *
38  * The platform data supplies the video driver with all the information
39  * it requires to work with the display(s) attached to the machine. It
40  * controls the initial mode, the number of display windows (0 is always
41  * the base framebuffer) that are initialised etc.
42  *
43  */
44 struct s3c_fb_platdata {
45 	void	(*setup_gpio)(void);
46 
47 	struct s3c_fb_pd_win	*win[S3C_FB_MAX_WIN];
48 	struct fb_videomode     *vtiming;
49 
50 	u32			 vidcon0;
51 	u32			 vidcon1;
52 };
53 
54 #endif
55