Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penber...
[linux-2.6.git] / include / video / omap-panel-data.h
blob6b2366fb6e530a75a8106f0211b1ca410ad0431a
1 /*
2 * Header containing platform_data structs for omap panels
4 * Copyright (C) 2013 Texas Instruments
5 * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
6 * Archit Taneja <archit@ti.com>
8 * Copyright (C) 2011 Texas Instruments
9 * Author: Mayuresh Janorkar <mayur@ti.com>
11 * Copyright (C) 2010 Canonical Ltd.
12 * Author: Bryan Wu <bryan.wu@canonical.com>
14 * This program is free software; you can redistribute it and/or modify it
15 * under the terms of the GNU General Public License version 2 as published by
16 * the Free Software Foundation.
18 * This program is distributed in the hope that it will be useful, but WITHOUT
19 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
21 * more details.
23 * You should have received a copy of the GNU General Public License along with
24 * this program. If not, see <http://www.gnu.org/licenses/>.
27 #ifndef __OMAP_PANEL_DATA_H
28 #define __OMAP_PANEL_DATA_H
30 #include <video/omapdss.h>
31 #include <video/display_timing.h>
33 struct omap_dss_device;
35 /**
36 * struct panel_generic_dpi_data - panel driver configuration data
37 * @name: panel name
38 * @platform_enable: platform specific panel enable function
39 * @platform_disable: platform specific panel disable function
40 * @num_gpios: number of gpios connected to panel
41 * @gpios: gpio numbers on the platform
42 * @gpio_invert: configure gpio as active high or low
44 struct panel_generic_dpi_data {
45 const char *name;
46 int (*platform_enable)(struct omap_dss_device *dssdev);
47 void (*platform_disable)(struct omap_dss_device *dssdev);
49 int num_gpios;
50 int gpios[10];
51 bool gpio_invert[10];
54 /**
55 * struct panel_n8x0_data - N800 panel driver configuration data
57 struct panel_n8x0_data {
58 int (*platform_enable)(struct omap_dss_device *dssdev);
59 void (*platform_disable)(struct omap_dss_device *dssdev);
60 int panel_reset;
61 int ctrl_pwrdown;
64 /**
65 * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
66 * @name: panel name
67 * @use_ext_te: use external TE
68 * @ext_te_gpio: external TE GPIO
69 * @esd_interval: interval of ESD checks, 0 = disabled (ms)
70 * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms)
71 * @use_dsi_backlight: true if panel uses DSI command to control backlight
72 * @pin_config: DSI pin configuration
75 struct nokia_dsi_panel_data {
76 const char *name;
78 int reset_gpio;
80 bool use_ext_te;
81 int ext_te_gpio;
83 unsigned esd_interval;
84 unsigned ulps_timeout;
86 bool use_dsi_backlight;
88 struct omap_dsi_pin_config pin_config;
91 /**
92 * struct picodlp_panel_data - picodlp panel driver configuration data
93 * @picodlp_adapter_id: i2c_adapter number for picodlp
95 struct picodlp_panel_data {
96 int picodlp_adapter_id;
97 int emu_done_gpio;
98 int pwrgood_gpio;
102 * struct tfp410_platform_data - tfp410 panel driver configuration data
103 * @i2c_bus_num: i2c bus id for the panel
104 * @power_down_gpio: gpio number for PD pin (or -1 if not available)
106 struct tfp410_platform_data {
107 int i2c_bus_num;
108 int power_down_gpio;
112 * sharp ls panel driver configuration data
113 * @resb_gpio: reset signal
114 * @ini_gpio: power on control
115 * @mo_gpio: selection for resolution(VGA/QVGA)
116 * @lr_gpio: selection for horizontal scanning direction
117 * @ud_gpio: selection for vertical scanning direction
119 struct panel_sharp_ls037v7dw01_data {
120 int resb_gpio;
121 int ini_gpio;
122 int mo_gpio;
123 int lr_gpio;
124 int ud_gpio;
128 * acx565akm panel driver configuration data
129 * @reset_gpio: reset signal
131 struct panel_acx565akm_data {
132 int reset_gpio;
136 * nec nl8048 panel driver configuration data
137 * @res_gpio: reset signal
138 * @qvga_gpio: selection for resolution(QVGA/WVGA)
140 struct panel_nec_nl8048_data {
141 int res_gpio;
142 int qvga_gpio;
146 * tpo td043 panel driver configuration data
147 * @nreset_gpio: reset signal
149 struct panel_tpo_td043_data {
150 int nreset_gpio;
154 * encoder_tfp410 platform data
155 * @name: name for this display entity
156 * @power_down_gpio: gpio number for PD pin (or -1 if not available)
157 * @data_lines: number of DPI datalines
159 struct encoder_tfp410_platform_data {
160 const char *name;
161 const char *source;
162 int power_down_gpio;
163 int data_lines;
167 * encoder_tpd12s015 platform data
168 * @name: name for this display entity
169 * @ct_cp_hpd_gpio: CT_CP_HPD gpio number
170 * @ls_oe_gpio: LS_OE gpio number
171 * @hpd_gpio: HPD gpio number
173 struct encoder_tpd12s015_platform_data {
174 const char *name;
175 const char *source;
177 int ct_cp_hpd_gpio;
178 int ls_oe_gpio;
179 int hpd_gpio;
183 * connector_dvi platform data
184 * @name: name for this display entity
185 * @source: name of the display entity used as a video source
186 * @i2c_bus_num: i2c bus number to be used for reading EDID
188 struct connector_dvi_platform_data {
189 const char *name;
190 const char *source;
191 int i2c_bus_num;
195 * connector_hdmi platform data
196 * @name: name for this display entity
197 * @source: name of the display entity used as a video source
199 struct connector_hdmi_platform_data {
200 const char *name;
201 const char *source;
205 * connector_atv platform data
206 * @name: name for this display entity
207 * @source: name of the display entity used as a video source
208 * @connector_type: composite/svideo
209 * @invert_polarity: invert signal polarity
211 struct connector_atv_platform_data {
212 const char *name;
213 const char *source;
215 enum omap_dss_venc_type connector_type;
216 bool invert_polarity;
220 * panel_dpi platform data
221 * @name: name for this display entity
222 * @source: name of the display entity used as a video source
223 * @data_lines: number of DPI datalines
224 * @display_timing: timings for this panel
225 * @backlight_gpio: gpio to enable/disable the backlight (or -1)
226 * @enable_gpio: gpio to enable/disable the panel (or -1)
228 struct panel_dpi_platform_data {
229 const char *name;
230 const char *source;
232 int data_lines;
234 const struct display_timing *display_timing;
236 int backlight_gpio;
237 int enable_gpio;
241 * panel_dsicm platform data
242 * @name: name for this display entity
243 * @source: name of the display entity used as a video source
244 * @reset_gpio: gpio to reset the panel (or -1)
245 * @use_ext_te: use external TE GPIO
246 * @ext_te_gpio: external TE GPIO
247 * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms)
248 * @use_dsi_backlight: true if panel uses DSI command to control backlight
249 * @pin_config: DSI pin configuration
251 struct panel_dsicm_platform_data {
252 const char *name;
253 const char *source;
255 int reset_gpio;
257 bool use_ext_te;
258 int ext_te_gpio;
260 unsigned ulps_timeout;
262 bool use_dsi_backlight;
264 struct omap_dsi_pin_config pin_config;
268 * panel_acx565akm platform data
269 * @name: name for this display entity
270 * @source: name of the display entity used as a video source
271 * @reset_gpio: gpio to reset the panel (or -1)
272 * @datapairs: number of SDI datapairs
274 struct panel_acx565akm_platform_data {
275 const char *name;
276 const char *source;
278 int reset_gpio;
280 int datapairs;
284 * panel_lb035q02 platform data
285 * @name: name for this display entity
286 * @source: name of the display entity used as a video source
287 * @data_lines: number of DPI datalines
288 * @backlight_gpio: gpio to enable/disable the backlight (or -1)
289 * @enable_gpio: gpio to enable/disable the panel (or -1)
291 struct panel_lb035q02_platform_data {
292 const char *name;
293 const char *source;
295 int data_lines;
297 int backlight_gpio;
298 int enable_gpio;
302 * panel_sharp_ls037v7dw01 platform data
303 * @name: name for this display entity
304 * @source: name of the display entity used as a video source
305 * @data_lines: number of DPI datalines
306 * @resb_gpio: reset signal GPIO
307 * @ini_gpio: power on control GPIO
308 * @mo_gpio: selection for resolution(VGA/QVGA) GPIO
309 * @lr_gpio: selection for horizontal scanning direction GPIO
310 * @ud_gpio: selection for vertical scanning direction GPIO
312 struct panel_sharp_ls037v7dw01_platform_data {
313 const char *name;
314 const char *source;
316 int data_lines;
318 int resb_gpio;
319 int ini_gpio;
320 int mo_gpio;
321 int lr_gpio;
322 int ud_gpio;
326 * panel-tpo-td043mtea1 platform data
327 * @name: name for this display entity
328 * @source: name of the display entity used as a video source
329 * @data_lines: number of DPI datalines
330 * @nreset_gpio: reset signal
332 struct panel_tpo_td043mtea1_platform_data {
333 const char *name;
334 const char *source;
336 int data_lines;
338 int nreset_gpio;
342 * panel-nec-nl8048hl11 platform data
343 * @name: name for this display entity
344 * @source: name of the display entity used as a video source
345 * @data_lines: number of DPI datalines
346 * @res_gpio: reset signal
347 * @qvga_gpio: selection for resolution(QVGA/WVGA)
349 struct panel_nec_nl8048hl11_platform_data {
350 const char *name;
351 const char *source;
353 int data_lines;
355 int res_gpio;
356 int qvga_gpio;
359 #endif /* __OMAP_PANEL_DATA_H */