Skip to content

Commit 932bc41

Browse files
committed
finally good screen settings from new manufacturer
1 parent 0ff7b1f commit 932bc41

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

drivers/staging/fbtft/fb_st7789v.c

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,17 @@
2424
#include "fbtft.h"
2525

2626
#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
3138

3239
/**
3340
* enum st7789v_command - ST7789V display controller commands
@@ -87,27 +94,30 @@ enum st7789v_command {
8794
*/
8895
static int init_display(struct fbtft_par *par)
8996
{
97+
#ifndef SAEF_SETTINGS
9098
/* turn off sleep mode */
91-
/*write_reg(par, 0x11);
99+
write_reg(par, 0x11);
92100
mdelay(120);
93101

94102
write_reg(par, 0x36, 0x00);
95103
write_reg(par, 0x3A, 0x05);
96104

97105
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);
101109
write_reg(par, 0xC2,0x01);
102-
write_reg(par, 0xC3,0x0B);
110+
write_reg(par, 0xC3,0x13);
103111
write_reg(par, 0xC4,0x20);
104112
write_reg(par, 0xC6,0x0F);
113+
write_reg(par, 0xD6,0xA1);
105114
write_reg(par, 0xD0,0xA4,0xA1);
106-
write_reg(par, 0x21);
115+
/*write_reg(par, 0x21);
107116
write_reg(par, 0xE0,0x00,0x19,0x1E,0x0A,0x09,0x15,0x3D,0x44,0x51,0x12,0x03,0x00,0x3F,0x3F);
108117
write_reg(par, 0xE1,0x00,0x18,0x1E,0x0A,0x09,0x25,0x3F,0x43,0x52,0x33,0x03,0x00,0x3F,0x3F);
109118
write_reg(par, 0x29);*/
110119

120+
#else
111121
/* turn off sleep mode */
112122
write_reg(par, MIPI_DCS_EXIT_SLEEP_MODE);
113123
mdelay(120);
@@ -150,6 +160,7 @@ static int init_display(struct fbtft_par *par)
150160
* VDS = 2.3V
151161
*/
152162
write_reg(par, PWCTRL1, 0xA4, 0xA1);
163+
#endif
153164

154165
/* Display Inversion of colors */
155166
write_reg(par, 0x21);

0 commit comments

Comments
 (0)