0001-fb_st7789v-saef-sf-tc154b-8377a-n.patch 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. fb_st7789v.c | 34 ++++++++++++++++++++++++++++++++--
  2. 1 file changed, 32 insertions(+), 2 deletions(-)
  3. diff --git a/drivers/staging/fbtft/fb_st7789v.c b/drivers/staging/fbtft/fb_st7789v.c
  4. index a5d7c87..69f52af 100644
  5. --- a/drivers/staging/fbtft/fb_st7789v.c
  6. +++ b/drivers/staging/fbtft/fb_st7789v.c
  7. @@ -86,6 +86,28 @@ enum st7789v_command {
  8. static int init_display(struct fbtft_par *par)
  9. {
  10. /* turn off sleep mode */
  11. + /*write_reg(par, 0x11);
  12. + mdelay(120);
  13. +
  14. + write_reg(par, 0x36, 0x00);
  15. + write_reg(par, 0x3A, 0x05);
  16. +
  17. + write_reg(par, 0xB2,0x0C,0x0C,0x00,0x33,0x33);
  18. + write_reg(par, 0xB7,0x35);
  19. + write_reg(par, 0xBB,0x1A);
  20. + write_reg(par, 0xC0,0x2C);
  21. + write_reg(par, 0xC2,0x01);
  22. + write_reg(par, 0xC3,0x0B);
  23. + write_reg(par, 0xC4,0x20);
  24. + write_reg(par, 0xC6,0x0F);
  25. + write_reg(par, 0xD0,0xA4,0xA1);
  26. + write_reg(par, 0x21);
  27. + write_reg(par, 0xE0,0x00,0x19,0x1E,0x0A,0x09,0x15,0x3D,0x44,0x51,0x12,0x03,0x00,0x3F,0x3F);
  28. + write_reg(par, 0xE1,0x00,0x18,0x1E,0x0A,0x09,0x25,0x3F,0x43,0x52,0x33,0x03,0x00,0x3F,0x3F);
  29. + write_reg(par, 0x29);*/
  30. +
  31. +
  32. + /* turn off sleep mode */
  33. write_reg(par, MIPI_DCS_EXIT_SLEEP_MODE);
  34. mdelay(120);
  35. @@ -128,7 +150,14 @@ static int init_display(struct fbtft_par *par)
  36. */
  37. write_reg(par, PWCTRL1, 0xA4, 0xA1);
  38. + /* Ystart at 80 , Yend at 240 */
  39. + write_reg(par, 0x2B, 0x00, 0x50, 0x00, 0xF0);
  40. +
  41. + /* Display Inversion of colors */
  42. + write_reg(par, 0x21);
  43. +
  44. write_reg(par, MIPI_DCS_SET_DISPLAY_ON);
  45. +
  46. return 0;
  47. }
  48. @@ -189,7 +218,7 @@ static int set_gamma(struct fbtft_par *par, u32 *curves)
  49. * The masks are the same for both positive and negative voltage
  50. * gamma curves.
  51. */
  52. - static const u8 gamma_par_mask[] = {
  53. + const u8 gamma_par_mask[] = {
  54. 0xFF, /* V63[3:0], V0[3:0]*/
  55. 0x3F, /* V1[5:0] */
  56. 0x3F, /* V2[5:0] */
  57. @@ -241,7 +270,7 @@ static int blank(struct fbtft_par *par, bool on)
  58. static struct fbtft_display display = {
  59. .regwidth = 8,
  60. .width = 240,
  61. - .height = 320,
  62. + .height = 240,
  63. .gamma_num = 2,
  64. .gamma_len = 14,
  65. .gamma = DEFAULT_GAMMA,
  66. @@ -263,3 +292,4 @@ MODULE_ALIAS("platform:st7789v");
  67. MODULE_DESCRIPTION("FB driver for the ST7789V LCD Controller");
  68. MODULE_AUTHOR("Dennis Menschel");
  69. MODULE_LICENSE("GPL");
  70. +