#include "gc9a01_spi.h"
-#if USE_LCD_PANEL_GC9A01_4_1_SPI_POC
+#if USE_LCD_PANEL_GC9A01_SPI_WATCH
#include <stdio.h>
#include <stdlib.h>
{ SPI_WRITE_CMD, 0x29, 0 },
//{ SPI_WRITE_DELAY, 120, 0 },
{ SPI_WRITE_CMD, 0x2C, 0 },
+#elif DRV_PROJECT_Z5_K12
+ /**** ZH128H16209A LCD ****/
+ { SPI_WRITE_CMD, 0xFE, 0 },
+ { SPI_WRITE_CMD, 0xEF, 0 },
+
+ { SPI_WRITE_CMD, 0xEB, 1 },
+ { SPI_WRITE_DATA, 0x14, 0 },
+
+ { SPI_WRITE_CMD, 0x84, 1 },
+ { SPI_WRITE_DATA, 0x60, 0 }, //40->60 0xb5 en 20200924 james
+
+ { SPI_WRITE_CMD, 0x85, 1 },
+ { SPI_WRITE_DATA, 0xFF, 0 },
+
+ { SPI_WRITE_CMD, 0x86, 1 },
+ { SPI_WRITE_DATA, 0xFF, 0 },
+
+ { SPI_WRITE_CMD, 0x87, 1 },
+ { SPI_WRITE_DATA, 0xFF, 0 },
+
+ { SPI_WRITE_CMD, 0x8E, 1 },
+ { SPI_WRITE_DATA, 0xFF, 0 },
+
+ { SPI_WRITE_CMD, 0x8F, 1 },
+ { SPI_WRITE_DATA, 0xFF, 0 },
+
+
+ { SPI_WRITE_CMD, 0x88, 1 },
+ { SPI_WRITE_DATA, 0x0A, 0 },
+
+ { SPI_WRITE_CMD, 0x89, 1 },
+ { SPI_WRITE_DATA, 0x23, 0 }, ///spi 2data reg en 23
+
+ { SPI_WRITE_CMD, 0x8A, 1 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+
+ { SPI_WRITE_CMD, 0x8B, 1 },
+ { SPI_WRITE_DATA, 0x80, 0 },
+
+ { SPI_WRITE_CMD, 0x8C, 1 },
+ { SPI_WRITE_DATA, 0x01, 0 },
+
+ //{ SPI_WRITE_CMD, 0x8D, 1 },
+ //{ SPI_WRITE_DATA, 0x01, 0 },
+
+ { SPI_WRITE_CMD, 0x8D, 1 },
+ { SPI_WRITE_DATA, 0x03, 0 },
+
+ { SPI_WRITE_CMD, 0xB5, 4 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x09, 0 },
+ { SPI_WRITE_DATA, 0x14, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+
+ //Õýɨ
+ { SPI_WRITE_CMD, 0xB6, 2 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 }, //GS SS 0x20
+
+ { SPI_WRITE_CMD, 0x36, 1 },
+ { SPI_WRITE_DATA, 0x28, 0 },
+
+ { SPI_WRITE_CMD, 0x3A, 1 },
+ { SPI_WRITE_DATA, 0x05, 0 },
+
+ { SPI_WRITE_CMD, 0x90, 4 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+
+ { SPI_WRITE_CMD, 0xBA, 1 },//te ¿í¶È
+ { SPI_WRITE_DATA, 0x0A, 0 }, //01=22us A1=3MS
+
+ { SPI_WRITE_CMD, 0xBD, 1 },
+ { SPI_WRITE_DATA, 0x06, 0 },
+
+ { SPI_WRITE_CMD, 0xBC, 1 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+
+ { SPI_WRITE_CMD, 0xFF, 3 },
+ { SPI_WRITE_DATA, 0x60, 0 },
+ { SPI_WRITE_DATA, 0x01, 0 },
+ { SPI_WRITE_DATA, 0x04, 0 },
+
+
+ { SPI_WRITE_CMD, 0xC3, 1 },
+ { SPI_WRITE_DATA, 0x18, 0 },
+ { SPI_WRITE_CMD, 0xC4, 1 },
+ { SPI_WRITE_DATA, 0x18, 0 },
+
+ { SPI_WRITE_CMD, 0xC9, 1 },
+ { SPI_WRITE_DATA, 0x25, 0 },
+
+ { SPI_WRITE_CMD, 0xBE, 1 },
+ { SPI_WRITE_DATA, 0x11, 0 },
+
+ { SPI_WRITE_CMD, 0xE1, 2 },
+ { SPI_WRITE_DATA, 0x10, 0 },
+ { SPI_WRITE_DATA, 0x0E, 0 },
+
+ { SPI_WRITE_CMD, 0xDF, 3 },
+ { SPI_WRITE_DATA, 0x21, 0 },
+ { SPI_WRITE_DATA, 0x0c, 0 },
+ { SPI_WRITE_DATA, 0x02, 0 },
+
+ { SPI_WRITE_CMD, 0xF0, 6 },
+ { SPI_WRITE_DATA, 0x45, 0 },
+ { SPI_WRITE_DATA, 0x09, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x26, 0 },
+ { SPI_WRITE_DATA, 0x2A, 0 },
+
+ { SPI_WRITE_CMD, 0xF1, 6 },
+ { SPI_WRITE_DATA, 0x43, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x72, 0 },
+ { SPI_WRITE_DATA, 0x36, 0 },
+ { SPI_WRITE_DATA, 0x37, 0 },
+ { SPI_WRITE_DATA, 0x6F, 0 },
+
+
+ { SPI_WRITE_CMD, 0xF2, 6 },
+ { SPI_WRITE_DATA, 0x45, 0 },
+ { SPI_WRITE_DATA, 0x09, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x26, 0 },
+ { SPI_WRITE_DATA, 0x2A, 0 },
+
+ { SPI_WRITE_CMD, 0xF3, 6 },
+ { SPI_WRITE_DATA, 0x43, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x72, 0 },
+ { SPI_WRITE_DATA, 0x36, 0 },
+ { SPI_WRITE_DATA, 0x37, 0 },
+ { SPI_WRITE_DATA, 0x6F, 0 },
+
+ { SPI_WRITE_CMD, 0xED, 2 },
+ { SPI_WRITE_DATA, 0x1B, 0 },
+ { SPI_WRITE_DATA, 0x0B, 0 },
+
+ { SPI_WRITE_CMD, 0xAE, 1 },
+ { SPI_WRITE_DATA, 0x77, 0 },
+
+ { SPI_WRITE_CMD, 0xCD, 1 },
+ { SPI_WRITE_DATA, 0x63, 0 },
+
+
+ { SPI_WRITE_CMD, 0x70, 9 },
+ { SPI_WRITE_DATA, 0x07, 0 },
+ { SPI_WRITE_DATA, 0x07, 0 },
+ { SPI_WRITE_DATA, 0x04, 0 },
+ { SPI_WRITE_DATA, 0x0E, 0 }, //0x0e
+ { SPI_WRITE_DATA, 0x0F, 0 }, //0x10
+ { SPI_WRITE_DATA, 0x09, 0 },
+ { SPI_WRITE_DATA, 0x07, 0 },
+ { SPI_WRITE_DATA, 0x08, 0 },
+ { SPI_WRITE_DATA, 0x03, 0 },
+
+ { SPI_WRITE_CMD, 0xE8, 1 },
+ { SPI_WRITE_DATA, 0x34, 0 },//34
+ /////////////////////////////////////////////
+ { SPI_WRITE_CMD, 0x60, 8 },
+ { SPI_WRITE_DATA, 0x38, 0 },
+ { SPI_WRITE_DATA, 0x0B, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+
+ { SPI_WRITE_DATA, 0x39, 0 },
+ { SPI_WRITE_DATA, 0xF0, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+
+
+ { SPI_WRITE_CMD, 0x61, 8 },
+ { SPI_WRITE_DATA, 0x38, 0 },
+ { SPI_WRITE_DATA, 0xF4, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+
+ { SPI_WRITE_DATA, 0x38, 0 },
+ //{ SPI_WRITE_DATA, 0xF7, 0 }, //20200718
+ { SPI_WRITE_DATA, 0xF7, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+ { SPI_WRITE_DATA, 0x6D, 0 },
+ /////////////////////////////////////
+ { SPI_WRITE_CMD, 0x62, 12 },
+ { SPI_WRITE_DATA, 0x38, 0 },
+ { SPI_WRITE_DATA, 0x0D, 0 },
+ { SPI_WRITE_DATA, 0x71, 0 },
+ { SPI_WRITE_DATA, 0xED, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x38, 0 },
+ { SPI_WRITE_DATA, 0x0F, 0 },
+ { SPI_WRITE_DATA, 0x71, 0 },
+ { SPI_WRITE_DATA, 0xEF, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+
+ { SPI_WRITE_CMD, 0x63, 12 },
+ { SPI_WRITE_DATA, 0x38, 0 },
+ { SPI_WRITE_DATA, 0x11, 0 },
+ { SPI_WRITE_DATA, 0x71, 0 },
+ { SPI_WRITE_DATA, 0xF1, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x38, 0 },
+ { SPI_WRITE_DATA, 0x13, 0 },
+ { SPI_WRITE_DATA, 0x71, 0 },
+ { SPI_WRITE_DATA, 0xF3, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ { SPI_WRITE_DATA, 0x70, 0 },
+ ///////////////////////////////////////////////////////
+ { SPI_WRITE_CMD, 0x64, 7 },
+ { SPI_WRITE_DATA, 0x28, 0 },
+ { SPI_WRITE_DATA, 0x29, 0 },
+ { SPI_WRITE_DATA, 0xF1, 0 },
+ { SPI_WRITE_DATA, 0x01, 0 },
+ { SPI_WRITE_DATA, 0xF1, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x07, 0 },
+
+ //Õýɨ
+ { SPI_WRITE_CMD, 0x66, 10 },
+ { SPI_WRITE_DATA, 0x3C, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0xCD, 0 },
+ { SPI_WRITE_DATA, 0x67, 0 },
+ { SPI_WRITE_DATA, 0x45, 0 },
+ { SPI_WRITE_DATA, 0x45, 0 },
+ { SPI_WRITE_DATA, 0x10, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+
+ { SPI_WRITE_CMD, 0x67, 10 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x3C, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x01, 0 },
+ { SPI_WRITE_DATA, 0x54, 0 },
+ { SPI_WRITE_DATA, 0x10, 0 },
+ { SPI_WRITE_DATA, 0x32, 0 },
+ { SPI_WRITE_DATA, 0x98, 0 },
+
+
+
+ { SPI_WRITE_CMD, 0x74, 7 },
+ { SPI_WRITE_DATA, 0x10, 0 },
+ { SPI_WRITE_DATA, 0x80, 0 },//68 = 90HZ, C0 =50HZ, 4D=80HZ, 7E=100HZ 80=60HZ,5B=85HZ,53 =82HZ,59=84HZ
+ { SPI_WRITE_DATA, 0x80, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0x4E, 0 },
+ { SPI_WRITE_DATA, 0x00, 0 },
+
+ { SPI_WRITE_CMD, 0x98, 2 },
+ { SPI_WRITE_DATA, 0x3e, 0 },
+ { SPI_WRITE_DATA, 0x07, 0 },
+
+ { SPI_WRITE_CMD, 0x99, 2 },
+ { SPI_WRITE_DATA, 0x3e, 0 },
+ { SPI_WRITE_DATA, 0x07, 0 },
+
+ { SPI_WRITE_CMD, 0x35, 1 }, //¿ªÆôTE
+ { SPI_WRITE_DATA, 0x00, 0 },
+
+ { SPI_WRITE_CMD, 0x44, 2 }, //ÇÐÏßλÖÃ
+ { SPI_WRITE_DATA, 0x00, 0 },
+ { SPI_WRITE_DATA, 0xCA, 0 },
+
+ { SPI_WRITE_CMD, 0x21, 0 },
+ { SPI_WRITE_DELAY, 120, 0 },
+ //--------end gamma setting--------------//
+
+ { SPI_WRITE_CMD, 0x11, 0 },
+ { SPI_WRITE_DELAY, 120, 0 },
+ { SPI_WRITE_CMD, 0x29, 0 },
+ //{ SPI_WRITE_DELAY, 120, 0 },
+ { SPI_WRITE_CMD, 0x2C, 0 },
+
#else
/***** HAILICHUANG LCD ******/
{ SPI_WRITE_CMD, 0xFE, 0 },
};
const static struct spi_timing lcd_gc9a01_spi_timing = {
- 62500, /* 52000, 62500, 31200, 26000 KHz */
+ 52000, /* 52000, 62500, 31200, 26000 KHz */
5000, /* KHz*/
};
const static struct spi_info lcd_gc9a01_spi_info_poc = {
- 4,
- 1,
+ 3,
+ 2,
1,
SPI_FORMAT_RGB565,
0,