import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / lcm / mt65xx_lcm_list.c
CommitLineData
6fa3eb70
S
1#include <lcm_drv.h>
2#ifdef BUILD_LK
3#include <platform/disp_drv_platform.h>
4#else
5#include <linux/delay.h>
6#include <mach/mt_gpio.h>
7#endif
8#include <cust_gpio_usage.h>
9//used to identify float ID PIN status
10#define LCD_HW_ID_STATUS_LOW 0
11#define LCD_HW_ID_STATUS_HIGH 1
12#define LCD_HW_ID_STATUS_FLOAT 0x02
13#define LCD_HW_ID_STATUS_ERROR 0x03
14
15#ifdef BUILD_LK
16#define LCD_DEBUG(fmt) dprintf(CRITICAL,fmt)
17#else
18#define LCD_DEBUG(fmt) printk(fmt)
19#endif
20extern LCM_DRIVER otm1282a_hd720_dsi_vdo_60hz_lcm_drv;
21extern LCM_DRIVER otm1282a_hd720_dsi_vdo_lcm_drv;
22extern LCM_DRIVER vvx10f008b00_wuxga_dsi_vdo_lcm_drv;
23extern LCM_DRIVER r63319_wqhd_dsi_vdo_truly_lcm_drv;
24extern LCM_DRIVER nt35598_wqhd_dsi_vdo_truly_lcm_drv;
25extern LCM_DRIVER lp079x01_lcm_drv;
26extern LCM_DRIVER hx8369_lcm_drv;
27extern LCM_DRIVER hx8369_6575_lcm_drv;
28extern LCM_DRIVER hx8363_6575_dsi_lcm_drv;
29extern LCM_DRIVER hx8363_6575_dsi_hvga_lcm_drv;
30extern LCM_DRIVER hx8363_6575_dsi_qvga_lcm_drv;
31extern LCM_DRIVER hx8363b_wvga_dsi_cmd_drv;
32extern LCM_DRIVER bm8578_lcm_drv;
33extern LCM_DRIVER nt35582_mcu_lcm_drv;
34extern LCM_DRIVER nt35582_mcu_6575_lcm_drv;
35extern LCM_DRIVER nt35582_rgb_6575_lcm_drv;
36extern LCM_DRIVER hx8357b_lcm_drv;
37extern LCM_DRIVER hx8357c_hvga_dsi_cmd_drv;
38extern LCM_DRIVER hx8369_dsi_lcm_drv;
39extern LCM_DRIVER hx8369_dsi_6575_lcm_drv;
40extern LCM_DRIVER hx8369_dsi_6575_hvga_lcm_drv;
41extern LCM_DRIVER hx8369_dsi_6575_qvga_lcm_drv;
42extern LCM_DRIVER hx8369_dsi_vdo_lcm_drv;
43extern LCM_DRIVER hx8369b_dsi_vdo_lcm_drv;
44extern LCM_DRIVER hx8369b_wvga_dsi_vdo_drv;
45extern LCM_DRIVER hx8389b_qhd_dsi_vdo_drv;
46extern LCM_DRIVER hx8369_hvga_lcm_drv;
47extern LCM_DRIVER ili9481_lcm_drv;
48extern LCM_DRIVER nt35582_lcm_drv;
49extern LCM_DRIVER s6d0170_lcm_drv;
50extern LCM_DRIVER spfd5461a_lcm_drv;
51extern LCM_DRIVER ta7601_lcm_drv;
52extern LCM_DRIVER tft1p3037_lcm_drv;
53extern LCM_DRIVER ha5266_lcm_drv;
54extern LCM_DRIVER hsd070idw1_lcm_drv;
55extern LCM_DRIVER lg4571_lcm_drv;
56extern LCM_DRIVER lg4573b_wvga_dsi_vdo_lh430mv1_drv;
57extern LCM_DRIVER lvds_wsvga_lcm_drv;
58extern LCM_DRIVER lvds_wsvga_ti_lcm_drv;
59extern LCM_DRIVER lvds_wsvga_ti_n_lcm_drv;
60extern LCM_DRIVER nt35565_3d_lcm_drv;
61extern LCM_DRIVER tm070ddh03_lcm_drv;
62extern LCM_DRIVER r61408_lcm_drv;
63extern LCM_DRIVER r61408_wvga_dsi_cmd_drv;
64extern LCM_DRIVER nt35510_lcm_drv;
65extern LCM_DRIVER nt35510_dpi_lcm_drv;
66extern LCM_DRIVER nt35510_hvga_lcm_drv;
67extern LCM_DRIVER nt35510_qvga_lcm_drv;
68extern LCM_DRIVER nt35510_wvga_dsi_cmd_drv;
69extern LCM_DRIVER nt35510_6517_lcm_drv;
70extern LCM_DRIVER nt35510_dsi_cmd_6572_drv;
71extern LCM_DRIVER nt35510_dsi_cmd_6572_hvga_drv;
72extern LCM_DRIVER nt35510_dsi_cmd_6572_fwvga_drv;
73extern LCM_DRIVER nt35510_dsi_cmd_6572_qvga_drv;
74extern LCM_DRIVER nt35510_dsi_vdo_6572_drv;
75extern LCM_DRIVER nt35510_dpi_6572_lcm_drv;
76extern LCM_DRIVER nt35510_mcu_6572_lcm_drv;
77extern LCM_DRIVER nt51012_hd720_dsi_vdo_lcm_drv;
78extern LCM_DRIVER r63303_idisplay_lcm_drv;
79extern LCM_DRIVER hj080ia_lcm_drv;
80extern LCM_DRIVER hj101na02a_lcm_drv;
81extern LCM_DRIVER hj101na02a_8135_lcm_drv;
82extern LCM_DRIVER hsd070pfw3_lcm_drv;
83extern LCM_DRIVER hsd070pfw3_8135_lcm_drv;
84extern LCM_DRIVER cm_n070ice_dsi_vdo_lcm_drv;
85extern LCM_DRIVER ej101ia_lcm_drv;
86extern LCM_DRIVER scf0700m48ggu02_lcm_drv;
87extern LCM_DRIVER nt35510_fwvga_lcm_drv;
88#if defined(GN_SSD2825_SMD_S6E8AA)
89extern LCM_DRIVER gn_ssd2825_smd_s6e8aa;
90#endif
91extern LCM_DRIVER nt35517_dsi_vdo_lcm_drv;
92extern LCM_DRIVER hx8369_dsi_bld_lcm_drv;
93extern LCM_DRIVER hx8369_dsi_tm_lcm_drv;
94extern LCM_DRIVER otm1280a_hd720_dsi_cmd_drv;
95extern LCM_DRIVER otm8018b_dsi_vdo_lcm_drv;
96extern LCM_DRIVER otm8018b_dsi_vdo_txd_fwvga_lcm_drv;
97extern LCM_DRIVER nt35512_dsi_vdo_lcm_drv;
98extern LCM_DRIVER nt35512_wvga_dsi_vdo_boe_drv;
99extern LCM_DRIVER hx8369_rgb_6585_fpga_lcm_drv;
100extern LCM_DRIVER hx8369_rgb_6572_fpga_lcm_drv;
101extern LCM_DRIVER hx8369_mcu_6572_lcm_drv;
102extern LCM_DRIVER hx8369a_wvga_dsi_cmd_drv;
103extern LCM_DRIVER hx8369a_wvga_dsi_vdo_drv;
104extern LCM_DRIVER hx8392a_dsi_cmd_lcm_drv;
105extern LCM_DRIVER hx8392a_dsi_vdo_lcm_drv;
106extern LCM_DRIVER nt35590_hd720_dsi_vdo_truly_lcm_drv;
107extern LCM_DRIVER ssd2075_hd720_dsi_vdo_truly_lcm_drv;
108extern LCM_DRIVER nt35590_hd720_dsi_cmd_drv;
109extern LCM_DRIVER nt35590_hd720_dsi_cmd_auo_lcm_drv;
110extern LCM_DRIVER nt35590_hd720_dsi_cmd_auo_fwvga_lcm_drv;
111extern LCM_DRIVER nt35590_hd720_dsi_cmd_auo_wvga_lcm_drv;
112extern LCM_DRIVER nt35590_hd720_dsi_cmd_auo_qhd_lcm_drv;
113extern LCM_DRIVER nt35590_hd720_dsi_cmd_cmi_lcm_drv;
114extern LCM_DRIVER nt35516_qhd_dsi_cmd_ipsboe_lcm_drv;
115extern LCM_DRIVER nt35516_qhd_dsi_cmd_ipsboe_wvga_lcm_drv;
116extern LCM_DRIVER nt35516_qhd_dsi_cmd_ipsboe_fwvga_lcm_drv;
117extern LCM_DRIVER nt35516_qhd_dsi_cmd_ips9k1431_drv;
118extern LCM_DRIVER nt35516_qhd_dsi_cmd_tft9k1342_drv;
119extern LCM_DRIVER bp070ws1_lcm_drv;
120extern LCM_DRIVER bp101wx1_lcm_drv;
121extern LCM_DRIVER bp101wx1_n_lcm_drv;
122extern LCM_DRIVER nt35516_qhd_rav4_lcm_drv;
123extern LCM_DRIVER r63311_fhd_dsi_vdo_sharp_lcm_drv;
124extern LCM_DRIVER r81592_hvga_dsi_cmd_drv;
125extern LCM_DRIVER rm68190_dsi_vdo_lcm_drv;
126extern LCM_DRIVER nt35596_fhd_dsi_vdo_truly_lcm_drv;
127extern LCM_DRIVER nt35595_fhd_dsi_vdo_truly_lcm_drv;
128extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_lcm_drv;
129extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_tps65132_lcm_drv;
130extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_nt50358_lcm_drv;
131extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_nt50358_720p_lcm_drv;
132extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_nt50358_qhd_lcm_drv;
133extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_nt50358_fwvga_lcm_drv;
134extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_nt50358_wvga_lcm_drv;
135extern LCM_DRIVER nt35595_fhd_dsi_cmd_truly_tps65132_720p_lcm_drv;
136extern LCM_DRIVER nt35596_fhd_dsi_vdo_yassy_lcm_drv;
137extern LCM_DRIVER nt35596_hd720_dsi_vdo_truly_tps65132_lcm_drv;
138extern LCM_DRIVER nt35590_hd720_dsi_cmd_truly2_lcm_drv;
139extern LCM_DRIVER otm9608_wvga_dsi_cmd_drv;
140extern LCM_DRIVER nt35510_dbi_18bit_gionee_lcm_drv;
141extern LCM_DRIVER otm8009a_fwvga_dsi_cmd_tianma_lcm_drv;
142extern LCM_DRIVER otm8009a_fwvga_dsi_vdo_tianma_lcm_drv;
143extern LCM_DRIVER hx8389b_qhd_dsi_vdo_tianma_lcm_drv;
144extern LCM_DRIVER cm_otc3108bhv161_dsi_vdo_lcm_drv;
145extern LCM_DRIVER auo_b079xat02_dsi_vdo_lcm_drv;
146extern LCM_DRIVER hx8389b_qhd_dsi_vdo_tianma055xdhp_lcm_drv;
147extern LCM_DRIVER cpt_claa101fp01_dsi_vdo_lcm_drv;
148extern LCM_DRIVER h070d_18dm_lcm_drv;
149extern LCM_DRIVER hx8394a_hd720_dsi_vdo_tianma_lcm_drv;
150extern LCM_DRIVER cpt_clap070wp03xg_sn65dsi83_lcm_drv;
151extern LCM_DRIVER nt35520_hd720_tm_lcm_drv;
152extern LCM_DRIVER nt35520_hd720_boe_lcm_drv;
153extern LCM_DRIVER nt35521_hd720_dsi_vdo_boe_lcm_drv;
154extern LCM_DRIVER nt35521_hd720_tm_lcm_drv;
155extern LCM_DRIVER r69429_wuxga_dsi_vdo_lcm_drv;
156extern LCM_DRIVER r69429_wuxga_dsi_cmd_lcm_drv;
157extern LCM_DRIVER rm68210_hd720_dsi_ufoe_cmd_lcm_drv;
158extern LCM_DRIVER r63311_fhd_dsi_vedio_lcm_drv;
159extern LCM_DRIVER otm1283a_6589_hd_dsi;
160extern LCM_DRIVER hx8394a_hd720_dsi_vdo_tianma_v2_lcm_drv;
161extern LCM_DRIVER cpt_clap070wp03xg_lvds_lcm_drv;
162extern LCM_DRIVER otm8018b_dsi_vdo_lcsh72_lcm_drv;
163extern LCM_DRIVER hx8369_dsi_cmd_6571_lcm_drv;
164extern LCM_DRIVER hx8369_dsi_vdo_6571_lcm_drv;
165extern LCM_DRIVER hx8369_dbi_6571_lcm_drv;
166extern LCM_DRIVER hx8369_dpi_6571_lcm_drv;
167extern LCM_DRIVER nt35510_dsi_cmd_6571_lcm_drv;
168extern LCM_DRIVER nt35510_dsi_cmd_6571_hvga_lcm_drv;
169extern LCM_DRIVER nt35510_dsi_cmd_6571_qvga_lcm_drv;
170extern LCM_DRIVER nt35510_dsi_vdo_6571_lcm_drv;
171extern LCM_DRIVER nt35510_dbi_6571_lcm_drv;
172extern LCM_DRIVER nt35510_dpi_6571_lcm_drv;
173extern LCM_DRIVER nt35590_dsi_cmd_6571_fwvga_lcm_drv;
174extern LCM_DRIVER nt35590_dsi_cmd_6571_qhd_lcm_drv;
175extern LCM_DRIVER it6151_edp_dsi_video_sharp_lcm_drv;
176extern LCM_DRIVER nt35517_qhd_dsi_vdo_lcm_drv;
177extern LCM_DRIVER otm1283a_hd720_dsi_vdo_tm_lcm_drv;
178extern LCM_DRIVER hx8389b_qhd_dsi_vdo_lgd_lcm_drv;
179extern LCM_DRIVER it6151_fhd_edp_dsi_video_auo_lcm_drv;
180extern LCM_DRIVER tf070mc_rgb_v18_mt6571_lcm_drv;
181extern LCM_DRIVER zs070ih5015b3h6_mt6571_lcm_drv;
182extern LCM_DRIVER a080ean01_dsi_vdo_lcm_drv;
183extern LCM_DRIVER it6121_g156xw01v1_lvds_vdo_lcm_drv;
184extern LCM_DRIVER cpt_clap070wp03xg_lvds_lcm_drv;
185extern LCM_DRIVER r63315_fhd_dsi_vdo_truly_lcm_drv;
186extern LCM_DRIVER it6151_lp079qx1_edp_dsi_video_lcm_drv;
187extern LCM_DRIVER RX_498HX_615B_lcm_drv;
188extern LCM_DRIVER RX_498HX_615B_82_lcm_drv;
189extern LCM_DRIVER ili9806c_dsi_vdo_djn_fwvga_lcm_drv;
190extern LCM_DRIVER hx8389b_hd720_dsi_vdo_drv;
191extern LCM_DRIVER r69338_hd720_dsi_vdo_jdi_drv;
192extern LCM_DRIVER db7436_dsi_vdo_fwvga_drv;
193extern LCM_DRIVER r63419_wqhd_truly_phantom_lcm_drv;
194extern LCM_DRIVER r63419_fhd_truly_phantom_lcm_drv;
195extern LCM_DRIVER r63423_wqhd_truly_phantom_lcm_drv;
196extern LCM_DRIVER kr101ia2s_dsi_vdo_lcm_drv;
197extern LCM_DRIVER r69338_hd720_dsi_vdo_jdi_dw8755a_drv;
198extern LCM_DRIVER otm9605a_qhd_dsi_vdo_drv;
199extern LCM_DRIVER ili9806e_dsi_vdo_fwvga_drv;
200extern LCM_DRIVER kr076_ek79007_wsvga_dsi_vdo_lcm_drv;
201extern LCM_DRIVER rm72013_wxga_dsi_vdo_lcm_drv;
202extern LCM_DRIVER ota7291_wxga_dsi_vdo_lcm_drv;
203
204LCM_DRIVER* lcm_driver_list[] =
205{
206#if defined(KR076_EK79007_WSVGA_DSI_VDO)
207 &kr076_ek79007_wsvga_dsi_vdo_lcm_drv,
208#endif
209//[BUGFIX]-Mod-BEGIN by SCDTABLET.jinghuang@tcl.com,02/4/2015,
210//add ek79007 lcd for KD.
211#if defined(KR076_STARRY_EK79007_WSVGA_DSI_VDO)
212 &kr076_ek79007_wsvga_dsi_vdo_lcm_drv,
213#endif
214//[BUGFIX]-Mod-END by SCDTABLET.jinghuang@tcl.com
215#if defined(OTM1283A_HD720_DSI_VDO_TM)
216 &otm1283a_hd720_dsi_vdo_tm_lcm_drv,
217#endif
218#if defined(IT6151_LP079QX1_EDP_DSI_VIDEO)
219 &it6151_lp079qx1_edp_dsi_video_lcm_drv,
220#endif
221
222#if defined(VVX10F008B00_WUXGA_DSI_VDO)
223 &vvx10f008b00_wuxga_dsi_vdo_lcm_drv,
224#endif
225
226#if defined(KR101IA2S_DSI_VDO)
227 &kr101ia2s_dsi_vdo_lcm_drv,
228#endif
229
230#if defined(HX8394A_HD720_DSI_VDO_TIANMA_V2)
231 &hx8394a_hd720_dsi_vdo_tianma_v2_lcm_drv,
232#endif
233#if defined(OTM1283A)
234 &otm1283a_6589_hd_dsi,
235#endif
236#if defined(OTM1282A_HD720_DSI_VDO_60HZ)
237 &otm1282a_hd720_dsi_vdo_60hz_lcm_drv,
238#endif
239#if defined(OTM8018B_DSI_VDO_TXD_FWVGA)
240 &otm8018b_dsi_vdo_txd_fwvga_lcm_drv,
241#endif
242
243#if defined(TF070MC_RGB_V18_MT6571)
244 &tf070mc_rgb_v18_mt6571_lcm_drv,
245#endif
246
247#if defined(ZS070IH5015B3H6_RGB_MT6571)
248 &zs070ih5015b3h6_mt6571_lcm_drv,
249#endif
250
251#if defined(OTM1282A_HD720_DSI_VDO)
252 &otm1282a_hd720_dsi_vdo_lcm_drv,
253#endif
254
255#if defined(R63311_FHD_DSI_VDO)
256 &r63311_fhd_dsi_vedio_lcm_drv,
257#endif
258
259#if defined(R63315_FHD_DSI_VDO_TRULY)
260 &r63315_fhd_dsi_vdo_truly_lcm_drv,
261#endif
262
263#if defined(NT35517_QHD_DSI_VDO)
264 &nt35517_dsi_vdo_lcm_drv,
265#endif
266
267#if defined(ILI9806E_DSI_VDO_FWVGA)
268 &ili9806e_dsi_vdo_fwvga_drv,
269#endif
270
271#if defined(LP079X01)
272 &lp079x01_lcm_drv,
273#endif
274
275#if defined(HX8369)
276 &hx8369_lcm_drv,
277#endif
278
279#if defined(HX8369_6575)
280 &hx8369_6575_lcm_drv,
281#endif
282
283#if defined(BM8578)
284 &bm8578_lcm_drv,
285#endif
286
287#if defined(NT35582_MCU)
288 &nt35582_mcu_lcm_drv,
289#endif
290
291#if defined(NT35582_MCU_6575)
292 &nt35582_mcu_6575_lcm_drv,
293#endif
294
295#if defined(NT35590_HD720_DSI_CMD_TRULY2)
296 &nt35590_hd720_dsi_cmd_truly2_lcm_drv,
297#endif
298
299#if defined(NT35590_HD720_DSI_VDO_TRULY)
300 &nt35590_hd720_dsi_vdo_truly_lcm_drv,
301#endif
302
303#if defined(SSD2075_HD720_DSI_VDO_TRULY)
304 &ssd2075_hd720_dsi_vdo_truly_lcm_drv,
305#endif
306
307#if defined(NT35590_HD720_DSI_CMD)
308 &nt35590_hd720_dsi_cmd_drv,
309#endif
310
311#if defined(NT35590_HD720_DSI_CMD_AUO)
312 &nt35590_hd720_dsi_cmd_auo_lcm_drv,
313#endif
314
315#if defined(NT35590_HD720_DSI_CMD_AUO_WVGA)
316 &nt35590_hd720_dsi_cmd_auo_wvga_lcm_drv,
317#endif
318
319#if defined(NT35590_HD720_DSI_CMD_AUO_QHD)
320 &nt35590_hd720_dsi_cmd_auo_qhd_lcm_drv,
321#endif
322
323#if defined(NT35590_HD720_DSI_CMD_AUO_FWVGA)
324 &nt35590_hd720_dsi_cmd_auo_fwvga_lcm_drv,
325#endif
326
327#if defined(NT35590_HD720_DSI_CMD_CMI)
328 &nt35590_hd720_dsi_cmd_cmi_lcm_drv,
329#endif
330
331#if defined(NT35582_RGB_6575)
332 &nt35582_rgb_6575_lcm_drv,
333#endif
334
335#if defined(NT51012_HD720_DSI_VDO)
336 &nt51012_hd720_dsi_vdo_lcm_drv,
337#endif
338
339#if defined(HX8369_RGB_6585_FPGA)
340 &hx8369_rgb_6585_fpga_lcm_drv,
341#endif
342
343#if defined(HX8369_RGB_6572_FPGA)
344 &hx8369_rgb_6572_fpga_lcm_drv,
345#endif
346
347#if defined(HX8369_MCU_6572)
348 &hx8369_mcu_6572_lcm_drv,
349#endif
350
351#if defined(HX8369A_WVGA_DSI_CMD)
352 &hx8369a_wvga_dsi_cmd_drv,
353#endif
354
355#if defined(HX8369A_WVGA_DSI_VDO)
356 &hx8369a_wvga_dsi_vdo_drv,
357#endif
358
359#if defined(HX8357B)
360 &hx8357b_lcm_drv,
361#endif
362
363#if defined(HX8357C_HVGA_DSI_CMD)
364 &hx8357c_hvga_dsi_cmd_drv,
365#endif
366
367#if defined(R61408)
368 &r61408_lcm_drv,
369#endif
370
371#if defined(R61408_WVGA_DSI_CMD)
372 &r61408_wvga_dsi_cmd_drv,
373#endif
374
375#if defined(HX8369_DSI_VDO)
376 &hx8369_dsi_vdo_lcm_drv,
377#endif
378
379#if defined(HX8369_DSI)
380 &hx8369_dsi_lcm_drv,
381#endif
382
383#if defined(HX8369_6575_DSI)
384 &hx8369_dsi_6575_lcm_drv,
385#endif
386
387#if defined(HX8369_6575_DSI_NFC_ZTE)
388 &hx8369_dsi_6575_lcm_drv,
389#endif
390
391#if defined(HX8369_6575_DSI_HVGA)
392 &hx8369_dsi_6575_hvga_lcm_drv,
393#endif
394
395#if defined(HX8369_6575_DSI_QVGA)
396 &hx8369_dsi_6575_qvga_lcm_drv,
397#endif
398
399#if defined(HX8369_HVGA)
400 &hx8369_hvga_lcm_drv,
401#endif
402
403#if defined(NT35510)
404 &nt35510_lcm_drv,
405#endif
406
407#if defined(NT35510_RGB_6575)
408 &nt35510_dpi_lcm_drv,
409#endif
410
411#if defined(NT35510_HVGA)
412 &nt35510_hvga_lcm_drv,
413#endif
414
415#if defined(NT35510_QVGA)
416 &nt35510_qvga_lcm_drv,
417#endif
418
419#if defined(NT35510_WVGA_DSI_CMD)
420 &nt35510_wvga_dsi_cmd_drv,
421#endif
422
423#if defined(NT35510_6517)
424 &nt35510_6517_lcm_drv,
425#endif
426
427#if defined(NT35510_DSI_CMD_6572)
428 &nt35510_dsi_cmd_6572_drv,
429#endif
430
431#if defined(NT35510_DSI_CMD_6572_HVGA)
432 &nt35510_dsi_cmd_6572_hvga_drv,
433#endif
434
435#if defined(NT35510_DSI_CMD_6572_FWVGA)
436 &nt35510_dsi_cmd_6572_fwvga_drv,
437#endif
438
439#if defined(NT35510_DSI_CMD_6572_QVGA)
440 &nt35510_dsi_cmd_6572_qvga_drv,
441#endif
442
443#if defined(NT35510_DSI_VDO_6572)
444 &nt35510_dsi_vdo_6572_drv,
445#endif
446
447#if defined(NT35510_DPI_6572)
448 &nt35510_dpi_6572_lcm_drv,
449#endif
450
451#if defined(NT35510_MCU_6572)
452 &nt35510_mcu_6572_lcm_drv,
453#endif
454
455#if defined(ILI9481)
456 &ili9481_lcm_drv,
457#endif
458
459#if defined(NT35582)
460 &nt35582_lcm_drv,
461#endif
462
463#if defined(S6D0170)
464 &s6d0170_lcm_drv,
465#endif
466
467#if defined(SPFD5461A)
468 &spfd5461a_lcm_drv,
469#endif
470
471#if defined(TA7601)
472 &ta7601_lcm_drv,
473#endif
474
475#if defined(TFT1P3037)
476 &tft1p3037_lcm_drv,
477#endif
478
479#if defined(HA5266)
480 &ha5266_lcm_drv,
481#endif
482
483#if defined(HSD070IDW1)
484 &hsd070idw1_lcm_drv,
485#endif
486
487#if defined(HX8363_6575_DSI)
488 &hx8363_6575_dsi_lcm_drv,
489#endif
490
491#if defined(HX8363_6575_DSI_HVGA)
492 &hx8363_6575_dsi_hvga_lcm_drv,
493#endif
494
495#if defined(HX8363B_WVGA_DSI_CMD)
496 &hx8363b_wvga_dsi_cmd_drv,
497#endif
498
499#if defined(LG4571)
500 &lg4571_lcm_drv,
501#endif
502
503#if defined(LG4573B_WVGA_DSI_VDO_LH430MV1)
504 &lg4573b_wvga_dsi_vdo_lh430mv1_drv,
505#endif
506
507#if defined(LVDS_WSVGA)
508 &lvds_wsvga_lcm_drv,
509#endif
510
511#if defined(LVDS_WSVGA_TI)
512 &lvds_wsvga_ti_lcm_drv,
513#endif
514
515#if defined(LVDS_WSVGA_TI_N)
516 &lvds_wsvga_ti_n_lcm_drv,
517#endif
518
519#if defined(NT35565_3D)
520 &nt35565_3d_lcm_drv,
521#endif
522
523#if defined(TM070DDH03)
524 &tm070ddh03_lcm_drv,
525#endif
526#if defined(R63303_IDISPLAY)
527 &r63303_idisplay_lcm_drv,
528#endif
529
530#if defined(HX8369B_DSI_VDO)
531 &hx8369b_dsi_vdo_lcm_drv,
532#endif
533
534#if defined(HX8369B_WVGA_DSI_VDO)
535 &hx8369b_wvga_dsi_vdo_drv,
536#endif
537
538#if defined(HX8369B_QHD_DSI_VDO)
539 &hx8389b_qhd_dsi_vdo_drv,
540#endif
541
542#if defined(HX8389B_HD720_DSI_VDO)
543 &hx8389b_hd720_dsi_vdo_drv,
544#endif
545
546#if defined(GN_SSD2825_SMD_S6E8AA)
547 &gn_ssd2825_smd_s6e8aa,
548#endif
549#if defined(HX8369_TM_DSI)
550 &hx8369_dsi_tm_lcm_drv,
551#endif
552
553#if defined(HX8369_BLD_DSI)
554 &hx8369_dsi_bld_lcm_drv,
555#endif
556
557#if defined(HJ080IA)
558 &hj080ia_lcm_drv,
559#endif
560
561#if defined(HJ101NA02A)
562 &hj101na02a_lcm_drv,
563#endif
564
565#if defined(HJ101NA02A_8135)
566 &hj101na02a_8135_lcm_drv,
567#endif
568
569#if defined(HSD070PFW3)
570 &hsd070pfw3_lcm_drv,
571#endif
572
573#if defined(HSD070PFW3_8135)
574 &hsd070pfw3_8135_lcm_drv,
575#endif
576
577#if defined(EJ101IA)
578 &ej101ia_lcm_drv,
579#endif
580
581#if defined(SCF0700M48GGU02)
582 &scf0700m48ggu02_lcm_drv,
583#endif
584
585#if defined(OTM1280A_HD720_DSI_CMD)
586 &otm1280a_hd720_dsi_cmd_drv,
587#endif
588
589#if defined(OTM8018B_DSI_VDO)
590 &otm8018b_dsi_vdo_lcm_drv,
591#endif
592
593#if defined(NT35512_DSI_VDO)
594 &nt35512_dsi_vdo_lcm_drv,
595#endif
596
597#if defined(NT35512_WVGA_DSI_VDO_BOE)
598 &nt35512_wvga_dsi_vdo_boe_drv,
599#endif
600
601#if defined(HX8392A_DSI_CMD)
602 &hx8392a_dsi_cmd_lcm_drv,
603#endif
604
605#if defined(HX8392A_DSI_VDO)
606 &hx8392a_dsi_vdo_lcm_drv,
607#endif
608
609#if defined(NT35516_QHD_DSI_CMD_IPSBOE)
610 &nt35516_qhd_dsi_cmd_ipsboe_lcm_drv,
611#endif
612
613#if defined(NT35516_QHD_DSI_CMD_IPSBOE_WVGA)
614 &nt35516_qhd_dsi_cmd_ipsboe_wvga_lcm_drv,
615#endif
616
617#if defined(NT35516_QHD_DSI_CMD_IPSBOE_FWVGA)
618 &nt35516_qhd_dsi_cmd_ipsboe_fwvga_lcm_drv,
619#endif
620
621#if defined(NT35516_QHD_DSI_CMD_IPS9K1431)
622 &nt35516_qhd_dsi_cmd_ips9k1431_drv,
623#endif
624
625#if defined(NT35516_QHD_DSI_CMD_TFT9K1342)
626 &nt35516_qhd_dsi_cmd_tft9k1342_drv,
627#endif
628
629#if defined(NT35516_QHD_DSI_VEDIO)
630 &nt35516_qhd_rav4_lcm_drv,
631#endif
632
633#if defined(BP070WS1)
634 &bp070ws1_lcm_drv,
635#endif
636
637#if defined(BP101WX1)
638 &bp101wx1_lcm_drv,
639#endif
640
641#if defined(BP101WX1_N)
642 &bp101wx1_n_lcm_drv,
643#endif
644
645#if defined(CM_N070ICE_DSI_VDO)
646 &cm_n070ice_dsi_vdo_lcm_drv,
647#endif
648
649#if defined(CM_N070ICE_DSI_VDO_MT8135)
650 &cm_n070ice_dsi_vdo_mt8135_lcm_drv,
651#endif
652
653#if defined(CM_OTC3108BH161_DSI_VDO)
654 &cm_otc3108bhv161_dsi_vdo_lcm_drv,
655#endif
656#if defined(NT35510_FWVGA)
657 &nt35510_fwvga_lcm_drv,
658#endif
659
660#if defined(R63311_FHD_DSI_VDO_SHARP)
661 &r63311_fhd_dsi_vdo_sharp_lcm_drv,
662#endif
663
664#if defined(R81592_HVGA_DSI_CMD)
665 &r81592_hvga_dsi_cmd_drv,
666#endif
667
668#if defined(RM68190_QHD_DSI_VDO)
669 &rm68190_dsi_vdo_lcm_drv,
670#endif
671
672#if defined(NT35596_FHD_DSI_VDO_TRULY)
673 &nt35596_fhd_dsi_vdo_truly_lcm_drv,
674#endif
675
676#if defined(NT35595_FHD_DSI_VDO_TRULY)
677 &nt35595_fhd_dsi_vdo_truly_lcm_drv,
678#endif
679
680#if defined(R63319_WQHD_DSI_VDO_TRULY)
681 &r63319_wqhd_dsi_vdo_truly_lcm_drv,
682#endif
683
684
685#if defined(NT35598_WQHD_DSI_VDO_TRULY)
686 &nt35598_wqhd_dsi_vdo_truly_lcm_drv,
687#endif
688
689#if defined(NT35595_FHD_DSI_CMD_TRULY_TPS65132)
690 &nt35595_fhd_dsi_cmd_truly_tps65132_lcm_drv,
691#endif
692
693#if defined(NT35595_FHD_DSI_CMD_TRULY_TPS65132_720P)
694 &nt35595_fhd_dsi_cmd_truly_tps65132_720p_lcm_drv,
695#endif
696
697#if defined(NT35595_FHD_DSI_CMD_TRULY)
698 &nt35595_fhd_dsi_cmd_truly_lcm_drv,
699#endif
700
701#if defined(NT35595_FHD_DSI_CMD_TRULY_NT50358)
702 &nt35595_fhd_dsi_cmd_truly_nt50358_lcm_drv,
703#endif
704
705#if defined(NT35595_FHD_DSI_CMD_TRULY_NT50358_720P)
706 &nt35595_fhd_dsi_cmd_truly_nt50358_720p_lcm_drv,
707#endif
708
709#if defined(NT35595_FHD_DSI_CMD_TRULY_NT50358_QHD)
710 &nt35595_fhd_dsi_cmd_truly_nt50358_qhd_lcm_drv,
711#endif
712
713#if defined(NT35595_FHD_DSI_CMD_TRULY_NT50358_FWVGA)
714 &nt35595_fhd_dsi_cmd_truly_nt50358_fwvga_lcm_drv,
715#endif
716
717#if defined(NT35595_FHD_DSI_CMD_TRULY_NT50358_WVGA)
718 &nt35595_fhd_dsi_cmd_truly_nt50358_wvga_lcm_drv,
719#endif
720
721#if defined(NT35596_FHD_DSI_VDO_YASSY)
722 &nt35596_fhd_dsi_vdo_yassy_lcm_drv,
723#endif
724
725#if defined(NT35596_HD720_DSI_VDO_TRULY_TPS65132)
726 &nt35596_hd720_dsi_vdo_truly_tps65132_lcm_drv,
727#endif
728
729#if defined(AUO_B079XAT02_DSI_VDO)
730 &auo_b079xat02_dsi_vdo_lcm_drv,
731#endif
732#if defined(OTM9608_WVGA_DSI_CMD)
733 &otm9608_wvga_dsi_cmd_drv,
734#endif
735
736#if defined(NT35510_DBI_18BIT_GIONEE)
737 &nt35510_dbi_18bit_gionee_lcm_drv,
738#endif
739
740#if defined(OTM8009A_FWVGA_DSI_CMD_TIANMA)
741 &otm8009a_fwvga_dsi_cmd_tianma_lcm_drv,
742#endif
743
744#if defined(OTM8009A_FWVGA_DSI_VDO_TIANMA)
745 &otm8009a_fwvga_dsi_vdo_tianma_lcm_drv,
746#endif
747
748#if defined(HX8389B_QHD_DSI_VDO_TIANMA)
749 &hx8389b_qhd_dsi_vdo_tianma_lcm_drv,
750#endif
751#if defined(HX8389B_QHD_DSI_VDO_TIANMA055XDHP)
752 &hx8389b_qhd_dsi_vdo_tianma055xdhp_lcm_drv,
753#endif
754
755#if defined(CPT_CLAA101FP01_DSI_VDO)
756 &cpt_claa101fp01_dsi_vdo_lcm_drv,
757#endif
758
759#if defined(IT6151_EDP_DSI_VIDEO_SHARP)
760 &it6151_edp_dsi_video_sharp_lcm_drv,
761#endif
762
763#if defined(CPT_CLAP070WP03XG_SN65DSI83)
764 &cpt_clap070wp03xg_sn65dsi83_lcm_drv,
765#endif
766#if defined(NT35520_HD720_DSI_CMD_TM)
767 &nt35520_hd720_tm_lcm_drv,
768#endif
769#if defined(NT35520_HD720_DSI_CMD_BOE)
770 &nt35520_hd720_boe_lcm_drv,
771#endif
772#if defined(NT35521_HD720_DSI_VDO_BOE)
773 &nt35521_hd720_dsi_vdo_boe_lcm_drv,
774#endif
775#if defined(NT35521_HD720_DSI_VIDEO_TM)
776 &nt35521_hd720_tm_lcm_drv,
777#endif
778#if defined(R69338_HD720_DSI_VDO_JDI_DW8755A)
779 &r69338_hd720_dsi_vdo_jdi_dw8755a_drv,
780#endif
781#if defined(H070D_18DM)
782 &h070d_18dm_lcm_drv,
783#endif
784#if defined(R69429_WUXGA_DSI_VDO)
785 &r69429_wuxga_dsi_vdo_lcm_drv,
786#endif
787
788
789#if defined(HX8394A_HD720_DSI_VDO_TIANMA)
790 &hx8394a_hd720_dsi_vdo_tianma_lcm_drv,
791#endif
792
793#if defined(R69429_WUXGA_DSI_CMD)
794 &r69429_wuxga_dsi_cmd_lcm_drv,
795#endif
796
797#if defined(RM68210_HD720_DSI_UFOE_CMD)
798 &rm68210_hd720_dsi_ufoe_cmd_lcm_drv,
799#endif
800
801#if defined(CPT_CLAP070WP03XG_LVDS)
802 &cpt_clap070wp03xg_lvds_lcm_drv,
803#endif
804
805#if defined(OTM8018B_DSI_VDO_LCSH72)
806 &otm8018b_dsi_vdo_lcsh72_lcm_drv,
807#endif
808
809#if defined(HX8369_DSI_CMD_6571)
810 &hx8369_dsi_cmd_6571_lcm_drv,
811#endif
812
813#if defined(HX8369_DSI_VDO_6571)
814 &hx8369_dsi_vdo_6571_lcm_drv,
815#endif
816
817#if defined(RX_498HX_615B_82)
818 &RX_498HX_615B_82_lcm_drv,
819#endif
820
821#if defined(HX8369_DBI_6571)
822 &hx8369_dbi_6571_lcm_drv,
823#endif
824#if defined(RX_498HX_615B)
825 &RX_498HX_615B_lcm_drv,
826#endif
827
828#if defined(HX8369_DPI_6571)
829 &hx8369_dpi_6571_lcm_drv,
830#endif
831
832#if defined(HX8389B_QHD_DSI_VDO_LGD)
833 &hx8389b_qhd_dsi_vdo_lgd_lcm_drv,
834#endif
835
836#if defined(NT35510_DSI_CMD_6571)
837 &nt35510_dsi_cmd_6571_lcm_drv,
838#endif
839
840#if defined(NT35510_DSI_CMD_6571_HVGA)
841 &nt35510_dsi_cmd_6571_hvga_lcm_drv,
842#endif
843
844#if defined(NT35510_DSI_CMD_6571_QVGA)
845 &nt35510_dsi_cmd_6571_qvga_lcm_drv,
846#endif
847
848#if defined(NT35510_DSI_VDO_6571)
849 &nt35510_dsi_vdo_6571_lcm_drv,
850#endif
851
852#if defined(NT35510_DBI_6571)
853 &nt35510_dbi_6571_lcm_drv,
854#endif
855
856#if defined(NT35510_DPI_6571)
857 &nt35510_dpi_6571_lcm_drv,
858#endif
859
860#if defined(NT35590_DSI_CMD_6571_FWVGA)
861 &nt35590_dsi_cmd_6571_fwvga_lcm_drv,
862#endif
863
864#if defined(NT35590_DSI_CMD_6571_QHD)
865 &nt35590_dsi_cmd_6571_qhd_lcm_drv,
866#endif
867
868#if defined(NT35517_QHD_DSI_VIDEO)
869 &nt35517_qhd_dsi_vdo_lcm_drv,
870#endif
871
872#if defined(IT6151_FHD_EDP_DSI_VIDEO_AUO)
873 &it6151_fhd_edp_dsi_video_auo_lcm_drv,
874#endif
875
876#if defined(IT6121_G156XW01V1_LVDS_VDO)
877 &it6121_g156xw01v1_lvds_vdo_lcm_drv,
878#endif
879
880#if defined(ILI9806C_DSI_VDO_DJN_FWVGA)
881 &ili9806c_dsi_vdo_djn_fwvga_lcm_drv,
882#endif
883
884#if defined(R69338_HD720_DSI_VDO_JDI)
885 &r69338_hd720_dsi_vdo_jdi_drv,
886#endif
887
888#if defined(DB7436_DSI_VDO_FWVGA)
889 &db7436_dsi_vdo_fwvga_drv,
890#endif
891
892#if defined(R63419_WQHD_TRULY_PHANTOM_2K_CMD_OK)
893 &r63419_wqhd_truly_phantom_lcm_drv,
894#endif
895
896#if defined(R63419_FHD_TRULY_PHANTOM_2K_CMD_OK)
897 &r63419_fhd_truly_phantom_lcm_drv,
898#endif
899
900#if defined(R63423_WQHD_TRULY_PHANTOM_2K_CMD_OK)
901 &r63423_wqhd_truly_phantom_lcm_drv,
902#endif
903
904#if defined(OTM9605A_QHD_DSI_VDO)
905 &otm9605a_qhd_dsi_vdo_drv,
906#endif
907
908#if defined(RM72013_WXGA_DSI_VDO)
909 &rm72013_wxga_dsi_vdo_lcm_drv,
910#endif
911
912#if defined(OTA7291_WXGA_DSI_VDO)
913 &ota7291_wxga_dsi_vdo_lcm_drv,
914#endif
915
916#if defined(A080EAN01_DSI_VDO)
917 &a080ean01_dsi_vdo_lcm_drv,
918#endif
919
920};
921
922#define LCM_COMPILE_ASSERT(condition) LCM_COMPILE_ASSERT_X(condition, __LINE__)
923#define LCM_COMPILE_ASSERT_X(condition, line) LCM_COMPILE_ASSERT_XX(condition, line)
924#define LCM_COMPILE_ASSERT_XX(condition, line) char assertion_failed_at_line_##line[(condition)?1:-1]
925
926unsigned int lcm_count = sizeof(lcm_driver_list)/sizeof(LCM_DRIVER*);
927LCM_COMPILE_ASSERT(0 != sizeof(lcm_driver_list)/sizeof(LCM_DRIVER*));
928#if defined(NT35520_HD720_DSI_CMD_TM) | defined(NT35520_HD720_DSI_CMD_BOE) | defined(NT35521_HD720_DSI_VDO_BOE) | defined(NT35521_HD720_DSI_VIDEO_TM)
929#ifdef BUILD_LK
930extern void mdelay(unsigned long msec);
931#endif
932static unsigned char lcd_id_pins_value = 0xFF;
933
934
935/******************************************************************************
936Function: which_lcd_module_triple
937 Description: read LCD ID PIN status,could identify three status:highlowfloat
938 Input: none
939 Output: none
940 Return: LCD ID1|ID0 value
941 Others:
942******************************************************************************/
943unsigned char which_lcd_module_triple(void)
944{
945 unsigned char high_read0 = 0;
946 unsigned char low_read0 = 0;
947 unsigned char high_read1 = 0;
948 unsigned char low_read1 = 0;
949 unsigned char lcd_id0 = 0;
950 unsigned char lcd_id1 = 0;
951 unsigned char lcd_id = 0;
952 //Solve Coverity scan warning : check return value
953 unsigned int ret = 0;
954 //only recognise once
955 if(0xFF != lcd_id_pins_value)
956 {
957 return lcd_id_pins_value;
958 }
959 //Solve Coverity scan warning : check return value
960 ret = mt_set_gpio_mode(GPIO_DISP_ID0_PIN, GPIO_MODE_00);
961 if(0 != ret)
962 {
963 LCD_DEBUG("ID0 mt_set_gpio_mode fail\n");
964 }
965 ret = mt_set_gpio_dir(GPIO_DISP_ID0_PIN, GPIO_DIR_IN);
966 if(0 != ret)
967 {
968 LCD_DEBUG("ID0 mt_set_gpio_dir fail\n");
969 }
970 ret = mt_set_gpio_pull_enable(GPIO_DISP_ID0_PIN, GPIO_PULL_ENABLE);
971 if(0 != ret)
972 {
973 LCD_DEBUG("ID0 mt_set_gpio_pull_enable fail\n");
974 }
975 ret = mt_set_gpio_mode(GPIO_DISP_ID1_PIN, GPIO_MODE_00);
976 if(0 != ret)
977 {
978 LCD_DEBUG("ID1 mt_set_gpio_mode fail\n");
979 }
980 ret = mt_set_gpio_dir(GPIO_DISP_ID1_PIN, GPIO_DIR_IN);
981 if(0 != ret)
982 {
983 LCD_DEBUG("ID1 mt_set_gpio_dir fail\n");
984 }
985 ret = mt_set_gpio_pull_enable(GPIO_DISP_ID1_PIN, GPIO_PULL_ENABLE);
986 if(0 != ret)
987 {
988 LCD_DEBUG("ID1 mt_set_gpio_pull_enable fail\n");
989 }
990 //pull down ID0 ID1 PIN
991 ret = mt_set_gpio_pull_select(GPIO_DISP_ID0_PIN,GPIO_PULL_DOWN);
992 if(0 != ret)
993 {
994 LCD_DEBUG("ID0 mt_set_gpio_pull_select->Down fail\n");
995 }
996 ret = mt_set_gpio_pull_select(GPIO_DISP_ID1_PIN,GPIO_PULL_DOWN);
997 if(0 != ret)
998 {
999 LCD_DEBUG("ID1 mt_set_gpio_pull_select->Down fail\n");
1000 }
1001 //delay 100ms , for discharging capacitance
1002 mdelay(100);
1003 //get ID0 ID1 status
1004 low_read0 = mt_get_gpio_in(GPIO_DISP_ID0_PIN);
1005 low_read1 = mt_get_gpio_in(GPIO_DISP_ID1_PIN);
1006 //pull up ID0 ID1 PIN
1007 ret = mt_set_gpio_pull_select(GPIO_DISP_ID0_PIN,GPIO_PULL_UP);
1008 if(0 != ret)
1009 {
1010 LCD_DEBUG("ID0 mt_set_gpio_pull_select->UP fail\n");
1011 }
1012 ret = mt_set_gpio_pull_select(GPIO_DISP_ID1_PIN,GPIO_PULL_UP);
1013 if(0 != ret)
1014 {
1015 LCD_DEBUG("ID1 mt_set_gpio_pull_select->UP fail\n");
1016 }
1017 //delay 100ms , for charging capacitance
1018 mdelay(100);
1019 //get ID0 ID1 status
1020 high_read0 = mt_get_gpio_in(GPIO_DISP_ID0_PIN);
1021 high_read1 = mt_get_gpio_in(GPIO_DISP_ID1_PIN);
1022
1023 if( low_read0 != high_read0 )
1024 {
1025 /*float status , pull down ID0 ,to prevent electric leakage*/
1026 ret = mt_set_gpio_pull_select(GPIO_DISP_ID0_PIN,GPIO_PULL_DOWN);
1027 if(0 != ret)
1028 {
1029 LCD_DEBUG("ID0 mt_set_gpio_pull_select->Down fail\n");
1030 }
1031 lcd_id0 = LCD_HW_ID_STATUS_FLOAT;
1032 }
1033 else if((LCD_HW_ID_STATUS_LOW == low_read0) && (LCD_HW_ID_STATUS_LOW == high_read0))
1034 {
1035 /*low status , pull down ID0 ,to prevent electric leakage*/
1036 ret = mt_set_gpio_pull_select(GPIO_DISP_ID0_PIN,GPIO_PULL_DOWN);
1037 if(0 != ret)
1038 {
1039 LCD_DEBUG("ID0 mt_set_gpio_pull_select->Down fail\n");
1040 }
1041 lcd_id0 = LCD_HW_ID_STATUS_LOW;
1042 }
1043 else if((LCD_HW_ID_STATUS_HIGH == low_read0) && (LCD_HW_ID_STATUS_HIGH == high_read0))
1044 {
1045 /*high status , pull up ID0 ,to prevent electric leakage*/
1046 ret = mt_set_gpio_pull_select(GPIO_DISP_ID0_PIN,GPIO_PULL_UP);
1047 if(0 != ret)
1048 {
1049 LCD_DEBUG("ID0 mt_set_gpio_pull_select->UP fail\n");
1050 }
1051 lcd_id0 = LCD_HW_ID_STATUS_HIGH;
1052 }
1053 else
1054 {
1055 LCD_DEBUG(" Read LCD_id0 error\n");
1056 ret = mt_set_gpio_pull_select(GPIO_DISP_ID0_PIN,GPIO_PULL_DISABLE);
1057 if(0 != ret)
1058 {
1059 LCD_DEBUG("ID0 mt_set_gpio_pull_select->Disbale fail\n");
1060 }
1061 lcd_id0 = LCD_HW_ID_STATUS_ERROR;
1062 }
1063
1064
1065 if( low_read1 != high_read1 )
1066 {
1067 /*float status , pull down ID1 ,to prevent electric leakage*/
1068 ret = mt_set_gpio_pull_select(GPIO_DISP_ID1_PIN,GPIO_PULL_DOWN);
1069 if(0 != ret)
1070 {
1071 LCD_DEBUG("ID1 mt_set_gpio_pull_select->Down fail\n");
1072 }
1073 lcd_id1 = LCD_HW_ID_STATUS_FLOAT;
1074 }
1075 else if((LCD_HW_ID_STATUS_LOW == low_read1) && (LCD_HW_ID_STATUS_LOW == high_read1))
1076 {
1077 /*low status , pull down ID1 ,to prevent electric leakage*/
1078 ret = mt_set_gpio_pull_select(GPIO_DISP_ID1_PIN,GPIO_PULL_DOWN);
1079 if(0 != ret)
1080 {
1081 LCD_DEBUG("ID1 mt_set_gpio_pull_select->Down fail\n");
1082 }
1083 lcd_id1 = LCD_HW_ID_STATUS_LOW;
1084 }
1085 else if((LCD_HW_ID_STATUS_HIGH == low_read1) && (LCD_HW_ID_STATUS_HIGH == high_read1))
1086 {
1087 /*high status , pull up ID1 ,to prevent electric leakage*/
1088 ret = mt_set_gpio_pull_select(GPIO_DISP_ID1_PIN,GPIO_PULL_UP);
1089 if(0 != ret)
1090 {
1091 LCD_DEBUG("ID1 mt_set_gpio_pull_select->UP fail\n");
1092 }
1093 lcd_id1 = LCD_HW_ID_STATUS_HIGH;
1094 }
1095 else
1096 {
1097
1098 LCD_DEBUG(" Read LCD_id1 error\n");
1099 ret = mt_set_gpio_pull_select(GPIO_DISP_ID1_PIN,GPIO_PULL_DISABLE);
1100 if(0 != ret)
1101 {
1102 LCD_DEBUG("ID1 mt_set_gpio_pull_select->Disable fail\n");
1103 }
1104 lcd_id1 = LCD_HW_ID_STATUS_ERROR;
1105 }
1106#ifdef BUILD_LK
1107 dprintf(CRITICAL,"which_lcd_module_triple,lcd_id0:%d\n",lcd_id0);
1108 dprintf(CRITICAL,"which_lcd_module_triple,lcd_id1:%d\n",lcd_id1);
1109#else
1110 printk("which_lcd_module_triple,lcd_id0:%d\n",lcd_id0);
1111 printk("which_lcd_module_triple,lcd_id1:%d\n",lcd_id1);
1112#endif
1113 lcd_id = lcd_id0 | (lcd_id1 << 2);
1114
1115#ifdef BUILD_LK
1116 dprintf(CRITICAL,"which_lcd_module_triple,lcd_id:%d\n",lcd_id);
1117#else
1118 printk("which_lcd_module_triple,lcd_id:%d\n",lcd_id);
1119#endif
1120
1121 lcd_id_pins_value = lcd_id;
1122 return lcd_id;
1123}
1124#endif