staging: fbtft: fb_st7789v: reset display before initialization

commit b6821b0d9b56386d2bf14806f90ec401468c799f upstream.

In rare cases the display is flipped or mirrored. This was observed more
often in a low temperature environment. A clean reset on init_display()
should help to get registers in a sane state.

Fixes: ef8f317795 (staging: fbtft: use init function instead of init sequence)
Cc: stable@vger.kernel.org
Signed-off-by: Oliver Graute <oliver.graute@kococonnector.com>
Link: https://lore.kernel.org/r/20220210085322.15676-1-oliver.graute@kococonnector.com
[sudip: adjust context]
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Oliver Graute
2022-02-10 09:53:22 +01:00
committed by Greg Kroah-Hartman
parent 351493858e
commit 56dc187b35

View File

@@ -82,6 +82,8 @@ enum st7789v_command {
*/ */
static int init_display(struct fbtft_par *par) static int init_display(struct fbtft_par *par)
{ {
par->fbtftops.reset(par);
/* turn off sleep mode */ /* turn off sleep mode */
write_reg(par, MIPI_DCS_EXIT_SLEEP_MODE); write_reg(par, MIPI_DCS_EXIT_SLEEP_MODE);
mdelay(120); mdelay(120);