// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "lcd.h"

#include <lib/mipi-dsi/mipi-dsi.h>

#include <ddk/debug.h>
#include <ddk/protocol/platform/device.h>
#include <ddktl/device.h>

#include "common.h"

#define DELAY_CMD (0xFF)
#define DCS_CMD (0xFE)
#define GEN_CMD (0xFD)

#define READ_DISPLAY_ID_CMD (0x04)
#define READ_DISPLAY_ID_LEN (0x03)

namespace astro_display {

namespace {
// Based on Vendor datasheet
// <CMD TYPE><LENGTH><DATA...>
// <DELAY_CMD><DELAY (ms)>
constexpr uint8_t lcd_shutdown_sequence[] = {
    DELAY_CMD, 5, DCS_CMD, 1, 0x28, DELAY_CMD, 30, DCS_CMD, 1, 0x10, DELAY_CMD, 150,
};

constexpr uint8_t lcd_init_sequence_TV070WSM_FT[] = {
    GEN_CMD, 2,       0xE0, 0x00, GEN_CMD,   2,       0xE1, 0x93, GEN_CMD, 2,       0xE2, 0x65,
    GEN_CMD, 2,       0xE3, 0xF8, GEN_CMD,   2,       0xE0, 0x01, GEN_CMD, 2,       0x00, 0x00,
    GEN_CMD, 2,       0x01, 0x90, GEN_CMD,   2,       0x03, 0x00, GEN_CMD, 2,       0x04, 0x90,
    GEN_CMD, 2,       0x17, 0x00, GEN_CMD,   2,       0x18, 0xB0, GEN_CMD, 2,       0x19, 0x01,
    GEN_CMD, 2,       0x1A, 0x00, GEN_CMD,   2,       0x1B, 0xB0, GEN_CMD, 2,       0x1C, 0x01,
    GEN_CMD, 2,       0x1F, 0x3E, GEN_CMD,   2,       0x20, 0x2F, GEN_CMD, 2,       0x21, 0x2F,
    GEN_CMD, 2,       0x22, 0x0E, GEN_CMD,   2,       0x37, 0x69, GEN_CMD, 2,       0x38, 0x05,
    GEN_CMD, 2,       0x39, 0x00, GEN_CMD,   2,       0x3A, 0x01, GEN_CMD, 2,       0x3C, 0x90,
    GEN_CMD, 2,       0x3D, 0xFF, GEN_CMD,   2,       0x3E, 0xFF, GEN_CMD, 2,       0x3F, 0xFF,
    GEN_CMD, 2,       0x40, 0x02, GEN_CMD,   2,       0x41, 0x80, GEN_CMD, 2,       0x42, 0x99,
    GEN_CMD, 2,       0x43, 0x06, GEN_CMD,   2,       0x44, 0x09, GEN_CMD, 2,       0x45, 0x3C,
    GEN_CMD, 2,       0x4B, 0x04, GEN_CMD,   2,       0x55, 0x0D, GEN_CMD, 2,       0x56, 0x01,
    GEN_CMD, 2,       0x57, 0x89, GEN_CMD,   2,       0x58, 0x0A, GEN_CMD, 2,       0x59, 0x0A,
    GEN_CMD, 2,       0x5A, 0x27, GEN_CMD,   2,       0x5B, 0x15, GEN_CMD, 2,       0x5D, 0x7C,
    GEN_CMD, 2,       0x5E, 0x67, GEN_CMD,   2,       0x5F, 0x58, GEN_CMD, 2,       0x60, 0x4C,
    GEN_CMD, 2,       0x61, 0x48, GEN_CMD,   2,       0x62, 0x38, GEN_CMD, 2,       0x63, 0x3C,
    GEN_CMD, 2,       0x64, 0x24, GEN_CMD,   2,       0x65, 0x3B, GEN_CMD, 2,       0x66, 0x38,
    GEN_CMD, 2,       0x67, 0x36, GEN_CMD,   2,       0x68, 0x53, GEN_CMD, 2,       0x69, 0x3F,
    GEN_CMD, 2,       0x6A, 0x44, GEN_CMD,   2,       0x6B, 0x35, GEN_CMD, 2,       0x6C, 0x2E,
    GEN_CMD, 2,       0x6D, 0x1F, GEN_CMD,   2,       0x6E, 0x0C, GEN_CMD, 2,       0x6F, 0x00,
    GEN_CMD, 2,       0x70, 0x7C, GEN_CMD,   2,       0x71, 0x67, GEN_CMD, 2,       0x72, 0x58,
    GEN_CMD, 2,       0x73, 0x4C, GEN_CMD,   2,       0x74, 0x48, GEN_CMD, 2,       0x75, 0x38,
    GEN_CMD, 2,       0x76, 0x3C, GEN_CMD,   2,       0x77, 0x24, GEN_CMD, 2,       0x78, 0x3B,
    GEN_CMD, 2,       0x79, 0x38, GEN_CMD,   2,       0x7A, 0x36, GEN_CMD, 2,       0x7B, 0x53,
    GEN_CMD, 2,       0x7C, 0x3F, GEN_CMD,   2,       0x7D, 0x44, GEN_CMD, 2,       0x7E, 0x35,
    GEN_CMD, 2,       0x7F, 0x2E, GEN_CMD,   2,       0x80, 0x1F, GEN_CMD, 2,       0x81, 0x0C,
    GEN_CMD, 2,       0x82, 0x00, GEN_CMD,   2,       0xE0, 0x02, GEN_CMD, 2,       0x00, 0x45,
    GEN_CMD, 2,       0x01, 0x45, GEN_CMD,   2,       0x02, 0x47, GEN_CMD, 2,       0x03, 0x47,
    GEN_CMD, 2,       0x04, 0x41, GEN_CMD,   2,       0x05, 0x41, GEN_CMD, 2,       0x06, 0x1F,
    GEN_CMD, 2,       0x07, 0x1F, GEN_CMD,   2,       0x08, 0x1F, GEN_CMD, 2,       0x09, 0x1F,
    GEN_CMD, 2,       0x0A, 0x1F, GEN_CMD,   2,       0x0B, 0x1F, GEN_CMD, 2,       0x0C, 0x1F,
    GEN_CMD, 2,       0x0D, 0x1D, GEN_CMD,   2,       0x0E, 0x1D, GEN_CMD, 2,       0x0F, 0x1D,
    GEN_CMD, 2,       0x10, 0x1F, GEN_CMD,   2,       0x11, 0x1F, GEN_CMD, 2,       0x12, 0x1F,
    GEN_CMD, 2,       0x13, 0x1F, GEN_CMD,   2,       0x14, 0x1F, GEN_CMD, 2,       0x15, 0x1F,
    GEN_CMD, 2,       0x16, 0x44, GEN_CMD,   2,       0x17, 0x44, GEN_CMD, 2,       0x18, 0x46,
    GEN_CMD, 2,       0x19, 0x46, GEN_CMD,   2,       0x1A, 0x40, GEN_CMD, 2,       0x1B, 0x40,
    GEN_CMD, 2,       0x1C, 0x1F, GEN_CMD,   2,       0x1D, 0x1F, GEN_CMD, 2,       0x1E, 0x1F,
    GEN_CMD, 2,       0x1F, 0x1F, GEN_CMD,   2,       0x20, 0x1F, GEN_CMD, 2,       0x21, 0x1F,
    GEN_CMD, 2,       0x22, 0x1F, GEN_CMD,   2,       0x23, 0x1D, GEN_CMD, 2,       0x24, 0x1D,
    GEN_CMD, 2,       0x25, 0x1D, GEN_CMD,   2,       0x26, 0x1F, GEN_CMD, 2,       0x27, 0x1F,
    GEN_CMD, 2,       0x28, 0x1F, GEN_CMD,   2,       0x29, 0x1F, GEN_CMD, 2,       0x2A, 0x1F,
    GEN_CMD, 2,       0x2B, 0x1F, GEN_CMD,   2,       0x58, 0x40, GEN_CMD, 2,       0x59, 0x00,
    GEN_CMD, 2,       0x5A, 0x00, GEN_CMD,   2,       0x5B, 0x10, GEN_CMD, 2,       0x5C, 0x06,
    GEN_CMD, 2,       0x5D, 0x20, GEN_CMD,   2,       0x5E, 0x00, GEN_CMD, 2,       0x5F, 0x00,
    GEN_CMD, 2,       0x61, 0x00, GEN_CMD,   2,       0x62, 0x00, GEN_CMD, 2,       0x63, 0x7A,
    GEN_CMD, 2,       0x64, 0x7A, GEN_CMD,   2,       0x65, 0x00, GEN_CMD, 2,       0x66, 0x00,
    GEN_CMD, 2,       0x67, 0x32, GEN_CMD,   2,       0x68, 0x08, GEN_CMD, 2,       0x69, 0x7A,
    GEN_CMD, 2,       0x6A, 0x7A, GEN_CMD,   2,       0x6B, 0x00, GEN_CMD, 2,       0x6C, 0x00,
    GEN_CMD, 2,       0x6D, 0x04, GEN_CMD,   2,       0x6E, 0x04, GEN_CMD, 2,       0x6F, 0x88,
    GEN_CMD, 2,       0x70, 0x00, GEN_CMD,   2,       0x71, 0x00, GEN_CMD, 2,       0x72, 0x06,
    GEN_CMD, 2,       0x73, 0x7B, GEN_CMD,   2,       0x74, 0x00, GEN_CMD, 2,       0x75, 0x07,
    GEN_CMD, 2,       0x76, 0x00, GEN_CMD,   2,       0x77, 0x5D, GEN_CMD, 2,       0x78, 0x17,
    GEN_CMD, 2,       0x79, 0x1F, GEN_CMD,   2,       0x7A, 0x00, GEN_CMD, 2,       0x7B, 0x00,
    GEN_CMD, 2,       0x7C, 0x00, GEN_CMD,   2,       0x7D, 0x03, GEN_CMD, 2,       0x7E, 0x7B,
    GEN_CMD, 2,       0xE0, 0x03, GEN_CMD,   2,       0xAF, 0x20, GEN_CMD, 2,       0xE0, 0x04,
    GEN_CMD, 2,       0x09, 0x11, GEN_CMD,   2,       0x0E, 0x48, GEN_CMD, 2,       0x2B, 0x2B,
    GEN_CMD, 2,       0x2E, 0x44, GEN_CMD,   2,       0x41, 0xFF, GEN_CMD, 2,       0xE0, 0x00,
    GEN_CMD, 2,       0xE6, 0x02, GEN_CMD,   2,       0xE7, 0x0C, DCS_CMD, 1,       0x11, DELAY_CMD,
    120,     GEN_CMD, 2,    0xE0, 0x03,      GEN_CMD, 2,    0x2B, 0x01,    GEN_CMD, 2,    0x2C,
    0x00,    GEN_CMD, 2,    0x30, 0x03,      GEN_CMD, 2,    0x31, 0xCC,    GEN_CMD, 2,    0x32,
    0x03,    GEN_CMD, 2,    0x33, 0xC9,      GEN_CMD, 2,    0x34, 0x03,    GEN_CMD, 2,    0x35,
    0xC0,    GEN_CMD, 2,    0x36, 0x03,      GEN_CMD, 2,    0x37, 0xB3,    GEN_CMD, 2,    0x38,
    0x03,    GEN_CMD, 2,    0x39, 0xAB,      GEN_CMD, 2,    0x3A, 0x03,    GEN_CMD, 2,    0x3B,
    0x9D,    GEN_CMD, 2,    0x3C, 0x03,      GEN_CMD, 2,    0x3D, 0x8F,    GEN_CMD, 2,    0x3E,
    0x03,    GEN_CMD, 2,    0x3F, 0x6D,      GEN_CMD, 2,    0x40, 0x03,    GEN_CMD, 2,    0x41,
    0x51,    GEN_CMD, 2,    0x42, 0x03,      GEN_CMD, 2,    0x43, 0x17,    GEN_CMD, 2,    0x44,
    0x02,    GEN_CMD, 2,    0x45, 0xD8,      GEN_CMD, 2,    0x46, 0x02,    GEN_CMD, 2,    0x47,
    0x60,    GEN_CMD, 2,    0x48, 0x01,      GEN_CMD, 2,    0x49, 0xEB,    GEN_CMD, 2,    0x4A,
    0x01,    GEN_CMD, 2,    0x4B, 0xE5,      GEN_CMD, 2,    0x4C, 0x01,    GEN_CMD, 2,    0x4D,
    0x6C,    GEN_CMD, 2,    0x4E, 0x00,      GEN_CMD, 2,    0x4F, 0xF2,    GEN_CMD, 2,    0x50,
    0x00,    GEN_CMD, 2,    0x51, 0xB4,      GEN_CMD, 2,    0x52, 0x00,    GEN_CMD, 2,    0x53,
    0x74,    GEN_CMD, 2,    0x54, 0x00,      GEN_CMD, 2,    0x55, 0x54,    GEN_CMD, 2,    0x56,
    0x00,    GEN_CMD, 2,    0x57, 0x34,      GEN_CMD, 2,    0x58, 0x00,    GEN_CMD, 2,    0x59,
    0x26,    GEN_CMD, 2,    0x5A, 0x00,      GEN_CMD, 2,    0x5B, 0x18,    GEN_CMD, 2,    0x5C,
    0x00,    GEN_CMD, 2,    0x5D, 0x11,      GEN_CMD, 2,    0x5E, 0x00,    GEN_CMD, 2,    0x5F,
    0x0A,    GEN_CMD, 2,    0x60, 0x00,      GEN_CMD, 2,    0x61, 0x03,    GEN_CMD, 2,    0x62,
    0x00,    GEN_CMD, 2,    0x63, 0x00,      GEN_CMD, 2,    0x64, 0x03,    GEN_CMD, 2,    0x65,
    0x9E,    GEN_CMD, 2,    0x66, 0x03,      GEN_CMD, 2,    0x67, 0x9B,    GEN_CMD, 2,    0x68,
    0x03,    GEN_CMD, 2,    0x69, 0x94,      GEN_CMD, 2,    0x6A, 0x03,    GEN_CMD, 2,    0x6B,
    0x8C,    GEN_CMD, 2,    0x6C, 0x03,      GEN_CMD, 2,    0x6D, 0x85,    GEN_CMD, 2,    0x6E,
    0x03,    GEN_CMD, 2,    0x6F, 0x76,      GEN_CMD, 2,    0x70, 0x03,    GEN_CMD, 2,    0x71,
    0x67,    GEN_CMD, 2,    0x72, 0x03,      GEN_CMD, 2,    0x73, 0x4B,    GEN_CMD, 2,    0x74,
    0x03,    GEN_CMD, 2,    0x75, 0x2E,      GEN_CMD, 2,    0x76, 0x02,    GEN_CMD, 2,    0x77,
    0xF7,    GEN_CMD, 2,    0x78, 0x02,      GEN_CMD, 2,    0x79, 0xB8,    GEN_CMD, 2,    0x7A,
    0x02,    GEN_CMD, 2,    0x7B, 0x46,      GEN_CMD, 2,    0x7C, 0x01,    GEN_CMD, 2,    0x7D,
    0xD6,    GEN_CMD, 2,    0x7E, 0x01,      GEN_CMD, 2,    0x7F, 0xD0,    GEN_CMD, 2,    0x80,
    0x01,    GEN_CMD, 2,    0x81, 0x5C,      GEN_CMD, 2,    0x82, 0x00,    GEN_CMD, 2,    0x83,
    0xE7,    GEN_CMD, 2,    0x84, 0x00,      GEN_CMD, 2,    0x85, 0xAA,    GEN_CMD, 2,    0x86,
    0x00,    GEN_CMD, 2,    0x87, 0x74,      GEN_CMD, 2,    0x88, 0x00,    GEN_CMD, 2,    0x89,
    0x5A,    GEN_CMD, 2,    0x8A, 0x00,      GEN_CMD, 2,    0x8B, 0x3C,    GEN_CMD, 2,    0x8C,
    0x00,    GEN_CMD, 2,    0x8D, 0x2C,      GEN_CMD, 2,    0x8E, 0x00,    GEN_CMD, 2,    0x8F,
    0x1C,    GEN_CMD, 2,    0x90, 0x00,      GEN_CMD, 2,    0x91, 0x14,    GEN_CMD, 2,    0x92,
    0x00,    GEN_CMD, 2,    0x93, 0x0C,      GEN_CMD, 2,    0x94, 0x00,    GEN_CMD, 2,    0x95,
    0x04,    GEN_CMD, 2,    0x96, 0x00,      GEN_CMD, 2,    0x97, 0x00,    GEN_CMD, 2,    0xE0,
    0x00,    DCS_CMD, 1,    0x29, DELAY_CMD, 5,
};
constexpr uint8_t lcd_init_sequence_P070ACB_FT[] = {
    DELAY_CMD, 100,       GEN_CMD, 2,       0xE0, 0x00, GEN_CMD, 2, 0xE1, 0x93,      GEN_CMD, 2,
    0xE2,      0x65,      GEN_CMD, 2,       0xE3, 0xF8, GEN_CMD, 2, 0x80, 0x03,      GEN_CMD, 2,
    0xE0,      0x01,      GEN_CMD, 2,       0x0C, 0x74, GEN_CMD, 2, 0x17, 0x00,      GEN_CMD, 2,
    0x18,      0xEF,      GEN_CMD, 2,       0x19, 0x00, GEN_CMD, 2, 0x1A, 0x00,      GEN_CMD, 2,
    0x1B,      0xEF,      GEN_CMD, 2,       0x1C, 0x00, GEN_CMD, 2, 0x1F, 0x70,      GEN_CMD, 2,
    0x20,      0x2D,      GEN_CMD, 2,       0x21, 0x2D, GEN_CMD, 2, 0x22, 0x7E,      GEN_CMD, 2,
    0x26,      0xF3,      GEN_CMD, 2,       0x37, 0x09, GEN_CMD, 2, 0x38, 0x04,      GEN_CMD, 2,
    0x39,      0x00,      GEN_CMD, 2,       0x3A, 0x01, GEN_CMD, 2, 0x3C, 0x90,      GEN_CMD, 2,
    0x3D,      0xFF,      GEN_CMD, 2,       0x3E, 0xFF, GEN_CMD, 2, 0x3F, 0xFF,      GEN_CMD, 2,
    0x40,      0x02,      GEN_CMD, 2,       0x41, 0x80, GEN_CMD, 2, 0x42, 0x99,      GEN_CMD, 2,
    0x43,      0x14,      GEN_CMD, 2,       0x44, 0x19, GEN_CMD, 2, 0x45, 0x5A,      GEN_CMD, 2,
    0x4B,      0x04,      GEN_CMD, 2,       0x55, 0x02, GEN_CMD, 2, 0x56, 0x01,      GEN_CMD, 2,
    0x57,      0x69,      GEN_CMD, 2,       0x58, 0x0A, GEN_CMD, 2, 0x59, 0x0A,      GEN_CMD, 2,
    0x5A,      0x2E,      GEN_CMD, 2,       0x5B, 0x19, GEN_CMD, 2, 0x5C, 0x15,      GEN_CMD, 2,
    0x5D,      0x77,      GEN_CMD, 2,       0x5E, 0x56, GEN_CMD, 2, 0x5F, 0x45,      GEN_CMD, 2,
    0x60,      0x38,      GEN_CMD, 2,       0x61, 0x35, GEN_CMD, 2, 0x62, 0x27,      GEN_CMD, 2,
    0x63,      0x2D,      GEN_CMD, 2,       0x64, 0x18, GEN_CMD, 2, 0x65, 0x33,      GEN_CMD, 2,
    0x66,      0x34,      GEN_CMD, 2,       0x67, 0x35, GEN_CMD, 2, 0x68, 0x56,      GEN_CMD, 2,
    0x69,      0x45,      GEN_CMD, 2,       0x6A, 0x4F, GEN_CMD, 2, 0x6B, 0x42,      GEN_CMD, 2,
    0x6C,      0x40,      GEN_CMD, 2,       0x6D, 0x34, GEN_CMD, 2, 0x6E, 0x25,      GEN_CMD, 2,
    0x6F,      0x02,      GEN_CMD, 2,       0x70, 0x77, GEN_CMD, 2, 0x71, 0x56,      GEN_CMD, 2,
    0x72,      0x45,      GEN_CMD, 2,       0x73, 0x38, GEN_CMD, 2, 0x74, 0x35,      GEN_CMD, 2,
    0x75,      0x27,      GEN_CMD, 2,       0x76, 0x2D, GEN_CMD, 2, 0x77, 0x18,      GEN_CMD, 2,
    0x78,      0x33,      GEN_CMD, 2,       0x79, 0x34, GEN_CMD, 2, 0x7A, 0x35,      GEN_CMD, 2,
    0x7B,      0x56,      GEN_CMD, 2,       0x7C, 0x45, GEN_CMD, 2, 0x7D, 0x4F,      GEN_CMD, 2,
    0x7E,      0x42,      GEN_CMD, 2,       0x7F, 0x40, GEN_CMD, 2, 0x80, 0x34,      GEN_CMD, 2,
    0x81,      0x25,      GEN_CMD, 2,       0x82, 0x02, GEN_CMD, 2, 0xE0, 0x02,      GEN_CMD, 2,
    0x00,      0x53,      GEN_CMD, 2,       0x01, 0x55, GEN_CMD, 2, 0x02, 0x55,      GEN_CMD, 2,
    0x03,      0x51,      GEN_CMD, 2,       0x04, 0x77, GEN_CMD, 2, 0x05, 0x57,      GEN_CMD, 2,
    0x06,      0x1F,      GEN_CMD, 2,       0x07, 0x4F, GEN_CMD, 2, 0x08, 0x4D,      GEN_CMD, 2,
    0x09,      0x1F,      GEN_CMD, 2,       0x0A, 0x4B, GEN_CMD, 2, 0x0B, 0x49,      GEN_CMD, 2,
    0x0C,      0x1F,      GEN_CMD, 2,       0x0D, 0x47, GEN_CMD, 2, 0x0E, 0x45,      GEN_CMD, 2,
    0x0F,      0x41,      GEN_CMD, 2,       0x10, 0x1F, GEN_CMD, 2, 0x11, 0x1F,      GEN_CMD, 2,
    0x12,      0x1F,      GEN_CMD, 2,       0x13, 0x55, GEN_CMD, 2, 0x14, 0x1F,      GEN_CMD, 2,
    0x15,      0x1F,      GEN_CMD, 2,       0x16, 0x52, GEN_CMD, 2, 0x17, 0x55,      GEN_CMD, 2,
    0x18,      0x55,      GEN_CMD, 2,       0x19, 0x50, GEN_CMD, 2, 0x1A, 0x77,      GEN_CMD, 2,
    0x1B,      0x57,      GEN_CMD, 2,       0x1C, 0x1F, GEN_CMD, 2, 0x1D, 0x4E,      GEN_CMD, 2,
    0x1E,      0x4C,      GEN_CMD, 2,       0x1F, 0x1F, GEN_CMD, 2, 0x20, 0x4A,      GEN_CMD, 2,
    0x21,      0x48,      GEN_CMD, 2,       0x22, 0x1F, GEN_CMD, 2, 0x23, 0x46,      GEN_CMD, 2,
    0x24,      0x44,      GEN_CMD, 2,       0x25, 0x40, GEN_CMD, 2, 0x26, 0x1F,      GEN_CMD, 2,
    0x27,      0x1F,      GEN_CMD, 2,       0x28, 0x1F, GEN_CMD, 2, 0x29, 0x1F,      GEN_CMD, 2,
    0x2A,      0x1F,      GEN_CMD, 2,       0x2B, 0x55, GEN_CMD, 2, 0x2C, 0x12,      GEN_CMD, 2,
    0x2D,      0x15,      GEN_CMD, 2,       0x2E, 0x15, GEN_CMD, 2, 0x2F, 0x00,      GEN_CMD, 2,
    0x30,      0x37,      GEN_CMD, 2,       0x31, 0x17, GEN_CMD, 2, 0x32, 0x1F,      GEN_CMD, 2,
    0x33,      0x08,      GEN_CMD, 2,       0x34, 0x0A, GEN_CMD, 2, 0x35, 0x1F,      GEN_CMD, 2,
    0x36,      0x0C,      GEN_CMD, 2,       0x37, 0x0E, GEN_CMD, 2, 0x38, 0x1F,      GEN_CMD, 2,
    0x39,      0x04,      GEN_CMD, 2,       0x3A, 0x06, GEN_CMD, 2, 0x3B, 0x10,      GEN_CMD, 2,
    0x3C,      0x1F,      GEN_CMD, 2,       0x3D, 0x1F, GEN_CMD, 2, 0x3E, 0x1F,      GEN_CMD, 2,
    0x3F,      0x15,      GEN_CMD, 2,       0x40, 0x1F, GEN_CMD, 2, 0x41, 0x1F,      GEN_CMD, 2,
    0x42,      0x13,      GEN_CMD, 2,       0x43, 0x15, GEN_CMD, 2, 0x44, 0x15,      GEN_CMD, 2,
    0x45,      0x01,      GEN_CMD, 2,       0x46, 0x37, GEN_CMD, 2, 0x47, 0x17,      GEN_CMD, 2,
    0x48,      0x1F,      GEN_CMD, 2,       0x49, 0x09, GEN_CMD, 2, 0x4A, 0x0B,      GEN_CMD, 2,
    0x4B,      0x1F,      GEN_CMD, 2,       0x4C, 0x0D, GEN_CMD, 2, 0x4D, 0x0F,      GEN_CMD, 2,
    0x4E,      0x1F,      GEN_CMD, 2,       0x4F, 0x05, GEN_CMD, 2, 0x50, 0x07,      GEN_CMD, 2,
    0x51,      0x11,      GEN_CMD, 2,       0x52, 0x1F, GEN_CMD, 2, 0x53, 0x1F,      GEN_CMD, 2,
    0x54,      0x1F,      GEN_CMD, 2,       0x55, 0x1F, GEN_CMD, 2, 0x56, 0x1F,      GEN_CMD, 2,
    0x57,      0x15,      GEN_CMD, 2,       0x58, 0x40, GEN_CMD, 2, 0x59, 0x00,      GEN_CMD, 2,
    0x5A,      0x00,      GEN_CMD, 2,       0x5B, 0x10, GEN_CMD, 2, 0x5C, 0x14,      GEN_CMD, 2,
    0x5D,      0x40,      GEN_CMD, 2,       0x5E, 0x01, GEN_CMD, 2, 0x5F, 0x02,      GEN_CMD, 2,
    0x60,      0x40,      GEN_CMD, 2,       0x61, 0x03, GEN_CMD, 2, 0x62, 0x04,      GEN_CMD, 2,
    0x63,      0x7A,      GEN_CMD, 2,       0x64, 0x7A, GEN_CMD, 2, 0x65, 0x74,      GEN_CMD, 2,
    0x66,      0x16,      GEN_CMD, 2,       0x67, 0xB4, GEN_CMD, 2, 0x68, 0x16,      GEN_CMD, 2,
    0x69,      0x7A,      GEN_CMD, 2,       0x6A, 0x7A, GEN_CMD, 2, 0x6B, 0x0C,      GEN_CMD, 2,
    0x6C,      0x00,      GEN_CMD, 2,       0x6D, 0x04, GEN_CMD, 2, 0x6E, 0x04,      GEN_CMD, 2,
    0x6F,      0x88,      GEN_CMD, 2,       0x70, 0x00, GEN_CMD, 2, 0x71, 0x00,      GEN_CMD, 2,
    0x72,      0x06,      GEN_CMD, 2,       0x73, 0x7B, GEN_CMD, 2, 0x74, 0x00,      GEN_CMD, 2,
    0x75,      0xBC,      GEN_CMD, 2,       0x76, 0x00, GEN_CMD, 2, 0x77, 0x04,      GEN_CMD, 2,
    0x78,      0x2C,      GEN_CMD, 2,       0x79, 0x00, GEN_CMD, 2, 0x7A, 0x00,      GEN_CMD, 2,
    0x7B,      0x00,      GEN_CMD, 2,       0x7C, 0x00, GEN_CMD, 2, 0x7D, 0x03,      GEN_CMD, 2,
    0x7E,      0x7B,      GEN_CMD, 2,       0xE0, 0x04, GEN_CMD, 2, 0x09, 0x11,      GEN_CMD, 2,
    0x0E,      0x48,      GEN_CMD, 2,       0x2B, 0x2B, GEN_CMD, 2, 0x2E, 0x44,      GEN_CMD, 2,
    0xE0,      0x00,      GEN_CMD, 2,       0xE6, 0x02, GEN_CMD, 2, 0xE7, 0x0C,      DCS_CMD, 1,
    0x11,      DELAY_CMD, 120,     DCS_CMD, 1,    0x29, DCS_CMD, 1, 0x35, DELAY_CMD, 20,
};
constexpr uint8_t lcd_init_sequence_G101B158_FT[] = {
    GEN_CMD,   2,         0xE0,    0x00,    GEN_CMD, 2,       0xE1,    0x93,    GEN_CMD, 2,
    0xE2,      0x65,      GEN_CMD, 2,       0xE3,    0xF8,    GEN_CMD, 2,       0x80,    0x03,
    GEN_CMD,   2,         0xE0,    0x01,    GEN_CMD, 2,       0x00,    0x00,    GEN_CMD, 2,
    0x01,      0x5D,      GEN_CMD, 2,       0x03,    0x00,    GEN_CMD, 2,       0x04,    0x64,
    GEN_CMD,   2,         0x17,    0x00,    GEN_CMD, 2,       0x18,    0xC7,    GEN_CMD, 2,
    0x19,      0x01,      GEN_CMD, 2,       0x1A,    0x00,    GEN_CMD, 2,       0x1B,    0xC7,
    GEN_CMD,   2,         0x1C,    0x01,    GEN_CMD, 2,       0x1F,    0x70,    GEN_CMD, 2,
    0x20,      0x2D,      GEN_CMD, 2,       0x21,    0x2D,    GEN_CMD, 2,       0x22,    0x7E,
    GEN_CMD,   2,         0x35,    0x28,    GEN_CMD, 2,       0x37,    0x19,    GEN_CMD, 2,
    0x38,      0x05,      GEN_CMD, 2,       0x39,    0x00,    GEN_CMD, 2,       0x3A,    0x01,
    GEN_CMD,   2,         0x3C,    0x7C,    GEN_CMD, 2,       0x3D,    0xFF,    GEN_CMD, 2,
    0x3E,      0xFF,      GEN_CMD, 2,       0x3F,    0x7F,    GEN_CMD, 2,       0x40,    0x06,
    GEN_CMD,   2,         0x41,    0xA0,    GEN_CMD, 2,       0x43,    0x14,    GEN_CMD, 2,
    0x44,      0x17,      GEN_CMD, 2,       0x45,    0x2C,    GEN_CMD, 2,       0x55,    0x0F,
    GEN_CMD,   2,         0x57,    0x68,    GEN_CMD, 2,       0x59,    0x0A,    GEN_CMD, 2,
    0x5A,      0x2E,      GEN_CMD, 2,       0x5B,    0x1A,    GEN_CMD, 2,       0x5C,    0x15,
    GEN_CMD,   2,         0x5D,    0x7F,    GEN_CMD, 2,       0x5E,    0x61,    GEN_CMD, 2,
    0x5F,      0x50,      GEN_CMD, 2,       0x60,    0x43,    GEN_CMD, 2,       0x61,    0x3E,
    GEN_CMD,   2,         0x62,    0x2E,    GEN_CMD, 2,       0x63,    0x33,    GEN_CMD, 2,
    0x64,      0x1C,      GEN_CMD, 2,       0x65,    0x34,    GEN_CMD, 2,       0x66,    0x33,
    GEN_CMD,   2,         0x67,    0x32,    GEN_CMD, 2,       0x68,    0x50,    GEN_CMD, 2,
    0x69,      0x3E,      GEN_CMD, 2,       0x6A,    0x46,    GEN_CMD, 2,       0x6B,    0x37,
    GEN_CMD,   2,         0x6C,    0x32,    GEN_CMD, 2,       0x6D,    0x24,    GEN_CMD, 2,
    0x6E,      0x12,      GEN_CMD, 2,       0x6F,    0x02,    GEN_CMD, 2,       0x70,    0x7F,
    GEN_CMD,   2,         0x71,    0x61,    GEN_CMD, 2,       0x72,    0x50,    GEN_CMD, 2,
    0x73,      0x43,      GEN_CMD, 2,       0x74,    0x3E,    GEN_CMD, 2,       0x75,    0x2E,
    GEN_CMD,   2,         0x76,    0x33,    GEN_CMD, 2,       0x77,    0x1C,    GEN_CMD, 2,
    0x78,      0x34,      GEN_CMD, 2,       0x79,    0x33,    GEN_CMD, 2,       0x7A,    0x32,
    GEN_CMD,   2,         0x7B,    0x50,    GEN_CMD, 2,       0x7C,    0x3E,    GEN_CMD, 2,
    0x7D,      0x46,      GEN_CMD, 2,       0x7E,    0x37,    GEN_CMD, 2,       0x7F,    0x32,
    GEN_CMD,   2,         0x80,    0x24,    GEN_CMD, 2,       0x81,    0x12,    GEN_CMD, 2,
    0x82,      0x02,      GEN_CMD, 2,       0xE0,    0x02,    GEN_CMD, 2,       0x00,    0x52,
    GEN_CMD,   2,         0x01,    0x55,    GEN_CMD, 2,       0x02,    0x55,    GEN_CMD, 2,
    0x03,      0x50,      GEN_CMD, 2,       0x04,    0x77,    GEN_CMD, 2,       0x05,    0x57,
    GEN_CMD,   2,         0x06,    0x55,    GEN_CMD, 2,       0x07,    0x4E,    GEN_CMD, 2,
    0x08,      0x4C,      GEN_CMD, 2,       0x09,    0x5F,    GEN_CMD, 2,       0x0A,    0x4A,
    GEN_CMD,   2,         0x0B,    0x48,    GEN_CMD, 2,       0x0C,    0x55,    GEN_CMD, 2,
    0x0D,      0x46,      GEN_CMD, 2,       0x0E,    0x44,    GEN_CMD, 2,       0x0F,    0x40,
    GEN_CMD,   2,         0x10,    0x55,    GEN_CMD, 2,       0x11,    0x55,    GEN_CMD, 2,
    0x12,      0x55,      GEN_CMD, 2,       0x13,    0x55,    GEN_CMD, 2,       0x14,    0x55,
    GEN_CMD,   2,         0x15,    0x55,    GEN_CMD, 2,       0x16,    0x53,    GEN_CMD, 2,
    0x17,      0x55,      GEN_CMD, 2,       0x18,    0x55,    GEN_CMD, 2,       0x19,    0x51,
    GEN_CMD,   2,         0x1A,    0x77,    GEN_CMD, 2,       0x1B,    0x57,    GEN_CMD, 2,
    0x1C,      0x55,      GEN_CMD, 2,       0x1D,    0x4F,    GEN_CMD, 2,       0x1E,    0x4D,
    GEN_CMD,   2,         0x1F,    0x5F,    GEN_CMD, 2,       0x20,    0x4B,    GEN_CMD, 2,
    0x21,      0x49,      GEN_CMD, 2,       0x22,    0x55,    GEN_CMD, 2,       0x23,    0x47,
    GEN_CMD,   2,         0x24,    0x45,    GEN_CMD, 2,       0x25,    0x41,    GEN_CMD, 2,
    0x26,      0x55,      GEN_CMD, 2,       0x27,    0x55,    GEN_CMD, 2,       0x28,    0x55,
    GEN_CMD,   2,         0x29,    0x55,    GEN_CMD, 2,       0x2A,    0x55,    GEN_CMD, 2,
    0x2B,      0x55,      GEN_CMD, 2,       0x2C,    0x13,    GEN_CMD, 2,       0x2D,    0x15,
    GEN_CMD,   2,         0x2E,    0x15,    GEN_CMD, 2,       0x2F,    0x01,    GEN_CMD, 2,
    0x30,      0x37,      GEN_CMD, 2,       0x31,    0x17,    GEN_CMD, 2,       0x32,    0x15,
    GEN_CMD,   2,         0x33,    0x0D,    GEN_CMD, 2,       0x34,    0x0F,    GEN_CMD, 2,
    0x35,      0x15,      GEN_CMD, 2,       0x36,    0x05,    GEN_CMD, 2,       0x37,    0x07,
    GEN_CMD,   2,         0x38,    0x15,    GEN_CMD, 2,       0x39,    0x09,    GEN_CMD, 2,
    0x3A,      0x0B,      GEN_CMD, 2,       0x3B,    0x11,    GEN_CMD, 2,       0x3C,    0x15,
    GEN_CMD,   2,         0x3D,    0x15,    GEN_CMD, 2,       0x3E,    0x15,    GEN_CMD, 2,
    0x3F,      0x15,      GEN_CMD, 2,       0x40,    0x15,    GEN_CMD, 2,       0x41,    0x15,
    GEN_CMD,   2,         0x42,    0x12,    GEN_CMD, 2,       0x43,    0x15,    GEN_CMD, 2,
    0x44,      0x15,      GEN_CMD, 2,       0x45,    0x00,    GEN_CMD, 2,       0x46,    0x37,
    GEN_CMD,   2,         0x47,    0x17,    GEN_CMD, 2,       0x48,    0x15,    GEN_CMD, 2,
    0x49,      0x0C,      GEN_CMD, 2,       0x4A,    0x0E,    GEN_CMD, 2,       0x4B,    0x15,
    GEN_CMD,   2,         0x4C,    0x04,    GEN_CMD, 2,       0x4D,    0x06,    GEN_CMD, 2,
    0x4E,      0x15,      GEN_CMD, 2,       0x4F,    0x08,    GEN_CMD, 2,       0x50,    0x0A,
    GEN_CMD,   2,         0x51,    0x10,    GEN_CMD, 2,       0x52,    0x15,    GEN_CMD, 2,
    0x53,      0x15,      GEN_CMD, 2,       0x54,    0x15,    GEN_CMD, 2,       0x55,    0x15,
    GEN_CMD,   2,         0x56,    0x15,    GEN_CMD, 2,       0x57,    0x15,    GEN_CMD, 2,
    0x58,      0x40,      GEN_CMD, 2,       0x5B,    0x10,    GEN_CMD, 2,       0x5C,    0x12,
    GEN_CMD,   2,         0x5D,    0x40,    GEN_CMD, 2,       0x5E,    0x00,    GEN_CMD, 2,
    0x5F,      0x00,      GEN_CMD, 2,       0x60,    0x40,    GEN_CMD, 2,       0x61,    0x03,
    GEN_CMD,   2,         0x62,    0x04,    GEN_CMD, 2,       0x63,    0x6C,    GEN_CMD, 2,
    0x64,      0x6C,      GEN_CMD, 2,       0x65,    0x75,    GEN_CMD, 2,       0x66,    0x14,
    GEN_CMD,   2,         0x67,    0xB4,    GEN_CMD, 2,       0x68,    0x14,    GEN_CMD, 2,
    0x69,      0x6C,      GEN_CMD, 2,       0x6A,    0x6C,    GEN_CMD, 2,       0x6B,    0x0C,
    GEN_CMD,   2,         0x6D,    0x04,    GEN_CMD, 2,       0x6E,    0x00,    GEN_CMD, 2,
    0x6F,      0x88,      GEN_CMD, 2,       0x75,    0xBB,    GEN_CMD, 2,       0x76,    0x02,
    GEN_CMD,   2,         0x77,    0x00,    GEN_CMD, 2,       0x78,    0x02,    GEN_CMD, 2,
    0xE0,      0x03,      GEN_CMD, 2,       0xAF,    0x20,    GEN_CMD, 2,       0xE0,    0x04,
    GEN_CMD,   2,         0x09,    0x11,    GEN_CMD, 2,       0x0E,    0x48,    GEN_CMD, 2,
    0x2B,      0x2B,      GEN_CMD, 2,       0x2D,    0x03,    GEN_CMD, 2,       0x2E,    0x44,
    GEN_CMD,   2,         0x41,    0xFF,    GEN_CMD, 2,       0xE0,    0x05,    GEN_CMD, 2,
    0x12,      0x72,      GEN_CMD, 2,       0xE0,    0x00,    GEN_CMD, 2,       0xE6,    0x02,
    GEN_CMD,   2,         0xE7,    0x0C,    GEN_CMD, 2,       0x53,    0x2C,    DCS_CMD, 1,
    0x11,      DELAY_CMD, 120,     GEN_CMD, 2,       0xE0,    0x03,    GEN_CMD, 2,       0x2B,
    0x01,      DELAY_CMD, 10,      GEN_CMD, 2,       0x2C,    0x01,    GEN_CMD, 2,       0x30,
    0x03,      GEN_CMD,   2,       0x31,    0xDE,    GEN_CMD, 2,       0x32,    0x03,    GEN_CMD,
    2,         0x33,      0xDA,    GEN_CMD, 2,       0x34,    0x03,    GEN_CMD, 2,       0x35,
    0xD1,      GEN_CMD,   2,       0x36,    0x03,    GEN_CMD, 2,       0x37,    0xC9,    GEN_CMD,
    2,         0x38,      0x03,    GEN_CMD, 2,       0x39,    0xC1,    GEN_CMD, 2,       0x3A,
    0x03,      GEN_CMD,   2,       0x3B,    0xB3,    GEN_CMD, 2,       0x3C,    0x03,    GEN_CMD,
    2,         0x3D,      0xA4,    GEN_CMD, 2,       0x3E,    0x03,    GEN_CMD, 2,       0x3F,
    0x83,      GEN_CMD,   2,       0x40,    0x03,    GEN_CMD, 2,       0x41,    0x62,    GEN_CMD,
    2,         0x42,      0x03,    GEN_CMD, 2,       0x43,    0x23,    GEN_CMD, 2,       0x44,
    0x02,      GEN_CMD,   2,       0x45,    0xE4,    GEN_CMD, 2,       0x46,    0x02,    GEN_CMD,
    2,         0x47,      0x67,    GEN_CMD, 2,       0x48,    0x01,    GEN_CMD, 2,       0x49,
    0xEC,      GEN_CMD,   2,       0x4A,    0x01,    GEN_CMD, 2,       0x4B,    0xE8,    GEN_CMD,
    2,         0x4C,      0x01,    GEN_CMD, 2,       0x4D,    0x6D,    GEN_CMD, 2,       0x4E,
    0x00,      GEN_CMD,   2,       0x4F,    0xF2,    GEN_CMD, 2,       0x50,    0x00,    GEN_CMD,
    2,         0x51,      0xB2,    GEN_CMD, 2,       0x52,    0x00,    GEN_CMD, 2,       0x53,
    0x76,      GEN_CMD,   2,       0x54,    0x00,    GEN_CMD, 2,       0x55,    0x58,    GEN_CMD,
    2,         0x56,      0x00,    GEN_CMD, 2,       0x57,    0x39,    GEN_CMD, 2,       0x58,
    0x00,      GEN_CMD,   2,       0x59,    0x2A,    GEN_CMD, 2,       0x5A,    0x00,    GEN_CMD,
    2,         0x5B,      0x1B,    GEN_CMD, 2,       0x5C,    0x00,    GEN_CMD, 2,       0x5D,
    0x13,      GEN_CMD,   2,       0x5E,    0x00,    GEN_CMD, 2,       0x5F,    0x0B,    GEN_CMD,
    2,         0x60,      0x00,    GEN_CMD, 2,       0x61,    0x04,    GEN_CMD, 2,       0x62,
    0x00,      GEN_CMD,   2,       0x63,    0x00,    GEN_CMD, 2,       0x64,    0x03,    GEN_CMD,
    2,         0x65,      0xE7,    GEN_CMD, 2,       0x66,    0x03,    GEN_CMD, 2,       0x67,
    0xE4,      GEN_CMD,   2,       0x68,    0x03,    GEN_CMD, 2,       0x69,    0xDD,    GEN_CMD,
    2,         0x6A,      0x03,    GEN_CMD, 2,       0x6B,    0xD5,    GEN_CMD, 2,       0x6C,
    0x03,      GEN_CMD,   2,       0x6D,    0xCE,    GEN_CMD, 2,       0x6E,    0x03,    GEN_CMD,
    2,         0x6F,      0xBF,    GEN_CMD, 2,       0x70,    0x03,    GEN_CMD, 2,       0x71,
    0xB2,      GEN_CMD,   2,       0x72,    0x03,    GEN_CMD, 2,       0x73,    0x93,    GEN_CMD,
    2,         0x74,      0x03,    GEN_CMD, 2,       0x75,    0x71,    GEN_CMD, 2,       0x76,
    0x03,      GEN_CMD,   2,       0x77,    0x33,    GEN_CMD, 2,       0x78,    0x02,    GEN_CMD,
    2,         0x79,      0xF4,    GEN_CMD, 2,       0x7A,    0x02,    GEN_CMD, 2,       0x7B,
    0x75,      GEN_CMD,   2,       0x7C,    0x01,    GEN_CMD, 2,       0x7D,    0xF7,    GEN_CMD,
    2,         0x7E,      0x01,    GEN_CMD, 2,       0x7F,    0xF3,    GEN_CMD, 2,       0x80,
    0x01,      GEN_CMD,   2,       0x81,    0x75,    GEN_CMD, 2,       0x82,    0x00,    GEN_CMD,
    2,         0x83,      0xF7,    GEN_CMD, 2,       0x84,    0x00,    GEN_CMD, 2,       0x85,
    0xB6,      GEN_CMD,   2,       0x86,    0x00,    GEN_CMD, 2,       0x87,    0x7C,    GEN_CMD,
    2,         0x88,      0x00,    GEN_CMD, 2,       0x89,    0x5E,    GEN_CMD, 2,       0x8A,
    0x00,      GEN_CMD,   2,       0x8B,    0x3F,    GEN_CMD, 2,       0x8C,    0x00,    GEN_CMD,
    2,         0x8D,      0x2E,    GEN_CMD, 2,       0x8E,    0x00,    GEN_CMD, 2,       0x8F,
    0x1D,      GEN_CMD,   2,       0x90,    0x00,    GEN_CMD, 2,       0x91,    0x15,    GEN_CMD,
    2,         0x92,      0x00,    GEN_CMD, 2,       0x93,    0x0C,    GEN_CMD, 2,       0x94,
    0x00,      GEN_CMD,   2,       0x95,    0x04,    GEN_CMD, 2,       0x96,    0x00,    GEN_CMD,
    2,         0x97,      0x00,    GEN_CMD, 2,       0xE0,    0x00,    DCS_CMD, 1,       0x29,
    DELAY_CMD, 5,
};
constexpr uint8_t lcd_init_sequence_TV101WXM_FT[] = {
    DELAY_CMD, 100,     GEN_CMD, 2,         0xE0,    0x00,    GEN_CMD, 2,       0xE1,    0x93,
    GEN_CMD,   2,       0xE2,    0x65,      GEN_CMD, 2,       0xE3,    0xF8,    GEN_CMD, 2,
    0x80,      0x03,    GEN_CMD, 2,         0xE0,    0x01,    GEN_CMD, 2,       0x00,    0x00,
    GEN_CMD,   2,       0x01,    0x55,      GEN_CMD, 2,       0x17,    0x00,    GEN_CMD, 2,
    0x18,      0xAF,    GEN_CMD, 2,         0x19,    0x01,    GEN_CMD, 2,       0x1A,    0x00,
    GEN_CMD,   2,       0x1B,    0xAF,      GEN_CMD, 2,       0x1C,    0x01,    GEN_CMD, 2,
    0x1F,      0x3E,    GEN_CMD, 2,         0x20,    0x28,    GEN_CMD, 2,       0x21,    0x28,
    GEN_CMD,   2,       0x22,    0x7E,      GEN_CMD, 2,       0x35,    0x26,    GEN_CMD, 2,
    0x37,      0x09,    GEN_CMD, 2,         0x38,    0x04,    GEN_CMD, 2,       0x39,    0x00,
    GEN_CMD,   2,       0x3A,    0x01,      GEN_CMD, 2,       0x3C,    0x78,    GEN_CMD, 2,
    0x3D,      0xFF,    GEN_CMD, 2,         0x3E,    0xFF,    GEN_CMD, 2,       0x3F,    0x7F,
    GEN_CMD,   2,       0x40,    0x06,      GEN_CMD, 2,       0x41,    0xA0,    GEN_CMD, 2,
    0x42,      0x81,    GEN_CMD, 2,         0x43,    0x08,    GEN_CMD, 2,       0x44,    0x0B,
    GEN_CMD,   2,       0x45,    0x28,      GEN_CMD, 2,       0x55,    0x0F,    GEN_CMD, 2,
    0x57,      0x69,    GEN_CMD, 2,         0x59,    0x0A,    GEN_CMD, 2,       0x5A,    0x28,
    GEN_CMD,   2,       0x5B,    0x14,      GEN_CMD, 2,       0x5D,    0x7F,    GEN_CMD, 2,
    0x5E,      0x67,    GEN_CMD, 2,         0x5F,    0x57,    GEN_CMD, 2,       0x60,    0x4A,
    GEN_CMD,   2,       0x61,    0x44,      GEN_CMD, 2,       0x62,    0x34,    GEN_CMD, 2,
    0x63,      0x37,    GEN_CMD, 2,         0x64,    0x1F,    GEN_CMD, 2,       0x65,    0x36,
    GEN_CMD,   2,       0x66,    0x33,      GEN_CMD, 2,       0x67,    0x32,    GEN_CMD, 2,
    0x68,      0x4F,    GEN_CMD, 2,         0x69,    0x3D,    GEN_CMD, 2,       0x6A,    0x47,
    GEN_CMD,   2,       0x6B,    0x38,      GEN_CMD, 2,       0x6C,    0x33,    GEN_CMD, 2,
    0x6D,      0x26,    GEN_CMD, 2,         0x6E,    0x13,    GEN_CMD, 2,       0x6F,    0x00,
    GEN_CMD,   2,       0x70,    0x7F,      GEN_CMD, 2,       0x71,    0x67,    GEN_CMD, 2,
    0x72,      0x57,    GEN_CMD, 2,         0x73,    0x4A,    GEN_CMD, 2,       0x74,    0x44,
    GEN_CMD,   2,       0x75,    0x34,      GEN_CMD, 2,       0x76,    0x37,    GEN_CMD, 2,
    0x77,      0x1F,    GEN_CMD, 2,         0x78,    0x36,    GEN_CMD, 2,       0x79,    0x33,
    GEN_CMD,   2,       0x7A,    0x32,      GEN_CMD, 2,       0x7B,    0x4F,    GEN_CMD, 2,
    0x7C,      0x3D,    GEN_CMD, 2,         0x7D,    0x47,    GEN_CMD, 2,       0x7E,    0x38,
    GEN_CMD,   2,       0x7F,    0x33,      GEN_CMD, 2,       0x80,    0x26,    GEN_CMD, 2,
    0x81,      0x13,    GEN_CMD, 2,         0x82,    0x00,    GEN_CMD, 2,       0xE0,    0x02,
    GEN_CMD,   2,       0x00,    0x1E,      GEN_CMD, 2,       0x01,    0x1E,    GEN_CMD, 2,
    0x02,      0x41,    GEN_CMD, 2,         0x03,    0x41,    GEN_CMD, 2,       0x04,    0x43,
    GEN_CMD,   2,       0x05,    0x43,      GEN_CMD, 2,       0x06,    0x1F,    GEN_CMD, 2,
    0x07,      0x1F,    GEN_CMD, 2,         0x08,    0x35,    GEN_CMD, 2,       0x09,    0x1F,
    GEN_CMD,   2,       0x0A,    0x15,      GEN_CMD, 2,       0x0B,    0x15,    GEN_CMD, 2,
    0x0C,      0x1F,    GEN_CMD, 2,         0x0D,    0x47,    GEN_CMD, 2,       0x0E,    0x47,
    GEN_CMD,   2,       0x0F,    0x45,      GEN_CMD, 2,       0x10,    0x45,    GEN_CMD, 2,
    0x11,      0x4B,    GEN_CMD, 2,         0x12,    0x4B,    GEN_CMD, 2,       0x13,    0x49,
    GEN_CMD,   2,       0x14,    0x49,      GEN_CMD, 2,       0x15,    0x1F,    GEN_CMD, 2,
    0x16,      0x1E,    GEN_CMD, 2,         0x17,    0x1E,    GEN_CMD, 2,       0x18,    0x40,
    GEN_CMD,   2,       0x19,    0x40,      GEN_CMD, 2,       0x1A,    0x42,    GEN_CMD, 2,
    0x1B,      0x42,    GEN_CMD, 2,         0x1C,    0x1F,    GEN_CMD, 2,       0x1D,    0x1F,
    GEN_CMD,   2,       0x1E,    0x35,      GEN_CMD, 2,       0x1F,    0x1F,    GEN_CMD, 2,
    0x20,      0x15,    GEN_CMD, 2,         0x21,    0x15,    GEN_CMD, 2,       0x22,    0x1F,
    GEN_CMD,   2,       0x23,    0x46,      GEN_CMD, 2,       0x24,    0x46,    GEN_CMD, 2,
    0x25,      0x44,    GEN_CMD, 2,         0x26,    0x44,    GEN_CMD, 2,       0x27,    0x4A,
    GEN_CMD,   2,       0x28,    0x4A,      GEN_CMD, 2,       0x29,    0x48,    GEN_CMD, 2,
    0x2A,      0x48,    GEN_CMD, 2,         0x2B,    0x1F,    GEN_CMD, 2,       0x58,    0x40,
    GEN_CMD,   2,       0x5B,    0x30,      GEN_CMD, 2,       0x5C,    0x0F,    GEN_CMD, 2,
    0x5D,      0x30,    GEN_CMD, 2,         0x5E,    0x01,    GEN_CMD, 2,       0x5F,    0x02,
    GEN_CMD,   2,       0x63,    0x14,      GEN_CMD, 2,       0x64,    0x6A,    GEN_CMD, 2,
    0x67,      0x73,    GEN_CMD, 2,         0x68,    0x11,    GEN_CMD, 2,       0x69,    0x14,
    GEN_CMD,   2,       0x6A,    0x6A,      GEN_CMD, 2,       0x6B,    0x08,    GEN_CMD, 2,
    0x6C,      0x00,    GEN_CMD, 2,         0x6D,    0x00,    GEN_CMD, 2,       0x6E,    0x00,
    GEN_CMD,   2,       0x6F,    0x88,      GEN_CMD, 2,       0x77,    0xDD,    GEN_CMD, 2,
    0x79,      0x0E,    GEN_CMD, 2,         0x7A,    0x0F,    GEN_CMD, 2,       0x7D,    0x14,
    GEN_CMD,   2,       0x7E,    0x82,      GEN_CMD, 2,       0xE0,    0x04,    GEN_CMD, 2,
    0x09,      0x11,    GEN_CMD, 2,         0x0E,    0x48,    GEN_CMD, 2,       0x2B,    0x2B,
    GEN_CMD,   2,       0x2D,    0x03,      GEN_CMD, 2,       0x2E,    0x44,    GEN_CMD, 2,
    0xE0,      0x00,    GEN_CMD, 2,         0xE6,    0x02,    GEN_CMD, 2,       0xE7,    0x0C,
    DCS_CMD,   1,       0x11,    DELAY_CMD, 120,     GEN_CMD, 2,       0xE0,    0x03,    GEN_CMD,
    2,         0x2B,    0x01,    GEN_CMD,   2,       0x2C,    0x00,    GEN_CMD, 2,       0x30,
    0x03,      GEN_CMD, 2,       0x31,      0xBC,    GEN_CMD, 2,       0x32,    0x03,    GEN_CMD,
    2,         0x33,    0xBA,    GEN_CMD,   2,       0x34,    0x03,    GEN_CMD, 2,       0x35,
    0xB4,      GEN_CMD, 2,       0x36,      0x03,    GEN_CMD, 2,       0x37,    0xAE,    GEN_CMD,
    2,         0x38,    0x03,    GEN_CMD,   2,       0x39,    0xA6,    GEN_CMD, 2,       0x3A,
    0x03,      GEN_CMD, 2,       0x3B,      0x97,    GEN_CMD, 2,       0x3C,    0x03,    GEN_CMD,
    2,         0x3D,    0x88,    GEN_CMD,   2,       0x3E,    0x03,    GEN_CMD, 2,       0x3F,
    0x68,      GEN_CMD, 2,       0x40,      0x03,    GEN_CMD, 2,       0x41,    0x4C,    GEN_CMD,
    2,         0x42,    0x03,    GEN_CMD,   2,       0x43,    0x0F,    GEN_CMD, 2,       0x44,
    0x02,      GEN_CMD, 2,       0x45,      0xD2,    GEN_CMD, 2,       0x46,    0x02,    GEN_CMD,
    2,         0x47,    0x58,    GEN_CMD,   2,       0x48,    0x01,    GEN_CMD, 2,       0x49,
    0xE3,      GEN_CMD, 2,       0x4A,      0x01,    GEN_CMD, 2,       0x4B,    0xDF,    GEN_CMD,
    2,         0x4C,    0x01,    GEN_CMD,   2,       0x4D,    0x68,    GEN_CMD, 2,       0x4E,
    0x00,      GEN_CMD, 2,       0x4F,      0xEF,    GEN_CMD, 2,       0x50,    0x00,    GEN_CMD,
    2,         0x51,    0xB1,    GEN_CMD,   2,       0x52,    0x00,    GEN_CMD, 2,       0x53,
    0x70,      GEN_CMD, 2,       0x54,      0x00,    GEN_CMD, 2,       0x55,    0x53,    GEN_CMD,
    2,         0x56,    0x00,    GEN_CMD,   2,       0x57,    0x34,    GEN_CMD, 2,       0x58,
    0x00,      GEN_CMD, 2,       0x59,      0x26,    GEN_CMD, 2,       0x5A,    0x00,    GEN_CMD,
    2,         0x5B,    0x18,    GEN_CMD,   2,       0x5C,    0x00,    GEN_CMD, 2,       0x5D,
    0x11,      GEN_CMD, 2,       0x5E,      0x00,    GEN_CMD, 2,       0x5F,    0x0A,    GEN_CMD,
    2,         0x60,    0x00,    GEN_CMD,   2,       0x61,    0x03,    GEN_CMD, 2,       0x62,
    0x00,      GEN_CMD, 2,       0x63,      0x00,    GEN_CMD, 2,       0x64,    0x03,    GEN_CMD,
    2,         0x65,    0xCC,    GEN_CMD,   2,       0x66,    0x03,    GEN_CMD, 2,       0x67,
    0xCA,      GEN_CMD, 2,       0x68,      0x03,    GEN_CMD, 2,       0x69,    0xC3,    GEN_CMD,
    2,         0x6A,    0x03,    GEN_CMD,   2,       0x6B,    0xBD,    GEN_CMD, 2,       0x6C,
    0x03,      GEN_CMD, 2,       0x6D,      0xB7,    GEN_CMD, 2,       0x6E,    0x03,    GEN_CMD,
    2,         0x6F,    0xAB,    GEN_CMD,   2,       0x70,    0x03,    GEN_CMD, 2,       0x71,
    0x9D,      GEN_CMD, 2,       0x72,      0x03,    GEN_CMD, 2,       0x73,    0x7F,    GEN_CMD,
    2,         0x74,    0x03,    GEN_CMD,   2,       0x75,    0x62,    GEN_CMD, 2,       0x76,
    0x03,      GEN_CMD, 2,       0x77,      0x26,    GEN_CMD, 2,       0x78,    0x02,    GEN_CMD,
    2,         0x79,    0xEA,    GEN_CMD,   2,       0x7A,    0x02,    GEN_CMD, 2,       0x7B,
    0x6F,      GEN_CMD, 2,       0x7C,      0x01,    GEN_CMD, 2,       0x7D,    0xF3,    GEN_CMD,
    2,         0x7E,    0x01,    GEN_CMD,   2,       0x7F,    0xEF,    GEN_CMD, 2,       0x80,
    0x01,      GEN_CMD, 2,       0x81,      0x73,    GEN_CMD, 2,       0x82,    0x00,    GEN_CMD,
    2,         0x83,    0xF6,    GEN_CMD,   2,       0x84,    0x00,    GEN_CMD, 2,       0x85,
    0xB5,      GEN_CMD, 2,       0x86,      0x00,    GEN_CMD, 2,       0x87,    0x77,    GEN_CMD,
    2,         0x88,    0x00,    GEN_CMD,   2,       0x89,    0x5A,    GEN_CMD, 2,       0x8A,
    0x00,      GEN_CMD, 2,       0x8B,      0x3A,    GEN_CMD, 2,       0x8C,    0x00,    GEN_CMD,
    2,         0x8D,    0x2A,    GEN_CMD,   2,       0x8E,    0x00,    GEN_CMD, 2,       0x8F,
    0x1B,      GEN_CMD, 2,       0x90,      0x00,    GEN_CMD, 2,       0x91,    0x13,    GEN_CMD,
    2,         0x92,    0x00,    GEN_CMD,   2,       0x93,    0x0C,    GEN_CMD, 2,       0x94,
    0x00,      GEN_CMD, 2,       0x95,      0x04,    GEN_CMD, 2,       0x96,    0x00,    GEN_CMD,
    2,         0x97,    0x00,    GEN_CMD,   2,       0xE0,    0x00,    DCS_CMD, 1,       0x29,
    DELAY_CMD, 0xFF,
};
}  // namespace

zx_status_t Lcd::GetDisplayId() {
  uint8_t txcmd = READ_DISPLAY_ID_CMD;
  uint8_t rsp[READ_DISPLAY_ID_LEN];
  zx_status_t status = ZX_OK;
  // Create the command using mipi-dsi library
  mipi_dsi_cmd_t cmd;
  status = mipi_dsi::MipiDsi::CreateCommand(&txcmd, 1, rsp, READ_DISPLAY_ID_LEN, COMMAND_GEN, &cmd);
  if (status == ZX_OK) {
    if ((status = dsiimpl_.SendCmd(&cmd, 1)) != ZX_OK) {
      DISP_ERROR("Could not read out Display ID\n");
      return status;
    }
    DISP_INFO("Display ID: 0x%x, 0x%x, 0x%x\n", rsp[0], rsp[1], rsp[2]);
  } else {
    DISP_ERROR("Invalid command (%d)\n", status);
  }

  return status;
}

// This function write DSI commands based on the input buffer.
zx_status_t Lcd::LoadInitTable(const uint8_t* buffer, size_t size) {
  zx_status_t status = ZX_OK;
  size_t i;
  i = 0;
  bool isDCS = false;
  while (i < size) {
    switch (buffer[i]) {
      case DELAY_CMD:
        zx_nanosleep(zx_deadline_after(ZX_MSEC(buffer[i + 1])));
        i += 2;
        break;
      case DCS_CMD:
        isDCS = true;
        __FALLTHROUGH;
      case GEN_CMD:
      default:
        // Create the command using mipi-dsi library
        mipi_dsi_cmd_t cmd;
        status =
            mipi_dsi::MipiDsi::CreateCommand(&buffer[i + 2], buffer[i + 1], NULL, 0, isDCS, &cmd);
        if (status == ZX_OK) {
          if ((status = dsiimpl_.SendCmd(&cmd, 1)) != ZX_OK) {
            DISP_ERROR("Error loading LCD init table. Aborting %d\n", status);
            return status;
          }
        } else {
          DISP_ERROR("Invalid command (%d). Skipping\n", status);
        }
        // increment by payload length
        i += buffer[i + 1] + 2;  // the 2 includes current plus size field
        isDCS = false;
        break;
    }
  }
  return status;
}

zx_status_t Lcd::Disable() {
  ZX_DEBUG_ASSERT(initialized_);
  if (!enabled_) {
    return ZX_OK;
  }
  // First send shutdown command to LCD
  enabled_ = false;
  return LoadInitTable(lcd_shutdown_sequence, sizeof(lcd_shutdown_sequence));
}

zx_status_t Lcd::Enable() {
  ZX_DEBUG_ASSERT(initialized_);
  if (enabled_) {
    return ZX_OK;
  }
  // reset LCD panel via GPIO according to vendor doc
  gpio_config_out(&gpio_, 1);
  gpio_write(&gpio_, 1);
  zx_nanosleep(zx_deadline_after(ZX_MSEC(30)));
  gpio_write(&gpio_, 0);
  zx_nanosleep(zx_deadline_after(ZX_MSEC(100)));
  gpio_write(&gpio_, 1);
  zx_nanosleep(zx_deadline_after(ZX_MSEC(50)));
  // check status
  if (GetDisplayId() != ZX_OK) {
    DISP_ERROR("Cannot communicate with LCD Panel!\n");
    return ZX_ERR_TIMED_OUT;
  }
  zx_nanosleep(zx_deadline_after(ZX_USEC(10)));

  // load table
  zx_status_t status;
  if (panel_type_ == PANEL_TV070WSM_FT) {
    status = LoadInitTable(lcd_init_sequence_TV070WSM_FT, sizeof(lcd_init_sequence_TV070WSM_FT));
  } else if (panel_type_ == PANEL_P070ACB_FT) {
    status = LoadInitTable(lcd_init_sequence_P070ACB_FT, sizeof(lcd_init_sequence_P070ACB_FT));
  } else if (panel_type_ == PANEL_TV101WXM_FT) {
    status = LoadInitTable(lcd_init_sequence_TV101WXM_FT, sizeof(lcd_init_sequence_TV101WXM_FT));
  } else if (panel_type_ == PANEL_G101B158_FT) {
    status = LoadInitTable(lcd_init_sequence_G101B158_FT, sizeof(lcd_init_sequence_G101B158_FT));
  } else {
    DISP_ERROR("Unsupported panel detected!\n");
    status = ZX_ERR_NOT_SUPPORTED;
  }

  if (status == ZX_OK) {
    // LCD is on now.
    enabled_ = true;
  }
  return status;
}

zx_status_t Lcd::Init(zx_device_t* dsi_dev, zx_device_t* gpio_dev) {
  if (initialized_) {
    return ZX_OK;
  }

  dsiimpl_ = dsi_dev;

  zx_status_t status = device_get_protocol(gpio_dev, ZX_PROTOCOL_GPIO, &gpio_);
  if (status != ZX_OK) {
    DISP_ERROR("Could not obtain GPIO protocol\n");
    return status;
  }

  initialized_ = true;

  if (kBootloaderDisplayEnabled) {
    DISP_INFO("LCD Enabled by Bootloader. Disabling before proceeding\n");
    enabled_ = true;
    Disable();
  }

  return ZX_OK;
}

}  // namespace astro_display
