1 /*
2  * Allwinner SoCs display driver.
3  *
4  * Copyright (C) 2016 Allwinner.
5  *
6  * This file is licensed under the terms of the GNU General Public
7  * License version 2.  This program is licensed "as is" without any
8  * warranty of any kind, whether express or implied.
9  */
10 
11 #include "panels.h"
12 
13 struct sunxi_lcd_drv g_lcd_drv;
14 
15 struct __lcd_panel *panel_array[] = {
16 #ifdef CONFIG_EINK_PANEL_USED
17     &default_eink,
18 #endif
19     &default_panel,
20 #ifdef CONFIG_LCD_SUPPORT_LT070ME05000
21     &lt070me05000_panel,
22 #endif
23 #ifdef CONFIG_LCD_SUPPORT_WTQ05027D01
24     &wtq05027d01_panel,
25 #endif
26 #ifdef CONFIG_LCD_SUPPORT_T27P06
27     &t27p06_panel,
28 #endif
29 #ifdef CONFIG_LCD_SUPPORT_DX0960BE40A1
30     &dx0960be40a1_panel,
31 #endif
32 #ifdef CONFIG_LCD_SUPPORT_TFT720_1280
33     &tft720_1280_panel,
34 #endif
35 #ifdef CONFIG_LCD_SUPPORT_S6D7AA0X01
36     &S6D7AA0X01_panel,
37 #endif
38 #ifdef CONFIG_LCD_SUPPORT_GG1P4062UTSW
39     &gg1p4062utsw_panel,
40 #endif
41 #ifdef CONFIG_LCD_SUPPORT_LS029B3SX02
42     &ls029b3sx02_panel,
43 #endif
44 #ifdef CONFIG_LCD_SUPPORT_HE0801A068
45     &he0801a068_panel,
46 #endif
47 #ifdef CONFIG_LCD_SUPPORT_INET_DSI_PANEL
48     &inet_dsi_panel,
49 #endif
50 #ifdef CONFIG_LCD_SUPPORT_LQ101R1SX03
51     &lq101r1sx03_panel,
52 #endif
53 #ifdef CONFIG_LCD_SUPPORT_TM_DSI_PANEL
54     &tm_dsi_panel,
55 #endif
56 #ifdef CONFIG_LCD_SUPPORT_ILI9881C
57     &ili9881c_dsi_panel,
58 #endif
59 #ifdef CONFIG_LCD_SUPPORT_FD055HD003S
60     &fd055hd003s_panel,
61 #endif
62 #ifdef CONFIG_LCD_SUPPORT_FRD450H40014
63     &frd450h40014_panel,
64 #endif
65 #ifdef CONFIG_LCD_SUPPORT_H245QBN02
66     &h245qbn02_panel,
67 #endif
68 #ifdef CONFIG_LCD_SUPPORT_ILI9341
69     &ili9341_panel,
70 #endif
71 #ifdef CONFIG_LCD_SUPPORT_LH219WQ1
72     &lh219wq1_panel,
73 #endif
74 #ifdef CONFIG_LCD_SUPPORT_ST7789V
75     &st7789v_panel,
76 #endif
77 #ifdef CONFIG_LCD_SUPPORT_ST7796S
78     &st7796s_panel,
79 #endif
80 #ifdef CONFIG_LCD_SUPPORT_ST7701S
81     &st7701s_panel,
82 #endif
83 #ifdef CONFIG_LCD_SUPPORT_T30P106
84     &t30p106_panel,
85 #endif
86 #ifdef CONFIG_LCD_SUPPORT_TO20T20000
87     &to20t20000_panel,
88 #endif
89 #ifdef CONFIG_LCD_SUPPORT_S2003T46G
90     &s2003t46g_panel,
91 #endif
92 
93 #ifdef CONFIG_LCD_SUPPORT_WILLIAMLCD
94     &WilliamLcd_panel,
95 #endif
96 #ifdef CONFIG_LCD_SUPPORT_WTL096601G03
97     &wtl096601g03_panel,
98 #endif
99 #ifdef CONFIG_LCD_SUPPORT_RT13QV005D
100     &rt13qv005d_panel,
101 #endif
102 #ifdef CONFIG_LCD_SUPPORT_ST7789V_CPU
103     &st7789v_cpu_panel,
104 #endif
105 
106 #ifdef CONFIG_LCD_SUPPORT_VVX07H005A10
107     &VVX07H005A10_panel,
108 #endif
109 
110 #ifdef CONFIG_LCD_SUPPORT_TFT08006
111     &tft08006_panel,
112 #endif
113 
114     NULL,
115 };
116 
lcd_set_panel_funs(void)117 void lcd_set_panel_funs(void)
118 {
119     int i;
120 
121     for (i = 0; panel_array[i] != NULL; i++) {
122         sunxi_lcd_set_panel_funs(panel_array[i]->name,
123                      &panel_array[i]->func);
124     }
125 }
126 
lcd_init(void)127 int lcd_init(void)
128 {
129     sunxi_disp_get_source_ops(&g_lcd_drv.src_ops);
130     lcd_set_panel_funs();
131 
132     return 0;
133 }
134 
135