OMAPDSS: panels: keep platform data of all panels in a single header
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / video / omap-panel-data.h
CommitLineData
a0d8dde9
AT
1/*
2 * Header containing platform_data structs for omap panels
3 *
4 * Copyright (C) 2013 Texas Instruments
5 * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
6 * Archit Taneja <archit@ti.com>
7 *
8 * Copyright (C) 2011 Texas Instruments
9 * Author: Mayuresh Janorkar <mayur@ti.com>
10 *
11 * Copyright (C) 2010 Canonical Ltd.
12 * Author: Bryan Wu <bryan.wu@canonical.com>
13 *
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.
17 *
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.
22 *
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/>.
25 */
26
27#ifndef __OMAP_PANEL_DATA_H
28#define __OMAP_PANEL_DATA_H
29
30struct omap_dss_device;
31
32/**
33 * struct panel_generic_dpi_data - panel driver configuration data
34 * @name: panel name
35 * @platform_enable: platform specific panel enable function
36 * @platform_disable: platform specific panel disable function
37 */
38struct panel_generic_dpi_data {
39 const char *name;
40 int (*platform_enable)(struct omap_dss_device *dssdev);
41 void (*platform_disable)(struct omap_dss_device *dssdev);
42};
43
44/**
45 * struct panel_n8x0_data - N800 panel driver configuration data
46 */
47struct panel_n8x0_data {
48 int (*platform_enable)(struct omap_dss_device *dssdev);
49 void (*platform_disable)(struct omap_dss_device *dssdev);
50 int panel_reset;
51 int ctrl_pwrdown;
52
53 int (*set_backlight)(struct omap_dss_device *dssdev, int level);
54};
55
56/**
57 * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
58 * @name: panel name
59 * @use_ext_te: use external TE
60 * @ext_te_gpio: external TE GPIO
61 * @esd_interval: interval of ESD checks, 0 = disabled (ms)
62 * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms)
63 * @use_dsi_backlight: true if panel uses DSI command to control backlight
64 * @pin_config: DSI pin configuration
65 */
66
67struct nokia_dsi_panel_data {
68 const char *name;
69
70 int reset_gpio;
71
72 bool use_ext_te;
73 int ext_te_gpio;
74
75 unsigned esd_interval;
76 unsigned ulps_timeout;
77
78 bool use_dsi_backlight;
79
80 struct omap_dsi_pin_config pin_config;
81};
82
83/**
84 * struct picodlp_panel_data - picodlp panel driver configuration data
85 * @picodlp_adapter_id: i2c_adapter number for picodlp
86 */
87struct picodlp_panel_data {
88 int picodlp_adapter_id;
89 int emu_done_gpio;
90 int pwrgood_gpio;
91};
92
93/**
94 * struct tfp410_platform_data - tfp410 panel driver configuration data
95 * @i2c_bus_num: i2c bus id for the panel
96 * @power_down_gpio: gpio number for PD pin (or -1 if not available)
97 */
98struct tfp410_platform_data {
99 int i2c_bus_num;
100 int power_down_gpio;
101};
102
103#endif /* __OMAP_PANEL_DATA_H */