• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
30 struct 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  * @num_gpios: number of gpios connected to panel
38  * @gpios: gpio numbers on the platform
39  * @gpio_invert: configure gpio as active high or low
40  */
41 struct panel_generic_dpi_data {
42 	const char *name;
43 	int (*platform_enable)(struct omap_dss_device *dssdev);
44 	void (*platform_disable)(struct omap_dss_device *dssdev);
45 
46 	int num_gpios;
47 	int gpios[10];
48 	bool gpio_invert[10];
49 };
50 
51 /**
52  * struct panel_n8x0_data - N800 panel driver configuration data
53  */
54 struct panel_n8x0_data {
55 	int (*platform_enable)(struct omap_dss_device *dssdev);
56 	void (*platform_disable)(struct omap_dss_device *dssdev);
57 	int panel_reset;
58 	int ctrl_pwrdown;
59 };
60 
61 /**
62  * struct nokia_dsi_panel_data - Nokia DSI panel driver configuration data
63  * @name: panel name
64  * @use_ext_te: use external TE
65  * @ext_te_gpio: external TE GPIO
66  * @esd_interval: interval of ESD checks, 0 = disabled (ms)
67  * @ulps_timeout: time to wait before entering ULPS, 0 = disabled (ms)
68  * @use_dsi_backlight: true if panel uses DSI command to control backlight
69  * @pin_config: DSI pin configuration
70  */
71 
72 struct nokia_dsi_panel_data {
73 	const char *name;
74 
75 	int reset_gpio;
76 
77 	bool use_ext_te;
78 	int ext_te_gpio;
79 
80 	unsigned esd_interval;
81 	unsigned ulps_timeout;
82 
83 	bool use_dsi_backlight;
84 
85 	struct omap_dsi_pin_config pin_config;
86 };
87 
88 /**
89  * struct picodlp_panel_data - picodlp panel driver configuration data
90  * @picodlp_adapter_id:	i2c_adapter number for picodlp
91  */
92 struct picodlp_panel_data {
93 	int picodlp_adapter_id;
94 	int emu_done_gpio;
95 	int pwrgood_gpio;
96 };
97 
98 /**
99  * struct tfp410_platform_data - tfp410 panel driver configuration data
100  * @i2c_bus_num: i2c bus id for the panel
101  * @power_down_gpio: gpio number for PD pin (or -1 if not available)
102  */
103 struct tfp410_platform_data {
104 	int i2c_bus_num;
105 	int power_down_gpio;
106 };
107 
108 /**
109  * sharp ls panel driver configuration data
110  * @resb_gpio: reset signal
111  * @ini_gpio: power on control
112  * @mo_gpio: selection for resolution(VGA/QVGA)
113  * @lr_gpio: selection for horizontal scanning direction
114  * @ud_gpio: selection for vertical scanning direction
115  */
116 struct panel_sharp_ls037v7dw01_data {
117 	int resb_gpio;
118 	int ini_gpio;
119 	int mo_gpio;
120 	int lr_gpio;
121 	int ud_gpio;
122 };
123 
124 /**
125  * acx565akm panel driver configuration data
126  * @reset_gpio: reset signal
127  */
128 struct panel_acx565akm_data {
129 	int reset_gpio;
130 };
131 
132 /**
133  * nec nl8048 panel driver configuration data
134  * @res_gpio: reset signal
135  * @qvga_gpio: selection for resolution(QVGA/WVGA)
136  */
137 struct panel_nec_nl8048_data {
138 	int res_gpio;
139 	int qvga_gpio;
140 };
141 
142 /**
143  * tpo td043 panel driver configuration data
144  * @nreset_gpio: reset signal
145  */
146 struct panel_tpo_td043_data {
147 	int nreset_gpio;
148 };
149 
150 #endif /* __OMAP_PANEL_DATA_H */
151