]>
Commit | Line | Data |
---|---|---|
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 | ||
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 | |
c3f80cbc TV |
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 | |
a0d8dde9 AT |
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); | |
c3f80cbc TV |
45 | |
46 | int num_gpios; | |
47 | int gpios[10]; | |
48 | bool gpio_invert[10]; | |
a0d8dde9 AT |
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; | |
a0d8dde9 AT |
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 | ||
c3f80cbc TV |
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 | ||
2773fefb TV |
150 | /** |
151 | * encoder_tfp410 platform data | |
152 | * @name: name for this display entity | |
153 | * @power_down_gpio: gpio number for PD pin (or -1 if not available) | |
154 | * @data_lines: number of DPI datalines | |
155 | */ | |
156 | struct encoder_tfp410_platform_data { | |
157 | const char *name; | |
158 | const char *source; | |
159 | int power_down_gpio; | |
160 | int data_lines; | |
161 | }; | |
162 | ||
a0ee577f TV |
163 | /** |
164 | * encoder_tpd12s015 platform data | |
165 | * @name: name for this display entity | |
166 | * @ct_cp_hpd_gpio: CT_CP_HPD gpio number | |
167 | * @ls_oe_gpio: LS_OE gpio number | |
168 | * @hpd_gpio: HPD gpio number | |
169 | */ | |
170 | struct encoder_tpd12s015_platform_data { | |
171 | const char *name; | |
172 | const char *source; | |
173 | ||
174 | int ct_cp_hpd_gpio; | |
175 | int ls_oe_gpio; | |
176 | int hpd_gpio; | |
177 | }; | |
178 | ||
348077b1 TV |
179 | /** |
180 | * connector_dvi platform data | |
181 | * @name: name for this display entity | |
182 | * @source: name of the display entity used as a video source | |
183 | * @i2c_bus_num: i2c bus number to be used for reading EDID | |
184 | */ | |
185 | struct connector_dvi_platform_data { | |
186 | const char *name; | |
187 | const char *source; | |
188 | int i2c_bus_num; | |
189 | }; | |
190 | ||
3cb07ee6 TV |
191 | /** |
192 | * connector_hdmi platform data | |
193 | * @name: name for this display entity | |
194 | * @source: name of the display entity used as a video source | |
195 | */ | |
196 | struct connector_hdmi_platform_data { | |
197 | const char *name; | |
198 | const char *source; | |
199 | }; | |
200 | ||
61a7f24a TV |
201 | /** |
202 | * connector_atv platform data | |
203 | * @name: name for this display entity | |
204 | * @source: name of the display entity used as a video source | |
205 | * @connector_type: composite/svideo | |
206 | * @invert_polarity: invert signal polarity | |
207 | */ | |
208 | struct connector_atv_platform_data { | |
209 | const char *name; | |
210 | const char *source; | |
211 | ||
212 | enum omap_dss_venc_type connector_type; | |
213 | bool invert_polarity; | |
214 | }; | |
215 | ||
a0d8dde9 | 216 | #endif /* __OMAP_PANEL_DATA_H */ |