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