lin
2025-04-14 e0c033f30287744d392a8d700693b1c0b78afc7c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
 * Allwinner SoCs display driver.
 *
 * Copyright (C) 2016 Allwinner.
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */
 
#ifndef __PANEL_H__
#define __PANEL_H__
#include "../de/bsp_display.h"
#include "lcd_source.h"
 
extern void LCD_OPEN_FUNC(u32 sel, LCD_FUNC func, u32 delay /*ms */);
extern void LCD_CLOSE_FUNC(u32 sel, LCD_FUNC func, u32 delay /*ms */);
 
struct __lcd_panel {
   char name[32];
   struct disp_lcd_panel_fun func;
};
 
extern struct __lcd_panel *panel_array[];
 
struct sunxi_lcd_drv {
   struct sunxi_disp_source_ops src_ops;
};
 
#ifndef SUPPORT_DSI
enum __dsi_dcs_t {
   DSI_DCS_ENTER_IDLE_MODE = 0x39,    /* 01 */
   DSI_DCS_ENTER_INVERT_MODE = 0x21,    /* 02 */
   DSI_DCS_ENTER_NORMAL_MODE = 0x13,    /* 03 */
   DSI_DCS_ENTER_PARTIAL_MODE = 0x12,    /* 04 */
   DSI_DCS_ENTER_SLEEP_MODE = 0x10,    /* 05 */
   DSI_DCS_EXIT_IDLE_MODE = 0x38,    /* 06 */
   DSI_DCS_EXIT_INVERT_MODE = 0x20,    /* 07 */
   DSI_DCS_EXIT_SLEEP_MODE = 0x11,    /* 08 */
   DSI_DCS_GET_ADDRESS_MODE = 0x0b,    /* 09 */
   DSI_DCS_GET_BLUE_CHANNEL = 0x08,    /* 10 */
   DSI_DCS_GET_DIAGNOSTIC_RESULT = 0x0f,    /* 11 */
   DSI_DCS_GET_DISPLAY_MODE = 0x0d,    /* 12 */
   DSI_DCS_GET_GREEN_CHANNEL = 0x07,    /* 13 */
   DSI_DCS_GET_PIXEL_FORMAT = 0x0c,    /* 14 */
   DSI_DCS_GET_POWER_MODE = 0x0a,    /* 15 */
   DSI_DCS_GET_RED_CHANNEL = 0x06,    /* 16 */
   DSI_DCS_GET_SCANLINE = 0x45,    /* 17 */
   DSI_DCS_GET_SIGNAL_MODE = 0x0e,    /* 18 */
   DSI_DCS_NOP = 0x00,    /* 19 */
   DSI_DCS_READ_DDB_CONTINUE = 0xa8,    /* 20 */
   DSI_DCS_READ_DDB_START = 0xa1,    /* 21 */
   DSI_DCS_READ_MEMORY_CONTINUE = 0x3e,    /* 22 */
   DSI_DCS_READ_MEMORY_START = 0x2e,    /* 23 */
   DSI_DCS_SET_ADDRESS_MODE = 0x36,    /* 24 */
   DSI_DCS_SET_COLUMN_ADDRESS = 0x2a,    /* 25 */
   DSI_DCS_SET_DISPLAY_OFF = 0x28,    /* 26 */
   DSI_DCS_SET_DISPLAY_ON = 0x29,    /* 27 */
   DSI_DCS_SET_GAMMA_CURVE = 0x26,    /* 28 */
   DSI_DCS_SET_PAGE_ADDRESS = 0x2b,    /* 29 */
   DSI_DCS_SET_PARTIAL_AREA = 0x30,    /* 30 */
   DSI_DCS_SET_PIXEL_FORMAT = 0x3a,    /* 31 */
   DSI_DCS_SET_SCROLL_AREA = 0x33,    /* 32 */
   DSI_DCS_SET_SCROLL_START = 0x37,    /* 33 */
   DSI_DCS_SET_TEAR_OFF = 0x34,    /* 34 */
   DSI_DCS_SET_TEAR_ON = 0x35,    /* 35 */
   DSI_DCS_SET_TEAR_SCANLINE = 0x44,    /* 36 */
   DSI_DCS_SOFT_RESET = 0x01,    /* 37 */
   DSI_DCS_WRITE_LUT = 0x2d,    /* 38 */
   DSI_DCS_WRITE_MEMORY_CONTINUE = 0x3c,    /* 39 */
   DSI_DCS_WRITE_MEMORY_START = 0x2c,    /* 40 */
};
#endif
 
extern int sunxi_disp_get_source_ops(struct sunxi_disp_source_ops *src_ops);
int lcd_init(void);
 
extern struct __lcd_panel default_eink;
extern struct __lcd_panel default_panel;
extern struct __lcd_panel lt070me05000_panel;
extern struct __lcd_panel wtq05027d01_panel;
extern struct __lcd_panel t27p06_panel;
extern struct __lcd_panel dx0960be40a1_panel;
extern struct __lcd_panel tft720x1280_panel;
extern struct __lcd_panel S6D7AA0X01_panel;
extern struct __lcd_panel gg1p4062utsw_panel;
extern struct __lcd_panel ls029b3sx02_panel;
extern struct __lcd_panel he0801a068_panel;
extern struct __lcd_panel inet_dsi_panel;
extern struct __lcd_panel lq101r1sx03_panel;
extern struct __lcd_panel WilliamLcd_panel;
extern struct __lcd_panel fx070_panel;
extern struct __lcd_panel FX070_DHM18BOEL2_1024X600_mipi_panel;
extern struct __lcd_panel bp101wx1_panel;
extern struct __lcd_panel m133x56_panel;
extern struct __lcd_panel m133x56_two_panel;
extern struct __lcd_panel k101im2qa04_panel;
extern struct __lcd_panel k101im2byl02l_panel;
extern struct __lcd_panel lt8911ex_lvds_edp_panel;
extern struct __lcd_panel K101_IM2BYL02_L_800X1280_mipi_panel;
extern struct __lcd_panel mipi_8_800x1280_panel;
extern struct __lcd_panel mipi_10_800x1280_panel;
extern struct __lcd_panel mipi_10_800x1280_AT101DS40I_panel;
extern struct __lcd_panel mipi_5_720x1280_panel;
#endif