Commit | Line | Data |
---|---|---|
8f995cc3 BD |
1 | /* linux/arch/arm/plat-s3c/include/plat/fb.h |
2 | * | |
3 | * Copyright 2008 Openmoko, Inc. | |
4 | * Copyright 2008 Simtec Electronics | |
5 | * http://armlinux.simtec.co.uk/ | |
6 | * Ben Dooks <ben@simtec.co.uk> | |
7 | * | |
8 | * S3C - FB platform data definitions | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify | |
11 | * it under the terms of the GNU General Public License version 2 as | |
12 | * published by the Free Software Foundation. | |
13 | */ | |
14 | ||
15 | #ifndef __PLAT_S3C_FB_H | |
16 | #define __PLAT_S3C_FB_H __FILE__ | |
17 | ||
18 | /** | |
19 | * struct s3c_fb_pd_win - per window setup data | |
20 | * @win_mode: The display parameters to initialise (not for window 0) | |
21 | * @virtual_x: The virtual X size. | |
22 | * @virtual_y: The virtual Y size. | |
23 | */ | |
24 | struct s3c_fb_pd_win { | |
25 | struct fb_videomode win_mode; | |
26 | ||
27 | unsigned short default_bpp; | |
28 | unsigned short max_bpp; | |
29 | unsigned short virtual_x; | |
30 | unsigned short virtual_y; | |
31 | }; | |
32 | ||
33 | /** | |
34 | * struct s3c_fb_platdata - S3C driver platform specific information | |
35 | * @setup_gpio: Setup the external GPIO pins to the right state to transfer | |
36 | * the data from the display system to the connected display | |
37 | * device. | |
38 | * @vidcon0: The base vidcon0 values to control the panel data format. | |
39 | * @vidcon1: The base vidcon1 values to control the panel data output. | |
40 | * @win: The setup data for each hardware window, or NULL for unused. | |
41 | * @display_mode: The LCD output display mode. | |
42 | * | |
43 | * The platform data supplies the video driver with all the information | |
44 | * it requires to work with the display(s) attached to the machine. It | |
45 | * controls the initial mode, the number of display windows (0 is always | |
46 | * the base framebuffer) that are initialised etc. | |
47 | * | |
48 | */ | |
49 | struct s3c_fb_platdata { | |
50 | void (*setup_gpio)(void); | |
51 | ||
52 | struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN]; | |
53 | ||
54 | u32 vidcon0; | |
55 | u32 vidcon1; | |
56 | }; | |
57 | ||
58 | /** | |
59 | * s3c_fb_set_platdata() - Setup the FB device with platform data. | |
60 | * @pd: The platform data to set. The data is copied from the passed structure | |
61 | * so the machine data can mark the data __initdata so that any unused | |
62 | * machines will end up dumping their data at runtime. | |
63 | */ | |
64 | extern void s3c_fb_set_platdata(struct s3c_fb_platdata *pd); | |
65 | ||
66 | /** | |
67 | * s3c64xx_fb_gpio_setup_24bpp() - S3C64XX setup function for 24bpp LCD | |
68 | * | |
69 | * Initialise the GPIO for an 24bpp LCD display on the RGB interface. | |
70 | */ | |
71 | extern void s3c64xx_fb_gpio_setup_24bpp(void); | |
72 | ||
edd6e3f8 PO |
73 | /** |
74 | * s5pc100_fb_gpio_setup_24bpp() - S5PC100 setup function for 24bpp LCD | |
75 | * | |
76 | * Initialise the GPIO for an 24bpp LCD display on the RGB interface. | |
77 | */ | |
78 | extern void s5pc100_fb_gpio_setup_24bpp(void); | |
79 | ||
8f995cc3 | 80 | #endif /* __PLAT_S3C_FB_H */ |