|
24 | 24 | #include "fbtft.h" |
25 | 25 |
|
26 | 26 | #define DRVNAME "fb_st7789v" |
27 | | - |
28 | | -#define DEFAULT_GAMMA \ |
29 | | - "d0 08 0d 0a 0a 0a 33 33 48 15 0d 0b 29 2e\n" \ |
30 | | - "d0 07 0d 0b 0a 15 32 33 48 15 0c 0b 29 2d" |
| 27 | +//#define SAEF_SETTINGS |
| 28 | + |
| 29 | +#ifndef SAEF_SETTINGS |
| 30 | + #define DEFAULT_GAMMA \ |
| 31 | + "f0 08 0e 09 08 04 2f 33 45 36 13 12 2a 2d\n" \ |
| 32 | + "f0 0e 12 0c 0a 15 2e 32 44 39 17 18 2b 2f" |
| 33 | +#else |
| 34 | + #define DEFAULT_GAMMA \ |
| 35 | + "f0 19 1e 0A 09 15 3D 44 51 19 14 13 2c 31\n" \ |
| 36 | + "f0 18 1E 0A 09 25 3F 43 52 19 14 13 2c 31" |
| 37 | +#endif |
31 | 38 |
|
32 | 39 | /** |
33 | 40 | * enum st7789v_command - ST7789V display controller commands |
@@ -87,27 +94,30 @@ enum st7789v_command { |
87 | 94 | */ |
88 | 95 | static int init_display(struct fbtft_par *par) |
89 | 96 | { |
| 97 | +#ifndef SAEF_SETTINGS |
90 | 98 | /* turn off sleep mode */ |
91 | | - /*write_reg(par, 0x11); |
| 99 | + write_reg(par, 0x11); |
92 | 100 | mdelay(120); |
93 | 101 |
|
94 | 102 | write_reg(par, 0x36, 0x00); |
95 | 103 | write_reg(par, 0x3A, 0x05); |
96 | 104 |
|
97 | 105 | write_reg(par, 0xB2,0x0C,0x0C,0x00,0x33,0x33); |
98 | | - write_reg(par, 0xB7,0x35); |
99 | | - write_reg(par, 0xBB,0x1A); |
100 | | - write_reg(par, 0xC0,0x2C); |
| 106 | + write_reg(par, 0xB7,0x00); |
| 107 | + write_reg(par, 0xBB,0x36); |
| 108 | + //write_reg(par, 0xC0,0x2C); |
101 | 109 | write_reg(par, 0xC2,0x01); |
102 | | - write_reg(par, 0xC3,0x0B); |
| 110 | + write_reg(par, 0xC3,0x13); |
103 | 111 | write_reg(par, 0xC4,0x20); |
104 | 112 | write_reg(par, 0xC6,0x0F); |
| 113 | + write_reg(par, 0xD6,0xA1); |
105 | 114 | write_reg(par, 0xD0,0xA4,0xA1); |
106 | | - write_reg(par, 0x21); |
| 115 | + /*write_reg(par, 0x21); |
107 | 116 | write_reg(par, 0xE0,0x00,0x19,0x1E,0x0A,0x09,0x15,0x3D,0x44,0x51,0x12,0x03,0x00,0x3F,0x3F); |
108 | 117 | write_reg(par, 0xE1,0x00,0x18,0x1E,0x0A,0x09,0x25,0x3F,0x43,0x52,0x33,0x03,0x00,0x3F,0x3F); |
109 | 118 | write_reg(par, 0x29);*/ |
110 | 119 |
|
| 120 | +#else |
111 | 121 | /* turn off sleep mode */ |
112 | 122 | write_reg(par, MIPI_DCS_EXIT_SLEEP_MODE); |
113 | 123 | mdelay(120); |
@@ -150,6 +160,7 @@ static int init_display(struct fbtft_par *par) |
150 | 160 | * VDS = 2.3V |
151 | 161 | */ |
152 | 162 | write_reg(par, PWCTRL1, 0xA4, 0xA1); |
| 163 | +#endif |
153 | 164 |
|
154 | 165 | /* Display Inversion of colors */ |
155 | 166 | write_reg(par, 0x21); |
|
0 commit comments