Files
2026-04-26 21:35:04 +08:00

1124 lines
38 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifdef CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B
// Leave it blank
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4_3
static const st7701_lcd_init_cmd_t vendor_specific_init_default[] = {
{0xFF, (uint8_t[]){0x77, 0x01, 0x00, 0x00, 0x13}, 5, 0},
{0xEF, (uint8_t[]){0x08}, 1, 0},
{0xFF, (uint8_t[]){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0},
{0xC0, (uint8_t[]){0x63, 0x00}, 2, 0},
{0xC1, (uint8_t[]){0x0D, 0x02}, 2, 0},
{0xC2, (uint8_t[]){0x17, 0x08}, 2, 0},
{0xCC, (uint8_t[]){0x10}, 1, 0},
{0xB0, (uint8_t[]){0x40, 0xC9, 0x94, 0x0E, 0x10, 0x05, 0x0B, 0x09, 0x08, 0x26, 0x04, 0x52, 0x10, 0x69, 0x6B, 0x69}, 16, 0},
{0xB1, (uint8_t[]){0x40, 0xD2, 0x98, 0x0C, 0x92, 0x07, 0x09, 0x08, 0x07, 0x25, 0x02, 0x0E, 0x0C, 0x6E, 0x78, 0x55}, 16, 0},
{0xFF, (uint8_t[]){0x77, 0x01, 0x00, 0x00, 0x11}, 5, 0},
{0xB0, (uint8_t[]){0x5D}, 1, 0},
{0xB1, (uint8_t[]){0x4E}, 1, 0},
{0xB2, (uint8_t[]){0x87}, 1, 0},
{0xB3, (uint8_t[]){0x80}, 1, 0},
{0xB5, (uint8_t[]){0x4E}, 1, 0},
{0xB7, (uint8_t[]){0x85}, 1, 0},
{0xB8, (uint8_t[]){0x21}, 1, 0},
{0xB9, (uint8_t[]){0x10, 0x1F}, 2, 0},
{0xBB, (uint8_t[]){0x03}, 1, 0},
{0xBC, (uint8_t[]){0x00}, 1, 0},
{0xC1, (uint8_t[]){0x78}, 1, 0},
{0xC2, (uint8_t[]){0x78}, 1, 0},
{0xD0, (uint8_t[]){0x88}, 1, 0},
{0xE0, (uint8_t[]){0x00, 0x3A, 0x02}, 3, 0},
{0xE1, (uint8_t[]){0x04, 0xA0, 0x00, 0xA0, 0x05, 0xA0, 0x00, 0xA0, 0x00, 0x40, 0x40}, 11, 0},
{0xE2, (uint8_t[]){0x30, 0x00, 0x40, 0x40, 0x32, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00}, 13, 0},
{0xE3, (uint8_t[]){0x00, 0x00, 0x33, 0x33}, 4, 0},
{0xE4, (uint8_t[]){0x44, 0x44}, 2, 0},
{0xE5, (uint8_t[]){0x09, 0x2E, 0xA0, 0xA0, 0x0B, 0x30, 0xA0, 0xA0, 0x05, 0x2A, 0xA0, 0xA0, 0x07, 0x2C, 0xA0, 0xA0}, 16, 0},
{0xE6, (uint8_t[]){0x00, 0x00, 0x33, 0x33}, 4, 0},
{0xE7, (uint8_t[]){0x44, 0x44}, 2, 0},
{0xE8, (uint8_t[]){0x08, 0x2D, 0xA0, 0xA0, 0x0A, 0x2F, 0xA0, 0xA0, 0x04, 0x29, 0xA0, 0xA0, 0x06, 0x2B, 0xA0, 0xA0}, 16, 0},
{0xEB, (uint8_t[]){0x00, 0x00, 0x4E, 0x4E, 0x00, 0x00, 0x00}, 7, 0},
{0xEC, (uint8_t[]){0x08, 0x01}, 2, 0},
{0xED, (uint8_t[]){0xB0, 0x2B, 0x98, 0xA4, 0x56, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x65, 0x4A, 0x89, 0xB2, 0x0B}, 16, 0},
{0xEF, (uint8_t[]){0x08, 0x08, 0x08, 0x45, 0x3F, 0x54}, 6, 0},
{0xFF, (uint8_t[]){0x77, 0x01, 0x00, 0x00, 0x00}, 5, 0},
{0x11, (uint8_t[]){0x00}, 0, 120},
{0x29, (uint8_t[]){0x00}, 0, 0},
};
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B
// Leave it blank
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C
static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = {
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0xE1, (uint8_t[]){0x93}, 1, 0},
{0xE2, (uint8_t[]){0x65}, 1, 0},
{0xE3, (uint8_t[]){0xF8}, 1, 0},
{0x80, (uint8_t[]){0x01}, 1, 0},
{0xE0, (uint8_t[]){0x01}, 1, 0},
{0x00, (uint8_t[]){0x00}, 1, 0},
{0x01, (uint8_t[]){0x41}, 1, 0},
{0x03, (uint8_t[]){0x10}, 1, 0},
{0x04, (uint8_t[]){0x44}, 1, 0},
{0x17, (uint8_t[]){0x00}, 1, 0},
{0x18, (uint8_t[]){0xD0}, 1, 0},
{0x19, (uint8_t[]){0x00}, 1, 0},
{0x1A, (uint8_t[]){0x00}, 1, 0},
{0x1B, (uint8_t[]){0xD0}, 1, 0},
{0x1C, (uint8_t[]){0x00}, 1, 0},
{0x24, (uint8_t[]){0xFE}, 1, 0},
{0x35, (uint8_t[]){0x26}, 1, 0},
{0x37, (uint8_t[]){0x09}, 1, 0},
{0x38, (uint8_t[]){0x04}, 1, 0},
{0x39, (uint8_t[]){0x08}, 1, 0},
{0x3A, (uint8_t[]){0x0A}, 1, 0},
{0x3C, (uint8_t[]){0x78}, 1, 0},
{0x3D, (uint8_t[]){0xFF}, 1, 0},
{0x3E, (uint8_t[]){0xFF}, 1, 0},
{0x3F, (uint8_t[]){0xFF}, 1, 0},
{0x40, (uint8_t[]){0x00}, 1, 0},
{0x41, (uint8_t[]){0x64}, 1, 0},
{0x42, (uint8_t[]){0xC7}, 1, 0},
{0x43, (uint8_t[]){0x18}, 1, 0},
{0x44, (uint8_t[]){0x0B}, 1, 0},
{0x45, (uint8_t[]){0x14}, 1, 0},
{0x55, (uint8_t[]){0x02}, 1, 0},
{0x57, (uint8_t[]){0x49}, 1, 0},
{0x59, (uint8_t[]){0x0A}, 1, 0},
{0x5A, (uint8_t[]){0x1B}, 1, 0},
{0x5B, (uint8_t[]){0x19}, 1, 0},
{0x5D, (uint8_t[]){0x7F}, 1, 0},
{0x5E, (uint8_t[]){0x56}, 1, 0},
{0x5F, (uint8_t[]){0x43}, 1, 0},
{0x60, (uint8_t[]){0x37}, 1, 0},
{0x61, (uint8_t[]){0x33}, 1, 0},
{0x62, (uint8_t[]){0x25}, 1, 0},
{0x63, (uint8_t[]){0x2A}, 1, 0},
{0x64, (uint8_t[]){0x16}, 1, 0},
{0x65, (uint8_t[]){0x30}, 1, 0},
{0x66, (uint8_t[]){0x2F}, 1, 0},
{0x67, (uint8_t[]){0x32}, 1, 0},
{0x68, (uint8_t[]){0x53}, 1, 0},
{0x69, (uint8_t[]){0x43}, 1, 0},
{0x6A, (uint8_t[]){0x4C}, 1, 0},
{0x6B, (uint8_t[]){0x40}, 1, 0},
{0x6C, (uint8_t[]){0x3D}, 1, 0},
{0x6D, (uint8_t[]){0x31}, 1, 0},
{0x6E, (uint8_t[]){0x20}, 1, 0},
{0x6F, (uint8_t[]){0x0F}, 1, 0},
{0x70, (uint8_t[]){0x7F}, 1, 0},
{0x71, (uint8_t[]){0x56}, 1, 0},
{0x72, (uint8_t[]){0x43}, 1, 0},
{0x73, (uint8_t[]){0x37}, 1, 0},
{0x74, (uint8_t[]){0x33}, 1, 0},
{0x75, (uint8_t[]){0x25}, 1, 0},
{0x76, (uint8_t[]){0x2A}, 1, 0},
{0x77, (uint8_t[]){0x16}, 1, 0},
{0x78, (uint8_t[]){0x30}, 1, 0},
{0x79, (uint8_t[]){0x2F}, 1, 0},
{0x7A, (uint8_t[]){0x32}, 1, 0},
{0x7B, (uint8_t[]){0x53}, 1, 0},
{0x7C, (uint8_t[]){0x43}, 1, 0},
{0x7D, (uint8_t[]){0x4C}, 1, 0},
{0x7E, (uint8_t[]){0x40}, 1, 0},
{0x7F, (uint8_t[]){0x3D}, 1, 0},
{0x80, (uint8_t[]){0x31}, 1, 0},
{0x81, (uint8_t[]){0x20}, 1, 0},
{0x82, (uint8_t[]){0x0F}, 1, 0},
{0xE0, (uint8_t[]){0x02}, 1, 0},
{0x00, (uint8_t[]){0x5F}, 1, 0},
{0x01, (uint8_t[]){0x5F}, 1, 0},
{0x02, (uint8_t[]){0x5E}, 1, 0},
{0x03, (uint8_t[]){0x5E}, 1, 0},
{0x04, (uint8_t[]){0x50}, 1, 0},
{0x05, (uint8_t[]){0x48}, 1, 0},
{0x06, (uint8_t[]){0x48}, 1, 0},
{0x07, (uint8_t[]){0x4A}, 1, 0},
{0x08, (uint8_t[]){0x4A}, 1, 0},
{0x09, (uint8_t[]){0x44}, 1, 0},
{0x0A, (uint8_t[]){0x44}, 1, 0},
{0x0B, (uint8_t[]){0x46}, 1, 0},
{0x0C, (uint8_t[]){0x46}, 1, 0},
{0x0D, (uint8_t[]){0x5F}, 1, 0},
{0x0E, (uint8_t[]){0x5F}, 1, 0},
{0x0F, (uint8_t[]){0x57}, 1, 0},
{0x10, (uint8_t[]){0x57}, 1, 0},
{0x11, (uint8_t[]){0x77}, 1, 0},
{0x12, (uint8_t[]){0x77}, 1, 0},
{0x13, (uint8_t[]){0x40}, 1, 0},
{0x14, (uint8_t[]){0x42}, 1, 0},
{0x15, (uint8_t[]){0x5F}, 1, 0},
{0x16, (uint8_t[]){0x5F}, 1, 0},
{0x17, (uint8_t[]){0x5F}, 1, 0},
{0x18, (uint8_t[]){0x5E}, 1, 0},
{0x19, (uint8_t[]){0x5E}, 1, 0},
{0x1A, (uint8_t[]){0x50}, 1, 0},
{0x1B, (uint8_t[]){0x49}, 1, 0},
{0x1C, (uint8_t[]){0x49}, 1, 0},
{0x1D, (uint8_t[]){0x4B}, 1, 0},
{0x1E, (uint8_t[]){0x4B}, 1, 0},
{0x1F, (uint8_t[]){0x45}, 1, 0},
{0x20, (uint8_t[]){0x45}, 1, 0},
{0x21, (uint8_t[]){0x47}, 1, 0},
{0x22, (uint8_t[]){0x47}, 1, 0},
{0x23, (uint8_t[]){0x5F}, 1, 0},
{0x24, (uint8_t[]){0x5F}, 1, 0},
{0x25, (uint8_t[]){0x57}, 1, 0},
{0x26, (uint8_t[]){0x57}, 1, 0},
{0x27, (uint8_t[]){0x77}, 1, 0},
{0x28, (uint8_t[]){0x77}, 1, 0},
{0x29, (uint8_t[]){0x41}, 1, 0},
{0x2A, (uint8_t[]){0x43}, 1, 0},
{0x2B, (uint8_t[]){0x5F}, 1, 0},
{0x2C, (uint8_t[]){0x1E}, 1, 0},
{0x2D, (uint8_t[]){0x1E}, 1, 0},
{0x2E, (uint8_t[]){0x1F}, 1, 0},
{0x2F, (uint8_t[]){0x1F}, 1, 0},
{0x30, (uint8_t[]){0x10}, 1, 0},
{0x31, (uint8_t[]){0x07}, 1, 0},
{0x32, (uint8_t[]){0x07}, 1, 0},
{0x33, (uint8_t[]){0x05}, 1, 0},
{0x34, (uint8_t[]){0x05}, 1, 0},
{0x35, (uint8_t[]){0x0B}, 1, 0},
{0x36, (uint8_t[]){0x0B}, 1, 0},
{0x37, (uint8_t[]){0x09}, 1, 0},
{0x38, (uint8_t[]){0x09}, 1, 0},
{0x39, (uint8_t[]){0x1F}, 1, 0},
{0x3A, (uint8_t[]){0x1F}, 1, 0},
{0x3B, (uint8_t[]){0x17}, 1, 0},
{0x3C, (uint8_t[]){0x17}, 1, 0},
{0x3D, (uint8_t[]){0x17}, 1, 0},
{0x3E, (uint8_t[]){0x17}, 1, 0},
{0x3F, (uint8_t[]){0x03}, 1, 0},
{0x40, (uint8_t[]){0x01}, 1, 0},
{0x41, (uint8_t[]){0x1F}, 1, 0},
{0x42, (uint8_t[]){0x1E}, 1, 0},
{0x43, (uint8_t[]){0x1E}, 1, 0},
{0x44, (uint8_t[]){0x1F}, 1, 0},
{0x45, (uint8_t[]){0x1F}, 1, 0},
{0x46, (uint8_t[]){0x10}, 1, 0},
{0x47, (uint8_t[]){0x06}, 1, 0},
{0x48, (uint8_t[]){0x06}, 1, 0},
{0x49, (uint8_t[]){0x04}, 1, 0},
{0x4A, (uint8_t[]){0x04}, 1, 0},
{0x4B, (uint8_t[]){0x0A}, 1, 0},
{0x4C, (uint8_t[]){0x0A}, 1, 0},
{0x4D, (uint8_t[]){0x08}, 1, 0},
{0x4E, (uint8_t[]){0x08}, 1, 0},
{0x4F, (uint8_t[]){0x1F}, 1, 0},
{0x50, (uint8_t[]){0x1F}, 1, 0},
{0x51, (uint8_t[]){0x17}, 1, 0},
{0x52, (uint8_t[]){0x17}, 1, 0},
{0x53, (uint8_t[]){0x17}, 1, 0},
{0x54, (uint8_t[]){0x17}, 1, 0},
{0x55, (uint8_t[]){0x02}, 1, 0},
{0x56, (uint8_t[]){0x00}, 1, 0},
{0x57, (uint8_t[]){0x1F}, 1, 0},
{0xE0, (uint8_t[]){0x02}, 1, 0},
{0x58, (uint8_t[]){0x40}, 1, 0},
{0x59, (uint8_t[]){0x00}, 1, 0},
{0x5A, (uint8_t[]){0x00}, 1, 0},
{0x5B, (uint8_t[]){0x30}, 1, 0},
{0x5C, (uint8_t[]){0x01}, 1, 0},
{0x5D, (uint8_t[]){0x30}, 1, 0},
{0x5E, (uint8_t[]){0x01}, 1, 0},
{0x5F, (uint8_t[]){0x02}, 1, 0},
{0x60, (uint8_t[]){0x30}, 1, 0},
{0x61, (uint8_t[]){0x03}, 1, 0},
{0x62, (uint8_t[]){0x04}, 1, 0},
{0x63, (uint8_t[]){0x04}, 1, 0},
{0x64, (uint8_t[]){0xA6}, 1, 0},
{0x65, (uint8_t[]){0x43}, 1, 0},
{0x66, (uint8_t[]){0x30}, 1, 0},
{0x67, (uint8_t[]){0x73}, 1, 0},
{0x68, (uint8_t[]){0x05}, 1, 0},
{0x69, (uint8_t[]){0x04}, 1, 0},
{0x6A, (uint8_t[]){0x7F}, 1, 0},
{0x6B, (uint8_t[]){0x08}, 1, 0},
{0x6C, (uint8_t[]){0x00}, 1, 0},
{0x6D, (uint8_t[]){0x04}, 1, 0},
{0x6E, (uint8_t[]){0x04}, 1, 0},
{0x6F, (uint8_t[]){0x88}, 1, 0},
{0x75, (uint8_t[]){0xD9}, 1, 0},
{0x76, (uint8_t[]){0x00}, 1, 0},
{0x77, (uint8_t[]){0x33}, 1, 0},
{0x78, (uint8_t[]){0x43}, 1, 0},
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0x11, (uint8_t[]){0x00}, 1, 120},
{0x29, (uint8_t[]){0x00}, 1, 20},
{0x35, (uint8_t[]){0x00}, 1, 0},
};
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C
static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = {
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0xE1, (uint8_t[]){0x93}, 1, 0},
{0xE2, (uint8_t[]){0x65}, 1, 0},
{0xE3, (uint8_t[]){0xF8}, 1, 0},
{0x80, (uint8_t[]){0x01}, 1, 0},
{0xE0, (uint8_t[]){0x01}, 1, 0},
{0x00, (uint8_t[]){0x00}, 1, 0},
{0x01, (uint8_t[]){0x41}, 1, 0},
{0x03, (uint8_t[]){0x10}, 1, 0},
{0x04, (uint8_t[]){0x44}, 1, 0},
{0x17, (uint8_t[]){0x00}, 1, 0},
{0x18, (uint8_t[]){0xD0}, 1, 0},
{0x19, (uint8_t[]){0x00}, 1, 0},
{0x1A, (uint8_t[]){0x00}, 1, 0},
{0x1B, (uint8_t[]){0xD0}, 1, 0},
{0x1C, (uint8_t[]){0x00}, 1, 0},
{0x24, (uint8_t[]){0xFE}, 1, 0},
{0x35, (uint8_t[]){0x26}, 1, 0},
{0x37, (uint8_t[]){0x09}, 1, 0},
{0x38, (uint8_t[]){0x04}, 1, 0},
{0x39, (uint8_t[]){0x08}, 1, 0},
{0x3A, (uint8_t[]){0x0A}, 1, 0},
{0x3C, (uint8_t[]){0x78}, 1, 0},
{0x3D, (uint8_t[]){0xFF}, 1, 0},
{0x3E, (uint8_t[]){0xFF}, 1, 0},
{0x3F, (uint8_t[]){0xFF}, 1, 0},
{0x40, (uint8_t[]){0x04}, 1, 0},
{0x41, (uint8_t[]){0x64}, 1, 0},
{0x42, (uint8_t[]){0xC7}, 1, 0},
{0x43, (uint8_t[]){0x18}, 1, 0},
{0x44, (uint8_t[]){0x0B}, 1, 0},
{0x45, (uint8_t[]){0x14}, 1, 0},
{0x55, (uint8_t[]){0x02}, 1, 0},
{0x57, (uint8_t[]){0x49}, 1, 0},
{0x59, (uint8_t[]){0x0A}, 1, 0},
{0x5A, (uint8_t[]){0x1B}, 1, 0},
{0x5B, (uint8_t[]){0x19}, 1, 0},
{0x5D, (uint8_t[]){0x7F}, 1, 0},
{0x5E, (uint8_t[]){0x56}, 1, 0},
{0x5F, (uint8_t[]){0x43}, 1, 0},
{0x60, (uint8_t[]){0x37}, 1, 0},
{0x61, (uint8_t[]){0x33}, 1, 0},
{0x62, (uint8_t[]){0x25}, 1, 0},
{0x63, (uint8_t[]){0x2A}, 1, 0},
{0x64, (uint8_t[]){0x16}, 1, 0},
{0x65, (uint8_t[]){0x30}, 1, 0},
{0x66, (uint8_t[]){0x2F}, 1, 0},
{0x67, (uint8_t[]){0x32}, 1, 0},
{0x68, (uint8_t[]){0x53}, 1, 0},
{0x69, (uint8_t[]){0x43}, 1, 0},
{0x6A, (uint8_t[]){0x4C}, 1, 0},
{0x6B, (uint8_t[]){0x40}, 1, 0},
{0x6C, (uint8_t[]){0x3D}, 1, 0},
{0x6D, (uint8_t[]){0x31}, 1, 0},
{0x6E, (uint8_t[]){0x20}, 1, 0},
{0x6F, (uint8_t[]){0x0F}, 1, 0},
{0x70, (uint8_t[]){0x7F}, 1, 0},
{0x71, (uint8_t[]){0x56}, 1, 0},
{0x72, (uint8_t[]){0x43}, 1, 0},
{0x73, (uint8_t[]){0x37}, 1, 0},
{0x74, (uint8_t[]){0x33}, 1, 0},
{0x75, (uint8_t[]){0x25}, 1, 0},
{0x76, (uint8_t[]){0x2A}, 1, 0},
{0x77, (uint8_t[]){0x16}, 1, 0},
{0x78, (uint8_t[]){0x30}, 1, 0},
{0x79, (uint8_t[]){0x2F}, 1, 0},
{0x7A, (uint8_t[]){0x32}, 1, 0},
{0x7B, (uint8_t[]){0x53}, 1, 0},
{0x7C, (uint8_t[]){0x43}, 1, 0},
{0x7D, (uint8_t[]){0x4C}, 1, 0},
{0x7E, (uint8_t[]){0x40}, 1, 0},
{0x7F, (uint8_t[]){0x3D}, 1, 0},
{0x80, (uint8_t[]){0x31}, 1, 0},
{0x81, (uint8_t[]){0x20}, 1, 0},
{0x82, (uint8_t[]){0x0F}, 1, 0},
{0xE0, (uint8_t[]){0x02}, 1, 0},
{0x00, (uint8_t[]){0x5F}, 1, 0},
{0x01, (uint8_t[]){0x5F}, 1, 0},
{0x02, (uint8_t[]){0x5E}, 1, 0},
{0x03, (uint8_t[]){0x5E}, 1, 0},
{0x04, (uint8_t[]){0x50}, 1, 0},
{0x05, (uint8_t[]){0x48}, 1, 0},
{0x06, (uint8_t[]){0x48}, 1, 0},
{0x07, (uint8_t[]){0x4A}, 1, 0},
{0x08, (uint8_t[]){0x4A}, 1, 0},
{0x09, (uint8_t[]){0x44}, 1, 0},
{0x0A, (uint8_t[]){0x44}, 1, 0},
{0x0B, (uint8_t[]){0x46}, 1, 0},
{0x0C, (uint8_t[]){0x46}, 1, 0},
{0x0D, (uint8_t[]){0x5F}, 1, 0},
{0x0E, (uint8_t[]){0x5F}, 1, 0},
{0x0F, (uint8_t[]){0x57}, 1, 0},
{0x10, (uint8_t[]){0x57}, 1, 0},
{0x11, (uint8_t[]){0x77}, 1, 0},
{0x12, (uint8_t[]){0x77}, 1, 0},
{0x13, (uint8_t[]){0x40}, 1, 0},
{0x14, (uint8_t[]){0x42}, 1, 0},
{0x15, (uint8_t[]){0x5F}, 1, 0},
{0x16, (uint8_t[]){0x5F}, 1, 0},
{0x17, (uint8_t[]){0x5F}, 1, 0},
{0x18, (uint8_t[]){0x5E}, 1, 0},
{0x19, (uint8_t[]){0x5E}, 1, 0},
{0x1A, (uint8_t[]){0x50}, 1, 0},
{0x1B, (uint8_t[]){0x49}, 1, 0},
{0x1C, (uint8_t[]){0x49}, 1, 0},
{0x1D, (uint8_t[]){0x4B}, 1, 0},
{0x1E, (uint8_t[]){0x4B}, 1, 0},
{0x1F, (uint8_t[]){0x45}, 1, 0},
{0x20, (uint8_t[]){0x45}, 1, 0},
{0x21, (uint8_t[]){0x47}, 1, 0},
{0x22, (uint8_t[]){0x47}, 1, 0},
{0x23, (uint8_t[]){0x5F}, 1, 0},
{0x24, (uint8_t[]){0x5F}, 1, 0},
{0x25, (uint8_t[]){0x57}, 1, 0},
{0x26, (uint8_t[]){0x57}, 1, 0},
{0x27, (uint8_t[]){0x77}, 1, 0},
{0x28, (uint8_t[]){0x77}, 1, 0},
{0x29, (uint8_t[]){0x41}, 1, 0},
{0x2A, (uint8_t[]){0x43}, 1, 0},
{0x2B, (uint8_t[]){0x5F}, 1, 0},
{0x2C, (uint8_t[]){0x1E}, 1, 0},
{0x2D, (uint8_t[]){0x1E}, 1, 0},
{0x2E, (uint8_t[]){0x1F}, 1, 0},
{0x2F, (uint8_t[]){0x1F}, 1, 0},
{0x30, (uint8_t[]){0x10}, 1, 0},
{0x31, (uint8_t[]){0x07}, 1, 0},
{0x32, (uint8_t[]){0x07}, 1, 0},
{0x33, (uint8_t[]){0x05}, 1, 0},
{0x34, (uint8_t[]){0x05}, 1, 0},
{0x35, (uint8_t[]){0x0B}, 1, 0},
{0x36, (uint8_t[]){0x0B}, 1, 0},
{0x37, (uint8_t[]){0x09}, 1, 0},
{0x38, (uint8_t[]){0x09}, 1, 0},
{0x39, (uint8_t[]){0x1F}, 1, 0},
{0x3A, (uint8_t[]){0x1F}, 1, 0},
{0x3B, (uint8_t[]){0x17}, 1, 0},
{0x3C, (uint8_t[]){0x17}, 1, 0},
{0x3D, (uint8_t[]){0x17}, 1, 0},
{0x3E, (uint8_t[]){0x17}, 1, 0},
{0x3F, (uint8_t[]){0x03}, 1, 0},
{0x40, (uint8_t[]){0x01}, 1, 0},
{0x41, (uint8_t[]){0x1F}, 1, 0},
{0x42, (uint8_t[]){0x1E}, 1, 0},
{0x43, (uint8_t[]){0x1E}, 1, 0},
{0x44, (uint8_t[]){0x1F}, 1, 0},
{0x45, (uint8_t[]){0x1F}, 1, 0},
{0x46, (uint8_t[]){0x10}, 1, 0},
{0x47, (uint8_t[]){0x06}, 1, 0},
{0x48, (uint8_t[]){0x06}, 1, 0},
{0x49, (uint8_t[]){0x04}, 1, 0},
{0x4A, (uint8_t[]){0x04}, 1, 0},
{0x4B, (uint8_t[]){0x0A}, 1, 0},
{0x4C, (uint8_t[]){0x0A}, 1, 0},
{0x4D, (uint8_t[]){0x08}, 1, 0},
{0x4E, (uint8_t[]){0x08}, 1, 0},
{0x4F, (uint8_t[]){0x1F}, 1, 0},
{0x50, (uint8_t[]){0x1F}, 1, 0},
{0x51, (uint8_t[]){0x17}, 1, 0},
{0x52, (uint8_t[]){0x17}, 1, 0},
{0x53, (uint8_t[]){0x17}, 1, 0},
{0x54, (uint8_t[]){0x17}, 1, 0},
{0x55, (uint8_t[]){0x02}, 1, 0},
{0x56, (uint8_t[]){0x00}, 1, 0},
{0x57, (uint8_t[]){0x1F}, 1, 0},
{0xE0, (uint8_t[]){0x02}, 1, 0},
{0x58, (uint8_t[]){0x40}, 1, 0},
{0x59, (uint8_t[]){0x00}, 1, 0},
{0x5A, (uint8_t[]){0x00}, 1, 0},
{0x5B, (uint8_t[]){0x30}, 1, 0},
{0x5C, (uint8_t[]){0x01}, 1, 0},
{0x5D, (uint8_t[]){0x30}, 1, 0},
{0x5E, (uint8_t[]){0x01}, 1, 0},
{0x5F, (uint8_t[]){0x02}, 1, 0},
{0x60, (uint8_t[]){0x30}, 1, 0},
{0x61, (uint8_t[]){0x03}, 1, 0},
{0x62, (uint8_t[]){0x04}, 1, 0},
{0x63, (uint8_t[]){0x04}, 1, 0},
{0x64, (uint8_t[]){0xA6}, 1, 0},
{0x65, (uint8_t[]){0x43}, 1, 0},
{0x66, (uint8_t[]){0x30}, 1, 0},
{0x67, (uint8_t[]){0x73}, 1, 0},
{0x68, (uint8_t[]){0x05}, 1, 0},
{0x69, (uint8_t[]){0x04}, 1, 0},
{0x6A, (uint8_t[]){0x7F}, 1, 0},
{0x6B, (uint8_t[]){0x08}, 1, 0},
{0x6C, (uint8_t[]){0x00}, 1, 0},
{0x6D, (uint8_t[]){0x04}, 1, 0},
{0x6E, (uint8_t[]){0x04}, 1, 0},
{0x6F, (uint8_t[]){0x88}, 1, 0},
{0x75, (uint8_t[]){0xD9}, 1, 0},
{0x76, (uint8_t[]){0x00}, 1, 0},
{0x77, (uint8_t[]){0x33}, 1, 0},
{0x78, (uint8_t[]){0x43}, 1, 0},
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0x11, (uint8_t[]){0x00}, 1, 120},
{0x29, (uint8_t[]){0x00}, 1, 20},
{0x35, (uint8_t[]){0x00}, 1, 0},
};
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7
static const ili9881c_lcd_init_cmd_t lcd_init_cmds[] = {
// {cmd, { data }, data_size, delay_ms}
/**** CMD_Page 3 ****/
{0xFF, (uint8_t[]){0x98, 0x81, 0x03}, 3, 0},
// {0x01, (uint8_t []){0x00}, 1, 0},
{0x01, (uint8_t[]){0x00}, 1, 0},
{0x02, (uint8_t[]){0x00}, 1, 0},
{0x03, (uint8_t[]){0x73}, 1, 0},
{0x04, (uint8_t[]){0x00}, 1, 0},
{0x05, (uint8_t[]){0x00}, 1, 0},
{0x06, (uint8_t[]){0x0A}, 1, 0},
{0x07, (uint8_t[]){0x00}, 1, 0},
{0x08, (uint8_t[]){0x00}, 1, 0},
{0x09, (uint8_t[]){0x61}, 1, 0},
{0x0A, (uint8_t[]){0x00}, 1, 0},
{0x0B, (uint8_t[]){0x00}, 1, 0},
{0x0C, (uint8_t[]){0x01}, 1, 0},
{0x0D, (uint8_t[]){0x00}, 1, 0},
{0x0E, (uint8_t[]){0x00}, 1, 0},
{0x0F, (uint8_t[]){0x61}, 1, 0},
{0x10, (uint8_t[]){0x61}, 1, 0},
{0x11, (uint8_t[]){0x00}, 1, 0},
{0x12, (uint8_t[]){0x00}, 1, 0},
{0x13, (uint8_t[]){0x00}, 1, 0},
{0x14, (uint8_t[]){0x00}, 1, 0},
{0x15, (uint8_t[]){0x00}, 1, 0},
{0x16, (uint8_t[]){0x00}, 1, 0},
{0x17, (uint8_t[]){0x00}, 1, 0},
{0x18, (uint8_t[]){0x00}, 1, 0},
{0x19, (uint8_t[]){0x00}, 1, 0},
{0x1A, (uint8_t[]){0x00}, 1, 0},
{0x1B, (uint8_t[]){0x00}, 1, 0},
{0x1C, (uint8_t[]){0x00}, 1, 0},
{0x1D, (uint8_t[]){0x00}, 1, 0},
{0x1E, (uint8_t[]){0x40}, 1, 0},
{0x1F, (uint8_t[]){0x80}, 1, 0},
{0x20, (uint8_t[]){0x06}, 1, 0},
{0x21, (uint8_t[]){0x01}, 1, 0},
{0x22, (uint8_t[]){0x00}, 1, 0},
{0x23, (uint8_t[]){0x00}, 1, 0},
{0x24, (uint8_t[]){0x00}, 1, 0},
{0x25, (uint8_t[]){0x00}, 1, 0},
{0x26, (uint8_t[]){0x00}, 1, 0},
{0x27, (uint8_t[]){0x00}, 1, 0},
{0x28, (uint8_t[]){0x33}, 1, 0},
{0x29, (uint8_t[]){0x03}, 1, 0},
{0x2A, (uint8_t[]){0x00}, 1, 0},
{0x2B, (uint8_t[]){0x00}, 1, 0},
{0x2C, (uint8_t[]){0x00}, 1, 0},
{0x2D, (uint8_t[]){0x00}, 1, 0},
{0x2E, (uint8_t[]){0x00}, 1, 0},
{0x2F, (uint8_t[]){0x00}, 1, 0},
{0x30, (uint8_t[]){0x00}, 1, 0},
{0x31, (uint8_t[]){0x00}, 1, 0},
{0x32, (uint8_t[]){0x00}, 1, 0},
{0x33, (uint8_t[]){0x00}, 1, 0},
{0x34, (uint8_t[]){0x04}, 1, 0},
{0x35, (uint8_t[]){0x00}, 1, 0},
{0x36, (uint8_t[]){0x00}, 1, 0},
{0x37, (uint8_t[]){0x00}, 1, 0},
{0x38, (uint8_t[]){0x3C}, 1, 0},
{0x39, (uint8_t[]){0x00}, 1, 0},
{0x3A, (uint8_t[]){0x00}, 1, 0},
{0x3B, (uint8_t[]){0x00}, 1, 0},
{0x3C, (uint8_t[]){0x00}, 1, 0},
{0x3D, (uint8_t[]){0x00}, 1, 0},
{0x3E, (uint8_t[]){0x00}, 1, 0},
{0x3F, (uint8_t[]){0x00}, 1, 0},
{0x40, (uint8_t[]){0x00}, 1, 0},
{0x41, (uint8_t[]){0x00}, 1, 0},
{0x42, (uint8_t[]){0x00}, 1, 0},
{0x43, (uint8_t[]){0x00}, 1, 0},
{0x44, (uint8_t[]){0x00}, 1, 0},
{0x50, (uint8_t[]){0x10}, 1, 0},
{0x51, (uint8_t[]){0x32}, 1, 0},
{0x52, (uint8_t[]){0x54}, 1, 0},
{0x53, (uint8_t[]){0x76}, 1, 0},
{0x54, (uint8_t[]){0x98}, 1, 0},
{0x55, (uint8_t[]){0xBA}, 1, 0},
{0x56, (uint8_t[]){0x10}, 1, 0},
{0x57, (uint8_t[]){0x32}, 1, 0},
{0x58, (uint8_t[]){0x54}, 1, 0},
{0x59, (uint8_t[]){0x76}, 1, 0},
{0x5A, (uint8_t[]){0x98}, 1, 0},
{0x5B, (uint8_t[]){0xBA}, 1, 0},
{0x5C, (uint8_t[]){0xDC}, 1, 0},
{0x5D, (uint8_t[]){0xFE}, 1, 0},
{0x5E, (uint8_t[]){0x00}, 1, 0},
{0x5F, (uint8_t[]){0x0E}, 1, 0},
{0x60, (uint8_t[]){0x0F}, 1, 0},
{0x61, (uint8_t[]){0x0C}, 1, 0},
{0x62, (uint8_t[]){0x0D}, 1, 0},
{0x63, (uint8_t[]){0x06}, 1, 0},
{0x64, (uint8_t[]){0x07}, 1, 0},
{0x65, (uint8_t[]){0x02}, 1, 0},
{0x66, (uint8_t[]){0x02}, 1, 0},
{0x67, (uint8_t[]){0x02}, 1, 0},
{0x68, (uint8_t[]){0x02}, 1, 0},
{0x69, (uint8_t[]){0x01}, 1, 0},
{0x6A, (uint8_t[]){0x00}, 1, 0},
{0x6B, (uint8_t[]){0x02}, 1, 0},
{0x6C, (uint8_t[]){0x15}, 1, 0},
{0x6D, (uint8_t[]){0x14}, 1, 0},
{0x6E, (uint8_t[]){0x02}, 1, 0},
{0x6F, (uint8_t[]){0x02}, 1, 0},
{0x70, (uint8_t[]){0x02}, 1, 0},
{0x71, (uint8_t[]){0x02}, 1, 0},
{0x72, (uint8_t[]){0x02}, 1, 0},
{0x73, (uint8_t[]){0x02}, 1, 0},
{0x74, (uint8_t[]){0x02}, 1, 0},
{0x75, (uint8_t[]){0x0E}, 1, 0},
{0x76, (uint8_t[]){0x0F}, 1, 0},
{0x77, (uint8_t[]){0x0C}, 1, 0},
{0x78, (uint8_t[]){0x0D}, 1, 0},
{0x79, (uint8_t[]){0x06}, 1, 0},
{0x7A, (uint8_t[]){0x07}, 1, 0},
{0x7B, (uint8_t[]){0x02}, 1, 0},
{0x7C, (uint8_t[]){0x02}, 1, 0},
{0x7D, (uint8_t[]){0x02}, 1, 0},
{0x7E, (uint8_t[]){0x02}, 1, 0},
{0x7F, (uint8_t[]){0x01}, 1, 0},
{0x80, (uint8_t[]){0x00}, 1, 0},
{0x81, (uint8_t[]){0x02}, 1, 0},
{0x82, (uint8_t[]){0x14}, 1, 0},
{0x83, (uint8_t[]){0x15}, 1, 0},
{0x84, (uint8_t[]){0x02}, 1, 0},
{0x85, (uint8_t[]){0x02}, 1, 0},
{0x86, (uint8_t[]){0x02}, 1, 0},
{0x87, (uint8_t[]){0x02}, 1, 0},
{0x88, (uint8_t[]){0x02}, 1, 0},
{0x89, (uint8_t[]){0x02}, 1, 0},
{0x8A, (uint8_t[]){0x02}, 1, 0},
{0xFF, (uint8_t[]){0x98, 0x81, 0x04}, 3, 0},
{0x38, (uint8_t[]){0x01}, 1, 0},
{0x39, (uint8_t[]){0x00}, 1, 0},
{0x6C, (uint8_t[]){0x15}, 1, 0},
{0x6E, (uint8_t[]){0x2A}, 1, 0},
{0x6F, (uint8_t[]){0x33}, 1, 0},
{0x3A, (uint8_t[]){0x94}, 1, 0},
{0x8D, (uint8_t[]){0x14}, 1, 0},
{0x87, (uint8_t[]){0xBA}, 1, 0},
{0x26, (uint8_t[]){0x76}, 1, 0},
{0xB2, (uint8_t[]){0xD1}, 1, 0},
{0xB5, (uint8_t[]){0x06}, 1, 0},
{0X3B, (uint8_t[]){0X98}, 1, 0},
{0xFF, (uint8_t[]){0x98, 0x81, 0x01}, 3, 0},
{0x22, (uint8_t[]){0x0A}, 1, 0},
{0x31, (uint8_t[]){0x00}, 1, 0},
{0x53, (uint8_t[]){0x71}, 1, 0},
{0x55, (uint8_t[]){0x8F}, 1, 0},
{0x40, (uint8_t[]){0x33}, 1, 0},
{0x50, (uint8_t[]){0x96}, 1, 0},
{0x51, (uint8_t[]){0x96}, 1, 0},
{0x60, (uint8_t[]){0x23}, 1, 0},
{0xA0, (uint8_t[]){0x08}, 1, 0},
{0xA1, (uint8_t[]){0x1D}, 1, 0},
{0xA2, (uint8_t[]){0x2A}, 1, 0},
{0xA3, (uint8_t[]){0x10}, 1, 0},
{0xA4, (uint8_t[]){0x15}, 1, 0},
{0xA5, (uint8_t[]){0x28}, 1, 0},
{0xA6, (uint8_t[]){0x1C}, 1, 0},
{0xA7, (uint8_t[]){0x1D}, 1, 0},
{0xA8, (uint8_t[]){0x7E}, 1, 0},
{0xA9, (uint8_t[]){0x1D}, 1, 0},
{0xAA, (uint8_t[]){0x29}, 1, 0},
{0xAB, (uint8_t[]){0x6B}, 1, 0},
{0xAC, (uint8_t[]){0x1A}, 1, 0},
{0xAD, (uint8_t[]){0x18}, 1, 0},
{0xAE, (uint8_t[]){0x4B}, 1, 0},
{0xAF, (uint8_t[]){0x20}, 1, 0},
{0xB0, (uint8_t[]){0x27}, 1, 0},
{0xB1, (uint8_t[]){0x50}, 1, 0},
{0xB2, (uint8_t[]){0x64}, 1, 0},
{0xB3, (uint8_t[]){0x39}, 1, 0},
{0xC0, (uint8_t[]){0x08}, 1, 0},
{0xC1, (uint8_t[]){0x1D}, 1, 0},
{0xC2, (uint8_t[]){0x2A}, 1, 0},
{0xC3, (uint8_t[]){0x10}, 1, 0},
{0xC4, (uint8_t[]){0x15}, 1, 0},
{0xC5, (uint8_t[]){0x28}, 1, 0},
{0xC6, (uint8_t[]){0x1C}, 1, 0},
{0xC7, (uint8_t[]){0x1D}, 1, 0},
{0xC8, (uint8_t[]){0x7E}, 1, 0},
{0xC9, (uint8_t[]){0x1D}, 1, 0},
{0xCA, (uint8_t[]){0x29}, 1, 0},
{0xCB, (uint8_t[]){0x6B}, 1, 0},
{0xCC, (uint8_t[]){0x1A}, 1, 0},
{0xCD, (uint8_t[]){0x18}, 1, 0},
{0xCE, (uint8_t[]){0x4B}, 1, 0},
{0xCF, (uint8_t[]){0x20}, 1, 0},
{0xD0, (uint8_t[]){0x27}, 1, 0},
{0xD1, (uint8_t[]){0x50}, 1, 0},
{0xD2, (uint8_t[]){0x64}, 1, 0},
{0xD3, (uint8_t[]){0x39}, 1, 0},
{0xFF, (uint8_t[]){0x98, 0x81, 0x00}, 3, 0},
{0x3A, (uint8_t[]){0x77}, 1, 0},
{0x36, (uint8_t[]){0x00}, 1, 0},
{0x35, (uint8_t[]){0x00}, 1, 0},
{0x35, (uint8_t[]){0x00}, 1, 0},
{0x11, (uint8_t[]){0x00}, 0, 150},
{0x29, (uint8_t[]){0x00}, 0, 20},
//============ Gamma END===========
};
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8
static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = {
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0xE1, (uint8_t[]){0x93}, 1, 0},
{0xE2, (uint8_t[]){0x65}, 1, 0},
{0xE3, (uint8_t[]){0xF8}, 1, 0},
{0x80, (uint8_t[]){0x01}, 1, 0}, // 0X034-LANE;0X023-LANE;0X01:2-LANE
{0xE0, (uint8_t[]){0x01}, 1, 0},
{0x00, (uint8_t[]){0x00}, 1, 0},
{0x01, (uint8_t[]){0x4E}, 1, 0},
{0x03, (uint8_t[]){0x00}, 1, 0},
{0x04, (uint8_t[]){0x65}, 1, 0},
{0x0C, (uint8_t[]){0x74}, 1, 0},
{0x17, (uint8_t[]){0x00}, 1, 0},
{0x18, (uint8_t[]){0xB7}, 1, 0},
{0x19, (uint8_t[]){0x00}, 1, 0},
{0x1A, (uint8_t[]){0x00}, 1, 0},
{0x1B, (uint8_t[]){0xB7}, 1, 0},
{0x1C, (uint8_t[]){0x00}, 1, 0},
{0x24, (uint8_t[]){0xFE}, 1, 0},
{0x37, (uint8_t[]){0x19}, 1, 0},
{0x38, (uint8_t[]){0x05}, 1, 0},
{0x39, (uint8_t[]){0x00}, 1, 0},
{0x3A, (uint8_t[]){0x01}, 1, 0},
{0x3B, (uint8_t[]){0x01}, 1, 0},
{0x3C, (uint8_t[]){0x70}, 1, 0},
{0x3D, (uint8_t[]){0xFF}, 1, 0},
{0x3E, (uint8_t[]){0xFF}, 1, 0},
{0x3F, (uint8_t[]){0xFF}, 1, 0},
{0x40, (uint8_t[]){0x06}, 1, 0},
{0x41, (uint8_t[]){0xA0}, 1, 0},
{0x43, (uint8_t[]){0x1E}, 1, 0},
{0x44, (uint8_t[]){0x0F}, 1, 0},
{0x45, (uint8_t[]){0x28}, 1, 0},
{0x4B, (uint8_t[]){0x04}, 1, 0},
//{0x4A, (uint8_t[]){0x35}, 1, 0},//bist
{0x55, (uint8_t[]){0x02}, 1, 0},
{0x56, (uint8_t[]){0x01}, 1, 0},
{0x57, (uint8_t[]){0xA9}, 1, 0},
{0x58, (uint8_t[]){0x0A}, 1, 0},
{0x59, (uint8_t[]){0x0A}, 1, 0},
{0x5A, (uint8_t[]){0x37}, 1, 0},
{0x5B, (uint8_t[]){0x19}, 1, 0},
{0x5D, (uint8_t[]){0x78}, 1, 0},
{0x5E, (uint8_t[]){0x63}, 1, 0},
{0x5F, (uint8_t[]){0x54}, 1, 0},
{0x60, (uint8_t[]){0x49}, 1, 0},
{0x61, (uint8_t[]){0x45}, 1, 0},
{0x62, (uint8_t[]){0x38}, 1, 0},
{0x63, (uint8_t[]){0x3D}, 1, 0},
{0x64, (uint8_t[]){0x28}, 1, 0},
{0x65, (uint8_t[]){0x43}, 1, 0},
{0x66, (uint8_t[]){0x41}, 1, 0},
{0x67, (uint8_t[]){0x43}, 1, 0},
{0x68, (uint8_t[]){0x62}, 1, 0},
{0x69, (uint8_t[]){0x50}, 1, 0},
{0x6A, (uint8_t[]){0x57}, 1, 0},
{0x6B, (uint8_t[]){0x49}, 1, 0},
{0x6C, (uint8_t[]){0x44}, 1, 0},
{0x6D, (uint8_t[]){0x37}, 1, 0},
{0x6E, (uint8_t[]){0x23}, 1, 0},
{0x6F, (uint8_t[]){0x10}, 1, 0},
{0x70, (uint8_t[]){0x78}, 1, 0},
{0x71, (uint8_t[]){0x63}, 1, 0},
{0x72, (uint8_t[]){0x54}, 1, 0},
{0x73, (uint8_t[]){0x49}, 1, 0},
{0x74, (uint8_t[]){0x45}, 1, 0},
{0x75, (uint8_t[]){0x38}, 1, 0},
{0x76, (uint8_t[]){0x3D}, 1, 0},
{0x77, (uint8_t[]){0x28}, 1, 0},
{0x78, (uint8_t[]){0x43}, 1, 0},
{0x79, (uint8_t[]){0x41}, 1, 0},
{0x7A, (uint8_t[]){0x43}, 1, 0},
{0x7B, (uint8_t[]){0x62}, 1, 0},
{0x7C, (uint8_t[]){0x50}, 1, 0},
{0x7D, (uint8_t[]){0x57}, 1, 0},
{0x7E, (uint8_t[]){0x49}, 1, 0},
{0x7F, (uint8_t[]){0x44}, 1, 0},
{0x80, (uint8_t[]){0x37}, 1, 0},
{0x81, (uint8_t[]){0x23}, 1, 0},
{0x82, (uint8_t[]){0x10}, 1, 0},
{0xE0, (uint8_t[]){0x02}, 1, 0},
{0x00, (uint8_t[]){0x47}, 1, 0},
{0x01, (uint8_t[]){0x47}, 1, 0},
{0x02, (uint8_t[]){0x45}, 1, 0},
{0x03, (uint8_t[]){0x45}, 1, 0},
{0x04, (uint8_t[]){0x4B}, 1, 0},
{0x05, (uint8_t[]){0x4B}, 1, 0},
{0x06, (uint8_t[]){0x49}, 1, 0},
{0x07, (uint8_t[]){0x49}, 1, 0},
{0x08, (uint8_t[]){0x41}, 1, 0},
{0x09, (uint8_t[]){0x1F}, 1, 0},
{0x0A, (uint8_t[]){0x1F}, 1, 0},
{0x0B, (uint8_t[]){0x1F}, 1, 0},
{0x0C, (uint8_t[]){0x1F}, 1, 0},
{0x0D, (uint8_t[]){0x1F}, 1, 0},
{0x0E, (uint8_t[]){0x1F}, 1, 0},
{0x0F, (uint8_t[]){0x5F}, 1, 0},
{0x10, (uint8_t[]){0x5F}, 1, 0},
{0x11, (uint8_t[]){0x57}, 1, 0},
{0x12, (uint8_t[]){0x77}, 1, 0},
{0x13, (uint8_t[]){0x35}, 1, 0},
{0x14, (uint8_t[]){0x1F}, 1, 0},
{0x15, (uint8_t[]){0x1F}, 1, 0},
{0x16, (uint8_t[]){0x46}, 1, 0},
{0x17, (uint8_t[]){0x46}, 1, 0},
{0x18, (uint8_t[]){0x44}, 1, 0},
{0x19, (uint8_t[]){0x44}, 1, 0},
{0x1A, (uint8_t[]){0x4A}, 1, 0},
{0x1B, (uint8_t[]){0x4A}, 1, 0},
{0x1C, (uint8_t[]){0x48}, 1, 0},
{0x1D, (uint8_t[]){0x48}, 1, 0},
{0x1E, (uint8_t[]){0x40}, 1, 0},
{0x1F, (uint8_t[]){0x1F}, 1, 0},
{0x20, (uint8_t[]){0x1F}, 1, 0},
{0x21, (uint8_t[]){0x1F}, 1, 0},
{0x22, (uint8_t[]){0x1F}, 1, 0},
{0x23, (uint8_t[]){0x1F}, 1, 0},
{0x24, (uint8_t[]){0x1F}, 1, 0},
{0x25, (uint8_t[]){0x5F}, 1, 0},
{0x26, (uint8_t[]){0x5F}, 1, 0},
{0x27, (uint8_t[]){0x57}, 1, 0},
{0x28, (uint8_t[]){0x77}, 1, 0},
{0x29, (uint8_t[]){0x35}, 1, 0},
{0x2A, (uint8_t[]){0x1F}, 1, 0},
{0x2B, (uint8_t[]){0x1F}, 1, 0},
{0x58, (uint8_t[]){0x40}, 1, 0},
{0x59, (uint8_t[]){0x00}, 1, 0},
{0x5A, (uint8_t[]){0x00}, 1, 0},
{0x5B, (uint8_t[]){0x10}, 1, 0},
{0x5C, (uint8_t[]){0x06}, 1, 0},
{0x5D, (uint8_t[]){0x40}, 1, 0},
{0x5E, (uint8_t[]){0x01}, 1, 0},
{0x5F, (uint8_t[]){0x02}, 1, 0},
{0x60, (uint8_t[]){0x30}, 1, 0},
{0x61, (uint8_t[]){0x01}, 1, 0},
{0x62, (uint8_t[]){0x02}, 1, 0},
{0x63, (uint8_t[]){0x03}, 1, 0},
{0x64, (uint8_t[]){0x6B}, 1, 0},
{0x65, (uint8_t[]){0x05}, 1, 0},
{0x66, (uint8_t[]){0x0C}, 1, 0},
{0x67, (uint8_t[]){0x73}, 1, 0},
{0x68, (uint8_t[]){0x09}, 1, 0},
{0x69, (uint8_t[]){0x03}, 1, 0},
{0x6A, (uint8_t[]){0x56}, 1, 0},
{0x6B, (uint8_t[]){0x08}, 1, 0},
{0x6C, (uint8_t[]){0x00}, 1, 0},
{0x6D, (uint8_t[]){0x04}, 1, 0},
{0x6E, (uint8_t[]){0x04}, 1, 0},
{0x6F, (uint8_t[]){0x88}, 1, 0},
{0x70, (uint8_t[]){0x00}, 1, 0},
{0x71, (uint8_t[]){0x00}, 1, 0},
{0x72, (uint8_t[]){0x06}, 1, 0},
{0x73, (uint8_t[]){0x7B}, 1, 0},
{0x74, (uint8_t[]){0x00}, 1, 0},
{0x75, (uint8_t[]){0xF8}, 1, 0},
{0x76, (uint8_t[]){0x00}, 1, 0},
{0x77, (uint8_t[]){0xD5}, 1, 0},
{0x78, (uint8_t[]){0x2E}, 1, 0},
{0x79, (uint8_t[]){0x12}, 1, 0},
{0x7A, (uint8_t[]){0x03}, 1, 0},
{0x7B, (uint8_t[]){0x00}, 1, 0},
{0x7C, (uint8_t[]){0x00}, 1, 0},
{0x7D, (uint8_t[]){0x03}, 1, 0},
{0x7E, (uint8_t[]){0x7B}, 1, 0},
{0xE0, (uint8_t[]){0x04}, 1, 0},
{0x00, (uint8_t[]){0x0E}, 1, 0},
{0x02, (uint8_t[]){0xB3}, 1, 0},
{0x09, (uint8_t[]){0x60}, 1, 0},
{0x0E, (uint8_t[]){0x2A}, 1, 0},
{0x36, (uint8_t[]){0x59}, 1, 0},
{0x37, (uint8_t[]){0x58}, 1, 0}, // A133
{0x2B, (uint8_t[]){0x0F}, 1, 0}, // A133
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0x11, (uint8_t[]){0x00}, 1, 120},
{0x29, (uint8_t[]){0x00}, 1, 20},
{0x35, (uint8_t[]){0x00}, 1, 0},
};
#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1
static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = {
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0xE1, (uint8_t[]){0x93}, 1, 0},
{0xE2, (uint8_t[]){0x65}, 1, 0},
{0xE3, (uint8_t[]){0xF8}, 1, 0},
{0x80, (uint8_t[]){0x01}, 1, 0},
{0xE0, (uint8_t[]){0x01}, 1, 0},
{0x00, (uint8_t[]){0x00}, 1, 0},
{0x01, (uint8_t[]){0x38}, 1, 0},
{0x03, (uint8_t[]){0x10}, 1, 0},
{0x04, (uint8_t[]){0x38}, 1, 0},
{0x0C, (uint8_t[]){0x74}, 1, 0},
{0x17, (uint8_t[]){0x00}, 1, 0},
{0x18, (uint8_t[]){0xAF}, 1, 0},
{0x19, (uint8_t[]){0x00}, 1, 0},
{0x1A, (uint8_t[]){0x00}, 1, 0},
{0x1B, (uint8_t[]){0xAF}, 1, 0},
{0x1C, (uint8_t[]){0x00}, 1, 0},
{0x35, (uint8_t[]){0x26}, 1, 0},
{0x37, (uint8_t[]){0x09}, 1, 0},
{0x38, (uint8_t[]){0x04}, 1, 0},
{0x39, (uint8_t[]){0x00}, 1, 0},
{0x3A, (uint8_t[]){0x01}, 1, 0},
{0x3C, (uint8_t[]){0x78}, 1, 0},
{0x3D, (uint8_t[]){0xFF}, 1, 0},
{0x3E, (uint8_t[]){0xFF}, 1, 0},
{0x3F, (uint8_t[]){0x7F}, 1, 0},
{0x40, (uint8_t[]){0x06}, 1, 0},
{0x41, (uint8_t[]){0xA0}, 1, 0},
{0x42, (uint8_t[]){0x81}, 1, 0},
{0x43, (uint8_t[]){0x1E}, 1, 0},
{0x44, (uint8_t[]){0x0D}, 1, 0},
{0x45, (uint8_t[]){0x28}, 1, 0},
//{0x4A, (uint8_t[]){0x35}, 1, 0},//bist
{0x55, (uint8_t[]){0x02}, 1, 0},
{0x57, (uint8_t[]){0x69}, 1, 0},
{0x59, (uint8_t[]){0x0A}, 1, 0},
{0x5A, (uint8_t[]){0x2A}, 1, 0},
{0x5B, (uint8_t[]){0x17}, 1, 0},
{0x5D, (uint8_t[]){0x7F}, 1, 0},
{0x5E, (uint8_t[]){0x6A}, 1, 0},
{0x5F, (uint8_t[]){0x5B}, 1, 0},
{0x60, (uint8_t[]){0x4F}, 1, 0},
{0x61, (uint8_t[]){0x4A}, 1, 0},
{0x62, (uint8_t[]){0x3D}, 1, 0},
{0x63, (uint8_t[]){0x41}, 1, 0},
{0x64, (uint8_t[]){0x2A}, 1, 0},
{0x65, (uint8_t[]){0x44}, 1, 0},
{0x66, (uint8_t[]){0x43}, 1, 0},
{0x67, (uint8_t[]){0x44}, 1, 0},
{0x68, (uint8_t[]){0x62}, 1, 0},
{0x69, (uint8_t[]){0x52}, 1, 0},
{0x6A, (uint8_t[]){0x59}, 1, 0},
{0x6B, (uint8_t[]){0x4C}, 1, 0},
{0x6C, (uint8_t[]){0x48}, 1, 0},
{0x6D, (uint8_t[]){0x3A}, 1, 0},
{0x6E, (uint8_t[]){0x26}, 1, 0},
{0x6F, (uint8_t[]){0x00}, 1, 0},
{0x70, (uint8_t[]){0x7F}, 1, 0},
{0x71, (uint8_t[]){0x6A}, 1, 0},
{0x72, (uint8_t[]){0x5B}, 1, 0},
{0x73, (uint8_t[]){0x4F}, 1, 0},
{0x74, (uint8_t[]){0x4A}, 1, 0},
{0x75, (uint8_t[]){0x3D}, 1, 0},
{0x76, (uint8_t[]){0x41}, 1, 0},
{0x77, (uint8_t[]){0x2A}, 1, 0},
{0x78, (uint8_t[]){0x44}, 1, 0},
{0x79, (uint8_t[]){0x43}, 1, 0},
{0x7A, (uint8_t[]){0x44}, 1, 0},
{0x7B, (uint8_t[]){0x62}, 1, 0},
{0x7C, (uint8_t[]){0x52}, 1, 0},
{0x7D, (uint8_t[]){0x59}, 1, 0},
{0x7E, (uint8_t[]){0x4C}, 1, 0},
{0x7F, (uint8_t[]){0x48}, 1, 0},
{0x80, (uint8_t[]){0x3A}, 1, 0},
{0x81, (uint8_t[]){0x26}, 1, 0},
{0x82, (uint8_t[]){0x00}, 1, 0},
{0xE0, (uint8_t[]){0x02}, 1, 0},
{0x00, (uint8_t[]){0x42}, 1, 0},
{0x01, (uint8_t[]){0x42}, 1, 0},
{0x02, (uint8_t[]){0x40}, 1, 0},
{0x03, (uint8_t[]){0x40}, 1, 0},
{0x04, (uint8_t[]){0x5E}, 1, 0},
{0x05, (uint8_t[]){0x5E}, 1, 0},
{0x06, (uint8_t[]){0x5F}, 1, 0},
{0x07, (uint8_t[]){0x5F}, 1, 0},
{0x08, (uint8_t[]){0x5F}, 1, 0},
{0x09, (uint8_t[]){0x57}, 1, 0},
{0x0A, (uint8_t[]){0x57}, 1, 0},
{0x0B, (uint8_t[]){0x77}, 1, 0},
{0x0C, (uint8_t[]){0x77}, 1, 0},
{0x0D, (uint8_t[]){0x47}, 1, 0},
{0x0E, (uint8_t[]){0x47}, 1, 0},
{0x0F, (uint8_t[]){0x45}, 1, 0},
{0x10, (uint8_t[]){0x45}, 1, 0},
{0x11, (uint8_t[]){0x4B}, 1, 0},
{0x12, (uint8_t[]){0x4B}, 1, 0},
{0x13, (uint8_t[]){0x49}, 1, 0},
{0x14, (uint8_t[]){0x49}, 1, 0},
{0x15, (uint8_t[]){0x5F}, 1, 0},
{0x16, (uint8_t[]){0x41}, 1, 0},
{0x17, (uint8_t[]){0x41}, 1, 0},
{0x18, (uint8_t[]){0x40}, 1, 0},
{0x19, (uint8_t[]){0x40}, 1, 0},
{0x1A, (uint8_t[]){0x5E}, 1, 0},
{0x1B, (uint8_t[]){0x5E}, 1, 0},
{0x1C, (uint8_t[]){0x5F}, 1, 0},
{0x1D, (uint8_t[]){0x5F}, 1, 0},
{0x1E, (uint8_t[]){0x5F}, 1, 0},
{0x1F, (uint8_t[]){0x57}, 1, 0},
{0x20, (uint8_t[]){0x57}, 1, 0},
{0x21, (uint8_t[]){0x77}, 1, 0},
{0x22, (uint8_t[]){0x77}, 1, 0},
{0x23, (uint8_t[]){0x46}, 1, 0},
{0x24, (uint8_t[]){0x46}, 1, 0},
{0x25, (uint8_t[]){0x44}, 1, 0},
{0x26, (uint8_t[]){0x44}, 1, 0},
{0x27, (uint8_t[]){0x4A}, 1, 0},
{0x28, (uint8_t[]){0x4A}, 1, 0},
{0x29, (uint8_t[]){0x48}, 1, 0},
{0x2A, (uint8_t[]){0x48}, 1, 0},
{0x2B, (uint8_t[]){0x5F}, 1, 0},
{0x2C, (uint8_t[]){0x01}, 1, 0},
{0x2D, (uint8_t[]){0x01}, 1, 0},
{0x2E, (uint8_t[]){0x00}, 1, 0},
{0x2F, (uint8_t[]){0x00}, 1, 0},
{0x30, (uint8_t[]){0x1F}, 1, 0},
{0x31, (uint8_t[]){0x1F}, 1, 0},
{0x32, (uint8_t[]){0x1E}, 1, 0},
{0x33, (uint8_t[]){0x1E}, 1, 0},
{0x34, (uint8_t[]){0x1F}, 1, 0},
{0x35, (uint8_t[]){0x17}, 1, 0},
{0x36, (uint8_t[]){0x17}, 1, 0},
{0x37, (uint8_t[]){0x37}, 1, 0},
{0x38, (uint8_t[]){0x37}, 1, 0},
{0x39, (uint8_t[]){0x08}, 1, 0},
{0x3A, (uint8_t[]){0x08}, 1, 0},
{0x3B, (uint8_t[]){0x0A}, 1, 0},
{0x3C, (uint8_t[]){0x0A}, 1, 0},
{0x3D, (uint8_t[]){0x04}, 1, 0},
{0x3E, (uint8_t[]){0x04}, 1, 0},
{0x3F, (uint8_t[]){0x06}, 1, 0},
{0x40, (uint8_t[]){0x06}, 1, 0},
{0x41, (uint8_t[]){0x1F}, 1, 0},
{0x42, (uint8_t[]){0x02}, 1, 0},
{0x43, (uint8_t[]){0x02}, 1, 0},
{0x44, (uint8_t[]){0x00}, 1, 0},
{0x45, (uint8_t[]){0x00}, 1, 0},
{0x46, (uint8_t[]){0x1F}, 1, 0},
{0x47, (uint8_t[]){0x1F}, 1, 0},
{0x48, (uint8_t[]){0x1E}, 1, 0},
{0x49, (uint8_t[]){0x1E}, 1, 0},
{0x4A, (uint8_t[]){0x1F}, 1, 0},
{0x4B, (uint8_t[]){0x17}, 1, 0},
{0x4C, (uint8_t[]){0x17}, 1, 0},
{0x4D, (uint8_t[]){0x37}, 1, 0},
{0x4E, (uint8_t[]){0x37}, 1, 0},
{0x4F, (uint8_t[]){0x09}, 1, 0},
{0x50, (uint8_t[]){0x09}, 1, 0},
{0x51, (uint8_t[]){0x0B}, 1, 0},
{0x52, (uint8_t[]){0x0B}, 1, 0},
{0x53, (uint8_t[]){0x05}, 1, 0},
{0x54, (uint8_t[]){0x05}, 1, 0},
{0x55, (uint8_t[]){0x07}, 1, 0},
{0x56, (uint8_t[]){0x07}, 1, 0},
{0x57, (uint8_t[]){0x1F}, 1, 0},
{0x58, (uint8_t[]){0x40}, 1, 0},
{0x5B, (uint8_t[]){0x30}, 1, 0},
{0x5C, (uint8_t[]){0x00}, 1, 0},
{0x5D, (uint8_t[]){0x34}, 1, 0},
{0x5E, (uint8_t[]){0x05}, 1, 0},
{0x5F, (uint8_t[]){0x02}, 1, 0},
{0x63, (uint8_t[]){0x00}, 1, 0},
{0x64, (uint8_t[]){0x6A}, 1, 0},
{0x67, (uint8_t[]){0x73}, 1, 0},
{0x68, (uint8_t[]){0x07}, 1, 0},
{0x69, (uint8_t[]){0x08}, 1, 0},
{0x6A, (uint8_t[]){0x6A}, 1, 0},
{0x6B, (uint8_t[]){0x08}, 1, 0},
{0x6C, (uint8_t[]){0x00}, 1, 0},
{0x6D, (uint8_t[]){0x00}, 1, 0},
{0x6E, (uint8_t[]){0x00}, 1, 0},
{0x6F, (uint8_t[]){0x88}, 1, 0},
{0x75, (uint8_t[]){0xFF}, 1, 0},
{0x77, (uint8_t[]){0xDD}, 1, 0},
{0x78, (uint8_t[]){0x2C}, 1, 0},
{0x79, (uint8_t[]){0x15}, 1, 0},
{0x7A, (uint8_t[]){0x17}, 1, 0},
{0x7D, (uint8_t[]){0x14}, 1, 0},
{0x7E, (uint8_t[]){0x82}, 1, 0},
{0xE0, (uint8_t[]){0x04}, 1, 0},
{0x00, (uint8_t[]){0x0E}, 1, 0},
{0x02, (uint8_t[]){0xB3}, 1, 0},
{0x09, (uint8_t[]){0x61}, 1, 0},
{0x0E, (uint8_t[]){0x48}, 1, 0},
{0x37, (uint8_t[]){0x58}, 1, 0}, // 全志
{0x2B, (uint8_t[]){0x0F}, 1, 0}, // 全志
{0xE0, (uint8_t[]){0x00}, 1, 0},
{0xE6, (uint8_t[]){0x02}, 1, 0},
{0xE7, (uint8_t[]){0x0C}, 1, 0},
{0x11, (uint8_t[]){0x00}, 1, 120},
{0x29, (uint8_t[]){0x00}, 1, 20},
};
#endif