drm/panel: mantix: Tweak init sequence
authorGuido Günther <agx@sigxcpu.org>
Wed, 18 Nov 2020 08:29:49 +0000 (09:29 +0100)
committerGuido Günther <agx@sigxcpu.org>
Tue, 8 Dec 2020 10:05:42 +0000 (11:05 +0100)
We've seen some (non permanent) burn in and bad white balance
on some of the panels. Adding this bit from a vendor supplied
sequence fixes it.

Fixes: 72967d5616d3 ("drm/panel: Add panel driver for the Mantix MLAF057WE51-X DSI panel")
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/8451831b60d5ecb73a156613d98218a31bd55680.1605688147.git.agx@sigxcpu.org
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c

index 0c5f22e95c2dbbafb9850faf2aeb4771788d09ad..624d17b96a693dc0428b240e5240b4434bc5cfa3 100644 (file)
@@ -22,6 +22,7 @@
 /* Manufacturer specific Commands send via DSI */
 #define MANTIX_CMD_OTP_STOP_RELOAD_MIPI 0x41
 #define MANTIX_CMD_INT_CANCEL           0x4C
+#define MANTIX_CMD_SPI_FINISH           0x90
 
 struct mantix {
        struct device *dev;
@@ -66,6 +67,10 @@ static int mantix_init_sequence(struct mantix *ctx)
        dsi_generic_write_seq(dsi, 0x80, 0x64, 0x00, 0x64, 0x00, 0x00);
        msleep(20);
 
+       dsi_generic_write_seq(dsi, MANTIX_CMD_SPI_FINISH, 0xA5);
+       dsi_generic_write_seq(dsi, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x00, 0x2F);
+       msleep(20);
+
        dev_dbg(dev, "Panel init sequence done\n");
        return 0;
 }