#ifndef _LMT092DNPFWD_ #define _LMT092DNPFWD_ #define LCM_PCLK 65 #define LCM_HACT 1920 #define LCM_VACT 480 #define LCM_HFP 10 #define LCM_HBP 8 #define LCM_HSA 8 #define LCM_VFP 1 #define LCM_VBP 1 #define LCM_VSA 4 #define LCM_NLANE 4 //MIPI Lane #define LCM_VDOMODE 0 //0:Pulses(no Burst) 1:Events 2:Burst #define LCM_MIPISPEED 420 void LCM_Init() { //Page0:Normal function SPI_WriteCmd(0x0000); Delay_ms(5); SPI_WriteCmd(0x02b0); //1port,8bit Delay_ms(5); SPI_WriteCmd(0x03f1); //1920*1080,DOT inversion Delay_ms(5); SPI_WriteCmd(0x0480); Delay_ms(5); SPI_WriteCmd(0x05cf); Delay_ms(5); SPI_WriteCmd(0x1435); Delay_ms(5); SPI_WriteCmd(0x16c8); Delay_ms(5); SPI_WriteCmd(0x1720); Delay_ms(5); SPI_WriteCmd(0x1820); Delay_ms(5); SPI_WriteCmd(0x1cb7); //vcom Delay_ms(5); SPI_WriteCmd(0x1ed0); Delay_ms(5); SPI_WriteCmd(0x1f00); Delay_ms(5); //Page1:Positive gamma correction for red color SPI_WriteCmd(0x0001);Delay_ms(5); SPI_WriteCmd(0x0100);Delay_ms(5); SPI_WriteCmd(0x0230);Delay_ms(5); SPI_WriteCmd(0x035a);Delay_ms(5); SPI_WriteCmd(0x047a);Delay_ms(5); SPI_WriteCmd(0x0594);Delay_ms(5); SPI_WriteCmd(0x06d6);Delay_ms(5); SPI_WriteCmd(0x0715);Delay_ms(5); SPI_WriteCmd(0x0838);Delay_ms(5); SPI_WriteCmd(0x0974);Delay_ms(5); SPI_WriteCmd(0x0aae);Delay_ms(5); SPI_WriteCmd(0x0bee);Delay_ms(5); SPI_WriteCmd(0x0c40);Delay_ms(5); SPI_WriteCmd(0x0db8);Delay_ms(5); SPI_WriteCmd(0x0e1c);Delay_ms(5); SPI_WriteCmd(0x0f6c);Delay_ms(5); SPI_WriteCmd(0x10a8);Delay_ms(5); SPI_WriteCmd(0x11fc);Delay_ms(5); SPI_WriteCmd(0x1200);Delay_ms(5); SPI_WriteCmd(0x1350);Delay_ms(5); SPI_WriteCmd(0x1495);Delay_ms(5); SPI_WriteCmd(0x15fe);Delay_ms(5); SPI_WriteCmd(0x1603);Delay_ms(5); //Page2:Negative gamma correction for red color SPI_WriteCmd(0x0002);Delay_ms(5); SPI_WriteCmd(0x0100);Delay_ms(5); SPI_WriteCmd(0x0230);Delay_ms(5); SPI_WriteCmd(0x035a);Delay_ms(5); SPI_WriteCmd(0x047a);Delay_ms(5); SPI_WriteCmd(0x0594);Delay_ms(5); SPI_WriteCmd(0x06d6);Delay_ms(5); SPI_WriteCmd(0x0715);Delay_ms(5); SPI_WriteCmd(0x0838);Delay_ms(5); SPI_WriteCmd(0x0974);Delay_ms(5); SPI_WriteCmd(0x0aae);Delay_ms(5); SPI_WriteCmd(0x0bee);Delay_ms(5); SPI_WriteCmd(0x0c40);Delay_ms(5); SPI_WriteCmd(0x0db8);Delay_ms(5); SPI_WriteCmd(0x0e1c);Delay_ms(5); SPI_WriteCmd(0x0f6c);Delay_ms(5); SPI_WriteCmd(0x10a8);Delay_ms(5); SPI_WriteCmd(0x11fc);Delay_ms(5); SPI_WriteCmd(0x1200);Delay_ms(5); SPI_WriteCmd(0x1350);Delay_ms(5); SPI_WriteCmd(0x1495);Delay_ms(5); SPI_WriteCmd(0x15fe);Delay_ms(5); SPI_WriteCmd(0x1603);Delay_ms(5); //Page3:Positive gamma correction for green color SPI_WriteCmd(0x0003);Delay_ms(5); SPI_WriteCmd(0x0100);Delay_ms(5); SPI_WriteCmd(0x0230);Delay_ms(5); SPI_WriteCmd(0x035a);Delay_ms(5); SPI_WriteCmd(0x047a);Delay_ms(5); SPI_WriteCmd(0x0594);Delay_ms(5); SPI_WriteCmd(0x06d6);Delay_ms(5); SPI_WriteCmd(0x0715);Delay_ms(5); SPI_WriteCmd(0x0838);Delay_ms(5); SPI_WriteCmd(0x0974);Delay_ms(5); SPI_WriteCmd(0x0aae);Delay_ms(5); SPI_WriteCmd(0x0bee);Delay_ms(5); SPI_WriteCmd(0x0c40);Delay_ms(5); SPI_WriteCmd(0x0db8);Delay_ms(5); SPI_WriteCmd(0x0e1c);Delay_ms(5); SPI_WriteCmd(0x0f6c);Delay_ms(5); SPI_WriteCmd(0x10a8);Delay_ms(5); SPI_WriteCmd(0x11fc);Delay_ms(5); SPI_WriteCmd(0x1200);Delay_ms(5); SPI_WriteCmd(0x1350);Delay_ms(5); SPI_WriteCmd(0x1495);Delay_ms(5); SPI_WriteCmd(0x15fe);Delay_ms(5); SPI_WriteCmd(0x1603);Delay_ms(5); //Page4:Negative gamma correction for rgreen color SPI_WriteCmd(0x0004);Delay_ms(5); SPI_WriteCmd(0x0100);Delay_ms(5); SPI_WriteCmd(0x0230);Delay_ms(5); SPI_WriteCmd(0x035a);Delay_ms(5); SPI_WriteCmd(0x047a);Delay_ms(5); SPI_WriteCmd(0x0594);Delay_ms(5); SPI_WriteCmd(0x06d6);Delay_ms(5); SPI_WriteCmd(0x0715);Delay_ms(5); SPI_WriteCmd(0x0838);Delay_ms(5); SPI_WriteCmd(0x0974);Delay_ms(5); SPI_WriteCmd(0x0aae);Delay_ms(5); SPI_WriteCmd(0x0bee);Delay_ms(5); SPI_WriteCmd(0x0c40);Delay_ms(5); SPI_WriteCmd(0x0db8);Delay_ms(5); SPI_WriteCmd(0x0e1c);Delay_ms(5); SPI_WriteCmd(0x0f6c);Delay_ms(5); SPI_WriteCmd(0x10a8);Delay_ms(5); SPI_WriteCmd(0x11fc);Delay_ms(5); SPI_WriteCmd(0x1200);Delay_ms(5); SPI_WriteCmd(0x1350);Delay_ms(5); SPI_WriteCmd(0x1495);Delay_ms(5); SPI_WriteCmd(0x15fe);Delay_ms(5); SPI_WriteCmd(0x1603);Delay_ms(5); //Page5:Positive gamma correction for blue color SPI_WriteCmd(0x0005);Delay_ms(5); SPI_WriteCmd(0x0100);Delay_ms(5); SPI_WriteCmd(0x0230);Delay_ms(5); SPI_WriteCmd(0x035a);Delay_ms(5); SPI_WriteCmd(0x047a);Delay_ms(5); SPI_WriteCmd(0x0594);Delay_ms(5); SPI_WriteCmd(0x06d6);Delay_ms(5); SPI_WriteCmd(0x0715);Delay_ms(5); SPI_WriteCmd(0x0838);Delay_ms(5); SPI_WriteCmd(0x0974);Delay_ms(5); SPI_WriteCmd(0x0aae);Delay_ms(5); SPI_WriteCmd(0x0bee);Delay_ms(5); SPI_WriteCmd(0x0c40);Delay_ms(5); SPI_WriteCmd(0x0db8);Delay_ms(5); SPI_WriteCmd(0x0e1c);Delay_ms(5); SPI_WriteCmd(0x0f6c);Delay_ms(5); SPI_WriteCmd(0x10a8);Delay_ms(5); SPI_WriteCmd(0x11fc);Delay_ms(5); SPI_WriteCmd(0x1200);Delay_ms(5); SPI_WriteCmd(0x1350);Delay_ms(5); SPI_WriteCmd(0x1495);Delay_ms(5); SPI_WriteCmd(0x15fe);Delay_ms(5); SPI_WriteCmd(0x1603);Delay_ms(5); //Page6:Negative gamma correction for blue color SPI_WriteCmd(0x0006);Delay_ms(5); SPI_WriteCmd(0x0100);Delay_ms(5); SPI_WriteCmd(0x0230);Delay_ms(5); SPI_WriteCmd(0x035a);Delay_ms(5); SPI_WriteCmd(0x047a);Delay_ms(5); SPI_WriteCmd(0x0594);Delay_ms(5); SPI_WriteCmd(0x06d6);Delay_ms(5); SPI_WriteCmd(0x0715);Delay_ms(5); SPI_WriteCmd(0x0838);Delay_ms(5); SPI_WriteCmd(0x0974);Delay_ms(5); SPI_WriteCmd(0x0aae);Delay_ms(5); SPI_WriteCmd(0x0bee);Delay_ms(5); SPI_WriteCmd(0x0c40);Delay_ms(5); SPI_WriteCmd(0x0db8);Delay_ms(5); SPI_WriteCmd(0x0e1c);Delay_ms(5); SPI_WriteCmd(0x0f6c);Delay_ms(5); SPI_WriteCmd(0x10a8);Delay_ms(5); SPI_WriteCmd(0x11fc);Delay_ms(5); SPI_WriteCmd(0x1200);Delay_ms(5); SPI_WriteCmd(0x1350);Delay_ms(5); SPI_WriteCmd(0x1495);Delay_ms(5); SPI_WriteCmd(0x15fe);Delay_ms(5); SPI_WriteCmd(0x1603);Delay_ms(5); //Page6:LVDS function SPI_WriteCmd(0x0007);Delay_ms(5); SPI_WriteCmd(0x0115);Delay_ms(5); } void LCM_SetVCOM(uint16_t nVCOM) { uint16_t CMDnVCOM; CMDnVCOM=0x1C00|(nVCOM&0x00FF); SPI_WriteCmd(0x0000); //Page0 Delay_ms(5); SPI_WriteCmd(CMDnVCOM); //VCOM Delay_ms(10); } #endif