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
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
;
36 * struct panel_generic_dpi_data - panel driver configuration data
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
{
46 int (*platform_enable
)(struct omap_dss_device
*dssdev
);
47 void (*platform_disable
)(struct omap_dss_device
*dssdev
);
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
);
65 * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
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
{
83 unsigned esd_interval
;
84 unsigned ulps_timeout
;
86 bool use_dsi_backlight
;
88 struct omap_dsi_pin_config pin_config
;
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
;
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
{
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
{
128 * acx565akm panel driver configuration data
129 * @reset_gpio: reset signal
131 struct panel_acx565akm_data
{
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
{
146 * tpo td043 panel driver configuration data
147 * @nreset_gpio: reset signal
149 struct panel_tpo_td043_data
{
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
{
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
{
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
{
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
{
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
{
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
{
234 const struct display_timing
*display_timing
;
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
{
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
{
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
{
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
{
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
{
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
{
359 #endif /* __OMAP_PANEL_DATA_H */