/* Copyright (c) 2012, Code Aurora Forum. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * */ #ifndef MIPI_OTM9605A_BOYI_LG_500_H #define MIPI_OTM9605A_BOYI_LG_500_H #include "mipi_dsi.h" #define VIDEO_WVGA_PT_PARA #define MIPI_GLOBAL_PARA #define OTM9605A_BOYI_LG_500_HBP 32 #define OTM9605A_BOYI_LG_500_HFP 32 #define OTM9605A_BOYI_LG_500_HPW 8 #define OTM9605A_BOYI_LG_500_VBP 16 #define OTM9605A_BOYI_LG_500_VFP 15 #define OTM9605A_BOYI_LG_500_VPW 1 /* 0x0C: DSI1_VIDEO_MODE_CTRL * HFP_PWR_MODE[BIT24] HBP_PWR_MODE[BIT20] HSA_PWR_MODE[BIT16] * 0: Send blanking packets in high speed mode * 1: Low power stop mode(LP-11) * These values should be 1, original value is 0. */ #define OTM9605A_BOYI_LG_500_HFPPS 1 #define OTM9605A_BOYI_LG_500_HBPPS 1 #define OTM9605A_BOYI_LG_500_HSAPS 1 /* 0xC0[13:8]: DSI1_CLKOUT_TIMING_CTRL * Number of BYTECLK cycles(minus one) that the transmitter continues * sending high speed clocks after the last associated data lane has * transitioned to low power mode */ #define OTM9605A_BOYI_LG_500_TCLK_POST 0x05 /* 0xC0[5:0]: DSI1_CLKOUT_TIMING_CTRL * Number of BYTECLK cycles(minus one) that the high speed clock shall be * driven prior to any associated data lane beginning the transition from low * power to high speed mode. */ #define OTM9605A_BOYI_LG_500_TCLK_PRE 0x1A #define LCD_OTM9605A_BOYI_LG_500_FRAME_RATE 60 #define ORISE9605_BOYI_500_XRES 540 #define ORISE9605_BOYI_500_YRES 960 #ifdef VIDEO_WVGA_PT_PARA static struct mipi_dsi_phy_ctrl dsi_video_mode_otm9605a_boyi_lg_500_phy_db = { /* DSI Bit Clock at 500 MHz, 2 lane, RGB888 */ /* 0x0500: regulator */ {0x02, 0x0a, 0x04, 0x00, 0x20}, /* 0x0440: phy timing */ {0x8a, 0x47, 0x14, 0x00, 0x55, 0x56, 0x19, 0x4b, 0x1f, 0x03, 0x04}, /* 0x0470: phy ctrl */ {0x5f, 0x00, 0x00, 0x10}, /* 0x0480: strength */ {0xff, 0x00, 0x06, 0x00}, /* 0x0204: pll control */ {0x00, 0xb4, 0x33, 0xda, 0x00, 0x40, 0x03, 0x62, 0x01, 0x0f, 0x07, 0x00, 0x1a, 0x00, 0x0, 0x02, 0x0, 0x20, 0x0, 0x01, 0x0}, }; #endif #ifdef MIPI_GLOBAL_PARA /* -----------------Orise Engineer Mode Enable begin---------------------------- * ADRSFT(0000h): Address Shift Function * Address shitf function can be enabled when EXTC=1(EXTC bit at $FF00h) * SFT[7:0] can define the parameter counter number of command 2 register * CMD2_ENA1(FF00h):Enable Access Command 2 & Software EXTC Enable: * To enter in Command 2 mode, please let PW[15:8]=96h and PW[7:0]=05h * To enable write function of Command 2 & enable parameter shift function, * please let EXTC=1h, as follow: * CMD2_ENA2(FF80h):Enable Access Orise Command 2 * Only access when CMD2 mode enable */ static char boyi_lg_otm9605a_video0[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video1[4] = {0xFF,0x96,0x05,0x01}; static char boyi_lg_otm9605a_video2[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video3[3] = {0xFF,0x96,0x05}; /* -----------------Orise Engineer Mode Enable end----------------- */ /* Hidden parameters: mipi 2 lane */ static char boyi_lg_otm9605a_video4[2] = {0x00,0x92}; static char boyi_lg_otm9605a_video5[3] = {0xFF,0x10,0x02}; /*---------------After setting 2 lane, delay 4 paras BEGIN------------- static char yashi_otm9605a_video6[2] = {0x00,0x00}; static char yashi_otm9605a_video7[2] = {0x00,0x00}; static char yashi_otm9605a_video8[2] = {0x00,0x00}; static char yashi_otm9605a_video9[2] = {0x00,0x00}; -----------------After setting 2 lane, delay 4 paras END--------------*/ /* -----------------------0xC0 - 0xC5 0xd0 -0xd9 BEGIN ------------------------- * TSP(C080h) TCON Setting Parameter 1: set mclk, VFP, VBP (9 parameters) * MCLK_SHIFT(C090-C095h) Mclk Shift Set: control the shift numbers for clear signal of mclk * SD_CTRL(C0A2h) Source Driver Timing Setting * P_DRV_M(C0B4h) Panel Driving Mode: set the inversion type and mode * OSC_ADJ(C181h) Oscillator Adjustment for Normal Mode: set the Oscillator freq in normal mode * OSC_REF_CTRL(C1A0h-C1A8h) Oscillator Reference Control * SD_PCH_CTRL(C480h) Source Driver Percharge Control * SD_CTRL_STATE(C484h-C486h) Source Driver Control State * PWR_CTRL1(C580h):Power Control Setting 1 (4 parameters) * PWR_CTRL2(C590h):Power Control Setting 2 for normal mode(8 parameters) * PWR_CTRL3(C5B0h):Power Control Setting 3 for DC Voltage Settings (2 parameters) * TEMP_SET(C5C0-C5C4h): Temperature Set (5 parameters) * PWR_CTRL4(C5C5h): Power Control Setting 4 for DC Voltage Settings (1 parameter) */ static char boyi_lg_otm9605a_video6[2] = {0x00,0xB4}; static char boyi_lg_otm9605a_video7[2] = {0xC0,0x50}; /* Column Inversion */ static char boyi_lg_otm9605a_video8[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video9[3] = {0xC1,0x36,0x66}; /* frequency orgin: 0x77 */ static char boyi_lg_otm9605a_video10[2] = {0x00,0x89}; static char boyi_lg_otm9605a_video11[2] = {0xC0,0x01}; /* TCON OSC turbo mode */ static char boyi_lg_otm9605a_video12[2] = {0x00,0xA0}; static char boyi_lg_otm9605a_video13[2] = {0xC1,0x02}; static char boyi_lg_otm9605a_video14[3] = {0x00,0x80}; static char boyi_lg_otm9605a_video15[5] = {0xC5,0x08,0x00,0xA0,0x11}; static char boyi_lg_otm9605a_video16[2] = {0x00,0x90}; static char boyi_lg_otm9605a_video17[4] = {0xC5,0x96,0x6D,0x01}; /* orgin: 0xD6,0x57,0x01 [VGH, VGL]=30V */ static char boyi_lg_otm9605a_video18[2] = {0x00,0xB0}; static char boyi_lg_otm9605a_video19[3] = {0xC5,0x05,0x28}; /* adjust vdd1.8v level */ static char boyi_lg_otm9605a_video20[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video21[3] = {0xD8,0x85, 0x85}; /* 0x77,0x77 GVDD NGVDD */ static char boyi_lg_otm9605a_video22[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video23[2] = {0xD9, 0x50}; /* Vcom setting, origin: 0x57 */ static char boyi_lg_otm9605a_video24[2] = {0x00,0xA6}; static char boyi_lg_otm9605a_video25[2] = {0xC1,0x01}; /* Inrush Current Test */ /* -----------------------0xC0 - 0xC5 0xd0 -0xd9 END -------------------------*/ /*---------------CEEN(D680h):CE enable BEGIN-------------------- * D[7:4]: CE_GAIN_SEL CE: Color Enhancement * 0001: Saturation Enhancement Gain ratio is 1.1 * D.3: CE_ENA * 1: Color Enhancement(CE) function enable */ static char boyi_lg_otm9605a_video126[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video127[2] = {0xD6,0x18}; /*---------------CEEN(D680h):CE enable END--------------------*/ static char boyi_lg_otm9605a_video88[2] = {0x00,0xB1}; static char boyi_lg_otm9605a_video89[2] = {0xC5,0x28}; static char boyi_lg_otm9605a_video90[2] = {0x00,0xB2}; static char boyi_lg_otm9605a_video91[5] = {0xF5,0x15,0x00,0x15,0x00}; static char boyi_lg_otm9605a_video92[2] = {0x00,0xC0}; static char boyi_lg_otm9605a_video93[2] = {0xC5,0x00}; /* thermo disable */ static char boyi_lg_otm9605a_video94[2] = {0x00,0x88}; static char boyi_lg_otm9605a_video95[2] = {0xC4,0x01}; /* CR enable */ static char boyi_lg_otm9605a_video96[2] = {0x00,0xA2}; static char boyi_lg_otm9605a_video97[4] = {0xC0,0x20,0x18,0x09}; /* cr,pl.pcg */ /* source output levels during porch and non-display area SD-PT:11 -- GND */ static char boyi_lg_otm9605a_video98[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video99[2] = {0xC4,0x9C}; /* ---------------------GOA PAD output level BEGIN------------------------ * PANCTRLSET6(CBD0-DBDEh) Panel Control Setting 6: Control GOA PAD output level * during different stages of the power sequence for PAD * PANCTRLSET7(CBE0-CBE8h) Panel Control Setting 7: The same as above */ static char boyi_lg_otm9605a_video28[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video29[11] = { 0xCB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video30[2] = {0x00,0x90}; static char boyi_lg_otm9605a_video31[16] = { 0xCB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video32[2] = {0x00,0xA0}; static char boyi_lg_otm9605a_video33[16] = { 0xCB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video34[2] = {0x00,0xB0}; static char boyi_lg_otm9605a_video35[11] = { 0xCB,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video36[2] = {0x00,0xC0}; static char boyi_lg_otm9605a_video37[16] = { 0xCB,0x04,0x04,0x04,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x08,0x04,0x04,0x04,0x08 }; static char boyi_lg_otm9605a_video38[2] = {0x00,0xD0}; static char boyi_lg_otm9605a_video39[16] = { 0xCB,0x08,0x00,0x00,0x00,0x00,0x04,0x04,0x04,0x04,0x08,0x04,0x08,0x04,0x08,0x04 }; static char boyi_lg_otm9605a_video40[2] = {0x00,0xE0}; static char boyi_lg_otm9605a_video41[11] = { 0xCB,0x08,0x04,0x04,0x04,0x08,0x08,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video42[2] = {0x00,0xF0}; static char boyi_lg_otm9605a_video43[11] = { 0xCB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF }; /* --------------------GOA PAD output level 0xCB END--------------------*/ /* -----------------------GOA 0xCC - 0xCF BEGIN------------------------- * PANU2D1(CC80h-CC89h) Panel U2D Setting 1: map internal GOA signals to * GOA output pad for normal scan(U2D) * PANU2D2(CC90h-CC9Eh) Panel U2D Setting 2: The same as above * PANU2D3(CCA0h-CCADh) Panel U2D Setting 3: The same as above * PAND2U1(CCB0h-CCB9h) Panel D2U Setting 1: map internal GOA signals to * GOA output pad for reverse scan(D2U) * PAND2U2(CCC0h-CCCEh) Panel D2U Setting 2: The same as above * PAND2U3(CCD0h-CCDDh) Panel D2U Setting 3: The same as above * GOAVEND(CE90h-CE9Bh) GOA VEND Setting: Create single pulse type signals * GOAGPSET(CE9Ch) GOA Group Setting * GOACLKA1(CEA0h-CEA6h) GOA CLKA1 Setting * GOACLKA2(CEA7h-CEADh) GOA CLKA2 Setting * GOACLKA3(CEB0h-CEB6h) GOA CLKA3 Setting * GOACLKA4(CEB7h-CEBDh) GOA CLKA4 Setting * GOACLKB1(CEC0h-CEC6h) GOA CLKB1 Setting * GOACLKB2(CEC7h-CECDh) GOA CLKB2 Setting * GOACLKB3(CED0h-CED6h) GOA CLKB3 Setting * GOACLKB4(CED7h-CEDDh) GOA CLKB4 Setting * GOAECLK(CFC0h-CFC4h) GOA ECLK Setting * GOAOPT1(CFC6h) GOA other option 1: adjust additional GOA signal options * GOATGOPT(CFC7h-CFC9h) GOA Signal Toggle Option Setting * GOA_F_CTRL(CFD0h) GOA signal Frame behavior setting */ static char boyi_lg_otm9605a_video44[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video45[11] = { 0xCC,0x26,0x25,0x21,0x22,0x00,0x0F,0x00,0x0D,0x00,0x0B }; static char boyi_lg_otm9605a_video46[2] = {0x00,0x90}; static char boyi_lg_otm9605a_video47[16] = { 0xCC,0x00,0x09,0x01,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x26,0x25,0x21,0x22,0x00 }; static char boyi_lg_otm9605a_video48[2] = {0x00,0xA0}; static char boyi_lg_otm9605a_video49[16] = { 0xCC,0x10,0x00,0x0E,0x00,0x0C,0x00,0x0A,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video50[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video51[13] = { /*GOA VST Setting */ 0xCE,0x8B,0x03,0x06,0x8A,0x03,0x06,0x89,0x03,0x06,0x88,0x03,0x06 }; static char boyi_lg_otm9605a_video52[2] = {0x00,0x90}; static char boyi_lg_otm9605a_video53[15] = { 0xCE,0xF0,0x00,0x00,0xF0,0x00,0x00,0xF0,0x00,0x00,0xF0,0x00,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video54[2] = {0x00,0xA0}; static char boyi_lg_otm9605a_video55[15] = { 0xCE,0x38,0x03,0x03,0xC0,0x00,0x06,0x00,0x38,0x02,0x03,0xC1,0x00,0x06,0x00 }; static char boyi_lg_otm9605a_video56[2] = {0x00,0xB0}; static char boyi_lg_otm9605a_video57[15] = { 0xCE,0x38,0x01,0x03,0xC2,0x00,0x06,0x00,0x38,0x00,0x03,0xC3,0x00,0x06,0x00 }; static char boyi_lg_otm9605a_video58[2] = {0x00,0xC0}; static char boyi_lg_otm9605a_video59[15] = { 0xCE,0x38,0x07,0x03,0xBC,0x00,0x06,0x00,0x38,0x06,0x03,0xBD,0x00,0x06,0x00 }; static char boyi_lg_otm9605a_video60[2] = {0x00,0xD0}; static char boyi_lg_otm9605a_video61[15] = { 0xCE,0x38,0x05,0x03,0xBE,0x00,0x06,0x00,0x38,0x04,0x03,0xBF,0x00,0x06,0x00 }; static char boyi_lg_otm9605a_video62[2] = {0x00,0x80}; static char boyi_lg_otm9605a_video63[15] = { 0xCF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00,0xF0,0x00,0x00,0x10,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video64[2] = {0x00,0x90}; static char boyi_lg_otm9605a_video65[15] = { 0xCF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00,0xF0,0x00,0x00,0x10,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video66[2] = {0x00,0xA0}; static char boyi_lg_otm9605a_video67[15] = { 0xCF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00,0xF0,0x00,0x00,0x10,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video68[2] = {0x00,0xB0}; static char boyi_lg_otm9605a_video69[15] = { 0xCF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00,0xF0,0x00,0x00,0x10,0x00,0x00,0x00 }; static char boyi_lg_otm9605a_video70[2] = {0x00,0xC0}; static char boyi_lg_otm9605a_video71[11] = { 0xCF,0x02,0x02,0x20,0x20,0x00,0x00,0x01,0x02,0x00,0x02 }; /* -----------------------GOA 0xCC - 0xCE END----------------------------*/ /* -----------------------Gamma Correction BEGIN ------------------------- * GMCT22P(E100h) Gamma Correction Characteristics Setting(2.2+) * GMCT22N(E200h) Gamma Correction Characteristics Setting(2.2-) */ #if 1 /* GAMMA 2.2(Recommendation of ORISE) */ static char boyi_lg_otm9605a_video72[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video73[17] = { 0xE1, 0x04, 0x0B, 0x10, 0x0D, 0x06, 0x0E, 0x0A, 0x09, 0x05, 0x08, 0x0E, 0x08, 0x0F, 0x14, 0x0F, 0x0A }; static char boyi_lg_otm9605a_video75[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video76[18] = { 0xE2, 0x04, 0x0B, 0x10, 0x0D, 0x06, 0x0D, 0x0A, 0x09, 0x05, 0x08, 0x0E, 0x08, 0x0F, 0x14, 0x0F, 0x0A }; #else /* Mass Production gamma of Xi'an based on MTK */ static char boyi_lg_otm9605a_video72[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video73[17] = { 0xE1, 0x00, 0x0B, 0x11, 0x10, 0x07, 0x0E, 0x09, 0x07, 0x05, 0x06, 0x12, 0x08, 0x0f, 0x0d, 0x08, 0x03 }; static char boyi_lg_otm9605a_video75[2] = {0x00,0x00}; static char boyi_lg_otm9605a_video76[18] = { 0xE2, 0x00, 0x0B, 0x11, 0x10, 0x07, 0x0E, 0x09, 0x07, 0x05, 0x06, 0x12, 0x08, 0x0f, 0x0d, 0x03, 0x03 }; #endif /* -----------------------Gamma Correction END -------------------------*/ /*------------------------CABC enable BEGIN-------------------------- * 0xCA80h~0xCA8Fh: CABC parameters which are the threshold setting * for CABC gamma curve selection. It totally has 15 parameters. * CABCSET1(0xC700h): bit4: CABC_SEL_E; bit[3:0]: CABC_SEL[3:0] * CABCSET2(0xC800h): CABC gamma curve setting, it totally has 18 parameters * PWM_PARA1(C680h) PWM Parameter 1 (CABLC_EN | BC_SEL, default enable), related to 0x51, 0x53, 0x55, 0x5e * PWM_PARA2(C6B0h) PWM Parameter 2 (PWM_POL, default disable) * PWM_PARA3(C6B1h) PWM Parameter 3 (adjust PWM freq 0 - 255) * PWM_PARA4(C6B3h) PWM Parameter 4 (LEDPWM setting, default LEDON_EN 0x5f) * PWM_PARA5(C6B4h) PWM Parameter 5 (set PWM Freq Setting, default BC_OEN_OPT enable 0x12) * AIESET(C900h) Setting for AIE gamma curve (18 parameters) * WRDISBV(51h) Write Display Brightness * WRCTRLD(53h) Write CTRL Display (.2(BL), .3(DD), .5(BCTRL)) * 0x53h = 0x2C used to set dynamic backlight for the first time. * RDCTRLD(54h): read CTRL Display * WRCABC(55h): Write Content Adaptive Brightness Control * (0: Power Save off CABC off) * (1: Power Save Low User Interface) * (2: Power Save Medium) * (3: Power Save High) * RDCABC(56h): Read Content Adaptive Brightness Control * WRCABCMB(5Eh): Write CABC Minimum Brightness * RDCABCMB(5Fh) */ static char universal_otm9605a_cabc_gamma_sel1[2] = {0x00, 0x80}; static char universal_otm9605a_cabc_gamma_sel2[29] = { 0xCA, 0x80, 0x61, 0x6A, 0x71, 0x7A, 0x81, 0x8A, 0x91, 0x9A, 0xA2, 0xAA, 0xB2, 0xBB, 0xC2, 0xC2, 0xC2, 0xC3, 0xFF, 0xC3, 0xFF, 0xC3, 0xFF, 0x05, 0x03, 0x05, 0x03, 0x05, 0x03 }; static char universal_otm9605a_cabc_sel_1a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_1b[2] = {0xc7, 0x10}; static char universal_otm9605a_cabc_sel_1c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0xA9, 0xAA, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x89, 0x78, 0x67, 0x56, 0x45, 0x33 }; static char universal_otm9605a_cabc_sel_2a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_2b[2] = {0xc7, 0x11}; static char universal_otm9605a_cabc_sel_2c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0xA9, 0xAA, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x89, 0x78, 0x67, 0x56, 0x45, 0x33 }; static char universal_otm9605a_cabc_sel_3a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_3b[2] = {0xc7, 0x12}; static char universal_otm9605a_cabc_sel_3c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x99, 0x9A, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x77, 0x66, 0x45, 0x33 }; static char universal_otm9605a_cabc_sel_4a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_4b[2] = {0xc7, 0x13}; static char universal_otm9605a_cabc_sel_4c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x99, 0x89, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x78, 0x67, 0x45, 0x33 }; static char universal_otm9605a_cabc_sel_5a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_5b[2] = {0xc7, 0x14}; static char universal_otm9605a_cabc_sel_5c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x99, 0x88, 0x99, 0x99, 0x99, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x77, 0x45, 0x33 }; static char universal_otm9605a_cabc_sel_6a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_6b[2] = {0xc7, 0x15}; static char universal_otm9605a_cabc_sel_6c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x99, 0x88, 0x98, 0x99, 0x89, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x78, 0x46, 0x33 }; static char universal_otm9605a_cabc_sel_7a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_7b[2] = {0xc7, 0x16}; static char universal_otm9605a_cabc_sel_7c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x89, 0x88, 0x98, 0x99, 0x89, 0x98, 0x99, 0x89, 0x88, 0x88, 0x88, 0x78, 0x56, 0x34 }; static char universal_otm9605a_cabc_sel_8a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_8b[2] = {0xc7, 0x17}; static char universal_otm9605a_cabc_sel_8c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x89, 0x88, 0x88, 0x98, 0x99, 0x88, 0x99, 0x89, 0x88, 0x88, 0x88, 0x88, 0x57, 0x34 }; static char universal_otm9605a_cabc_sel_9a[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_9b[2] = {0xc7, 0x18}; static char universal_otm9605a_cabc_sel_9c[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x98, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x77, 0x67, 0x45 }; static char universal_otm9605a_cabc_sel_aa[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_ab[2] = {0xc7, 0x19}; static char universal_otm9605a_cabc_sel_ac[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x88, 0x98, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0x45 }; static char universal_otm9605a_cabc_sel_ba[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_bb[2] = {0xc7, 0x1a}; static char universal_otm9605a_cabc_sel_bc[19] = { 0xC8, 0x80, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x55 }; static char universal_otm9605a_cabc_sel_ca[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_cb[2] = {0xc7, 0x1b}; static char universal_otm9605a_cabc_sel_cc[19] = { 0xC8, 0x80, 0x99, 0x99, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x57 }; static char universal_otm9605a_cabc_sel_da[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_db[2] = {0xc7, 0x1c}; static char universal_otm9605a_cabc_sel_dc[19] = { 0xC8, 0x80, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x56 }; static char universal_otm9605a_cabc_sel_ea[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_eb[2] = {0xc7, 0x1d}; static char universal_otm9605a_cabc_sel_ec[19] = { 0xC8, 0x80, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 }; static char universal_otm9605a_cabc_sel_end1[2] = {0x00, 0x00}; static char universal_otm9605a_cabc_sel_end2[2] = {0xC7, 0x00}; static char universal_otm9605a_wr_brightness[2] = {0x51, 0x00}; static char universal_otm9605a_wr_ctrl_display[2] = {0x53, 0x24}; static char universal_otm9605a_wr_cabc_mode[2] = {0x55, 0x01}; /* -----------------------CABC enable END -------------------------*/ /*----------------Digital Gamma Correction(R/G/B) Begin-------------- * 0xEC00h: It totally has 33 parameters, which are settings for Digital * Gamma Correction Characteristics Setting (Red). * 0xED00h: The same as 0xEC00h, but the color is Green. * 0xEE00h: The same as 0xEC00h, but the color is Blue. */ #if 0 /* White color balance which is no need currently. */ static char orise9605_boyi_450_video138[2] = {0x00, 0x00}; static char orise9605_boyi_450_video139[35] = { 0xEC, 0x40, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x44, 0x43, 0x44, 0x04, 0x00 }; #endif /*----------------Digital Gamma Correction(R/G/B) End--------------*/ /* -----------------Exit Orise Engineer Mode--------------------*/ static char boyi_lg_otm9605a_video78[5] = {0x00,0x00}; static char boyi_lg_otm9605a_video79[4] = {0xff,0xff,0xff,0xff}; static char boyi_lg_otm9605a_exit_sleep[2] = { 0x11, 0x00, }; static char boyi_lg_otm9605a_display_on[2] = { 0x29, 0x00, }; static struct dsi_cmd_desc boyi_lg_otm9605a_video_display_on_cmds[] = { {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video0), boyi_lg_otm9605a_video0}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video1), boyi_lg_otm9605a_video1}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video2), boyi_lg_otm9605a_video2}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video3), boyi_lg_otm9605a_video3}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video4), boyi_lg_otm9605a_video4}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video5), boyi_lg_otm9605a_video5}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video6), boyi_lg_otm9605a_video6}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video7), boyi_lg_otm9605a_video7}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video8), boyi_lg_otm9605a_video8}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video9), boyi_lg_otm9605a_video9}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video10), boyi_lg_otm9605a_video10}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video11), boyi_lg_otm9605a_video11}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video12), boyi_lg_otm9605a_video12}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video13), boyi_lg_otm9605a_video13}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video14), boyi_lg_otm9605a_video14}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video15), boyi_lg_otm9605a_video15}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video16), boyi_lg_otm9605a_video16}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video17), boyi_lg_otm9605a_video17}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video18), boyi_lg_otm9605a_video18}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video19), boyi_lg_otm9605a_video19}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video20), boyi_lg_otm9605a_video20}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video21), boyi_lg_otm9605a_video21}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video22), boyi_lg_otm9605a_video22}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video23), boyi_lg_otm9605a_video23}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video24), boyi_lg_otm9605a_video24}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video25), boyi_lg_otm9605a_video25}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video126), boyi_lg_otm9605a_video126}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video127), boyi_lg_otm9605a_video127}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video88), boyi_lg_otm9605a_video88}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video89), boyi_lg_otm9605a_video89}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video90), boyi_lg_otm9605a_video90}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video91), boyi_lg_otm9605a_video91}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video92), boyi_lg_otm9605a_video92}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video93), boyi_lg_otm9605a_video93}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video94), boyi_lg_otm9605a_video94}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video95), boyi_lg_otm9605a_video95}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video96), boyi_lg_otm9605a_video96}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video97), boyi_lg_otm9605a_video97}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video98), boyi_lg_otm9605a_video98}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video99), boyi_lg_otm9605a_video99}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video28), boyi_lg_otm9605a_video28}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video29), boyi_lg_otm9605a_video29}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video30), boyi_lg_otm9605a_video30}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video31), boyi_lg_otm9605a_video31}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video32), boyi_lg_otm9605a_video32}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video33), boyi_lg_otm9605a_video33}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video34), boyi_lg_otm9605a_video34}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video35), boyi_lg_otm9605a_video35}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video36), boyi_lg_otm9605a_video36}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video37), boyi_lg_otm9605a_video37}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video38), boyi_lg_otm9605a_video38}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video39), boyi_lg_otm9605a_video39}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video40), boyi_lg_otm9605a_video40}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video41), boyi_lg_otm9605a_video41}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video42), boyi_lg_otm9605a_video42}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video43), boyi_lg_otm9605a_video43}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video44), boyi_lg_otm9605a_video44}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video45), boyi_lg_otm9605a_video45}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video46), boyi_lg_otm9605a_video46}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video47), boyi_lg_otm9605a_video47}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video48), boyi_lg_otm9605a_video48}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video49), boyi_lg_otm9605a_video49}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video50), boyi_lg_otm9605a_video50}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video51), boyi_lg_otm9605a_video51}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video52), boyi_lg_otm9605a_video52}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video53), boyi_lg_otm9605a_video53}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video54), boyi_lg_otm9605a_video54}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video55), boyi_lg_otm9605a_video55}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video56), boyi_lg_otm9605a_video56}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video57), boyi_lg_otm9605a_video57}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video58), boyi_lg_otm9605a_video58}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video59), boyi_lg_otm9605a_video59}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video60), boyi_lg_otm9605a_video60}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video61), boyi_lg_otm9605a_video61}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video62), boyi_lg_otm9605a_video62}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video63), boyi_lg_otm9605a_video63}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video64), boyi_lg_otm9605a_video64}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video65), boyi_lg_otm9605a_video65}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video66), boyi_lg_otm9605a_video66}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video67), boyi_lg_otm9605a_video67}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video68), boyi_lg_otm9605a_video68}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video69), boyi_lg_otm9605a_video69}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video70), boyi_lg_otm9605a_video70}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video71), boyi_lg_otm9605a_video71}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video72), boyi_lg_otm9605a_video72}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video73), boyi_lg_otm9605a_video73}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video75), boyi_lg_otm9605a_video75}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video76), boyi_lg_otm9605a_video76}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_gamma_sel1), universal_otm9605a_cabc_gamma_sel1}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_gamma_sel2), universal_otm9605a_cabc_gamma_sel2}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_1a), universal_otm9605a_cabc_sel_1a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_1b), universal_otm9605a_cabc_sel_1b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_1c), universal_otm9605a_cabc_sel_1c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_2a), universal_otm9605a_cabc_sel_2a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_2b), universal_otm9605a_cabc_sel_2b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_2c), universal_otm9605a_cabc_sel_2c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_3a), universal_otm9605a_cabc_sel_3a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_3b), universal_otm9605a_cabc_sel_3b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_3c), universal_otm9605a_cabc_sel_3c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_4a), universal_otm9605a_cabc_sel_4a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_4b), universal_otm9605a_cabc_sel_4b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_4c), universal_otm9605a_cabc_sel_4c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_5a), universal_otm9605a_cabc_sel_5a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_5b), universal_otm9605a_cabc_sel_5b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_5c), universal_otm9605a_cabc_sel_5c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_6a), universal_otm9605a_cabc_sel_6a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_6b), universal_otm9605a_cabc_sel_6b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_6c), universal_otm9605a_cabc_sel_6c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_7a), universal_otm9605a_cabc_sel_7a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_7b), universal_otm9605a_cabc_sel_7b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_7c), universal_otm9605a_cabc_sel_7c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_8a), universal_otm9605a_cabc_sel_8a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_8b), universal_otm9605a_cabc_sel_8b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_8c), universal_otm9605a_cabc_sel_8c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_9a), universal_otm9605a_cabc_sel_9a}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_9b), universal_otm9605a_cabc_sel_9b}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_9c), universal_otm9605a_cabc_sel_9c}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_aa), universal_otm9605a_cabc_sel_aa}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_ab), universal_otm9605a_cabc_sel_ab}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_ac), universal_otm9605a_cabc_sel_ac}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_da), universal_otm9605a_cabc_sel_ba}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_db), universal_otm9605a_cabc_sel_bb}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_dc), universal_otm9605a_cabc_sel_bc}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_ca), universal_otm9605a_cabc_sel_ca}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_cb), universal_otm9605a_cabc_sel_cb}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_cc), universal_otm9605a_cabc_sel_cc}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_da), universal_otm9605a_cabc_sel_da}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_db), universal_otm9605a_cabc_sel_db}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_dc), universal_otm9605a_cabc_sel_dc}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_ea), universal_otm9605a_cabc_sel_ea}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_eb), universal_otm9605a_cabc_sel_eb}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_ec), universal_otm9605a_cabc_sel_ec}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_end1), universal_otm9605a_cabc_sel_end1}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_cabc_sel_end2), universal_otm9605a_cabc_sel_end2}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video78), boyi_lg_otm9605a_video78}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(boyi_lg_otm9605a_video79), boyi_lg_otm9605a_video79}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_wr_brightness), universal_otm9605a_wr_brightness}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_wr_ctrl_display), universal_otm9605a_wr_ctrl_display}, {DTYPE_DCS_LWRITE, 1, 0, 0, 0, sizeof(universal_otm9605a_wr_cabc_mode), universal_otm9605a_wr_cabc_mode}, {DTYPE_DCS_LWRITE, 1, 0, 0, 150, sizeof(boyi_lg_otm9605a_exit_sleep), boyi_lg_otm9605a_exit_sleep}, {DTYPE_DCS_LWRITE, 1, 0, 0, 50, sizeof(boyi_lg_otm9605a_display_on), boyi_lg_otm9605a_display_on}, }; static char boyi_lg_otm9605a_set_sleepin[2] = {0x28, 0x00}; static char boyi_lg_otm9605a_set_disp_off[2] = {0x10, 0x00}; static struct dsi_cmd_desc boyi_lg_otm9605a_video_display_off_cmds[] = { {DTYPE_DCS_WRITE, 1, 0, 0, 150, sizeof(boyi_lg_otm9605a_set_sleepin), boyi_lg_otm9605a_set_sleepin}, {DTYPE_DCS_WRITE, 1, 0, 0, 150, sizeof(boyi_lg_otm9605a_set_disp_off), boyi_lg_otm9605a_set_disp_off}, }; #endif /* defined MIPI_GLOBAL_PARA */ #endif /* defined MIPI_OTM9605A_BOYI_LG_500_H */