blob: db138d3d888f290eb93a39155ace912ad629ae0c [file] [log] [blame]
/*
* drivers/amlogic/media/vout/lcd/lcd_extern/mipi_TL050FHV02CT.c
*
* Copyright (C) 2015 Amlogic, Inc. 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 as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* 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.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <common.h>
#include <malloc.h>
#include <asm/arch/gpio.h>
#include <fdtdec.h>
#include <amlogic/media/vout/lcd/aml_lcd.h>
#include <amlogic/media/vout/lcd/lcd_extern.h>
#include "lcd_extern.h"
#define LCD_EXTERN_NAME "mipi_TL050FHV02CT"
#define LCD_EXTERN_TYPE LCD_EXTERN_MIPI
/******************** mipi command ********************/
/* format: data_type, cmd_size, data.... */
/* data_type=0xff,
* 0 < cmd_size < 0xff means delay ms,
* cmd_size=0 or 0xff means ending.
* data_type=0xf0, for gpio control
* data0=gpio_index, data1=gpio_value.
* data0=gpio_index, data1=gpio_value, data2=delay.
* data_type=0xfd, for delay ms
* data0=delay, data_1=delay, ..., data_n=delay.
*/
//******************************************************//
static unsigned char mipi_init_on_table[] = {
//LCD driver initialization
0x23, 2, 0XFF, 0X05,
0x23, 2, 0XFB, 0X01,
0x23, 2, 0XC5, 0X01, //TURN ON
0xfd, 1, 100,
//AUO4.97+NT35596_intial
0x23, 2, 0XFF, 0XEE, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0X1F, 0X45,
0x23, 2, 0X24, 0X4F,
0x23, 2, 0X38, 0XC8,
0x23, 2, 0X39, 0X2C,
0x23, 2, 0X1E, 0XBB,
0x23, 2, 0X1D, 0X0F,
0x23, 2, 0X7E, 0XB1,
0x23, 2, 0XFF, 0X00, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0X35, 0X01,
0x23, 2, 0XFF, 0X01, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0X00, 0X01,
0x23, 2, 0X01, 0X55,
0x23, 2, 0X02, 0X40,
0x23, 2, 0X05, 0X40,
0x23, 2, 0X06, 0X4A,
0x23, 2, 0X07, 0X24,
0x23, 2, 0X08, 0X0C,
0x23, 2, 0X0B, 0X87,
0x23, 2, 0X0C, 0X87,
0x23, 2, 0X0E, 0XB0,
0x23, 2, 0X0F, 0XB3,
0x23, 2, 0X11, 0X10,
0x23, 2, 0X12, 0X10,
0x23, 2, 0X13, 0X05,
0x23, 2, 0X14, 0X4A,
0x23, 2, 0X15, 0X18,
0x23, 2, 0X16, 0X18,
0x23, 2, 0X18, 0X00,
0x23, 2, 0X19, 0X77,
0x23, 2, 0X1A, 0X55,
0x23, 2, 0X1B, 0X13,
0x23, 2, 0X1C, 0X00,
0x23, 2, 0X1D, 0X00,
0x23, 2, 0X1E, 0X13,
0x23, 2, 0X1F, 0X00,
0x23, 2, 0X23, 0X00,
0x23, 2, 0X24, 0X00,
0x23, 2, 0X25, 0X00,
0x23, 2, 0X26, 0X00,
0x23, 2, 0X27, 0X00,
0x23, 2, 0X28, 0X00,
0x23, 2, 0X35, 0X00,
0x23, 2, 0X66, 0X00,
0x23, 2, 0X58, 0X82,
0x23, 2, 0X59, 0X02,
0x23, 2, 0X5A, 0X02,
0x23, 2, 0X5B, 0X02,
0x23, 2, 0X5C, 0X82,
0x23, 2, 0X5D, 0X82,
0x23, 2, 0X5E, 0X02,
0x23, 2, 0X5F, 0X02,
0x23, 2, 0X72, 0X31,
0x23, 2, 0XFF, 0X05, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0X00, 0X01,
0x23, 2, 0X01, 0X0B,
0x23, 2, 0X02, 0X0C,
0x23, 2, 0X03, 0X09,
0x23, 2, 0X04, 0X0A,
0x23, 2, 0X05, 0X00,
0x23, 2, 0X06, 0X0F,
0x23, 2, 0X07, 0X10,
0x23, 2, 0X08, 0X00,
0x23, 2, 0X09, 0X00,
0x23, 2, 0X0A, 0X00,
0x23, 2, 0X0B, 0X00,
0x23, 2, 0X0C, 0X00,
0x23, 2, 0X0D, 0X13,
0x23, 2, 0X0E, 0X15,
0x23, 2, 0X0F, 0X17,
0x23, 2, 0X10, 0X01,
0x23, 2, 0X11, 0X0B,
0x23, 2, 0X12, 0X0C,
0x23, 2, 0X13, 0X09,
0x23, 2, 0X14, 0X0A,
0x23, 2, 0X15, 0X00,
0x23, 2, 0X16, 0X0F,
0x23, 2, 0X17, 0X10,
0x23, 2, 0X18, 0X00,
0x23, 2, 0X19, 0X00,
0x23, 2, 0X1A, 0X00,
0x23, 2, 0X1B, 0X00,
0x23, 2, 0X1C, 0X00,
0x23, 2, 0X1D, 0X13,
0x23, 2, 0X1E, 0X15,
0x23, 2, 0X1F, 0X17,
0x23, 2, 0X20, 0X00,
0x23, 2, 0X21, 0X03,
0x23, 2, 0X22, 0X01,
0x23, 2, 0X23, 0X40,
0x23, 2, 0X24, 0X40,
0x23, 2, 0X25, 0XED,
0x23, 2, 0X29, 0X58,
0x23, 2, 0X2A, 0X12,
0x23, 2, 0X2B, 0X01,
0x23, 2, 0X4B, 0X06,
0x23, 2, 0X4C, 0X11,
0x23, 2, 0X4D, 0X20,
0x23, 2, 0X4E, 0X02,
0x23, 2, 0X4F, 0X02,
0x23, 2, 0X50, 0X20,
0x23, 2, 0X51, 0X61,
0x23, 2, 0X52, 0X01,
0x23, 2, 0X53, 0X63,
0x23, 2, 0X54, 0X77,
0x23, 2, 0X55, 0XED,
0x23, 2, 0X5B, 0X00,
0x23, 2, 0X5C, 0X00,
0x23, 2, 0X5D, 0X00,
0x23, 2, 0X5E, 0X00,
0x23, 2, 0X5F, 0X15,
0x23, 2, 0X60, 0X75,
0x23, 2, 0X61, 0X00,
0x23, 2, 0X62, 0X00,
0x23, 2, 0X63, 0X00,
0x23, 2, 0X64, 0X00,
0x23, 2, 0X65, 0X00,
0x23, 2, 0X66, 0X00,
0x23, 2, 0X67, 0X00,
0x23, 2, 0X68, 0X04,
0x23, 2, 0X69, 0X00,
0x23, 2, 0X6A, 0X00,
0x23, 2, 0X6C, 0X40,
0x23, 2, 0X75, 0X01,
0x23, 2, 0X76, 0X01,
0x23, 2, 0X7A, 0X80,
0x23, 2, 0X7B, 0XC5,
0x23, 2, 0X7C, 0XD8,
0x23, 2, 0X7D, 0X60,
0x23, 2, 0X7F, 0X15,
0x23, 2, 0X80, 0X81,
0x23, 2, 0X83, 0X05,
0x23, 2, 0X93, 0X08,
0x23, 2, 0X94, 0X10,
0x23, 2, 0X8A, 0X00,
0x23, 2, 0X9B, 0X0F,
0x23, 2, 0XEA, 0XFF,
0x23, 2, 0XEC, 0X00,
0x23, 2, 0XFF, 0X01, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0X75, 0X00, //Gamma R+
0x23, 2, 0X76, 0X18,
0x23, 2, 0X77, 0X00,
0x23, 2, 0X78, 0X38,
0x23, 2, 0X79, 0X00,
0x23, 2, 0X7A, 0X65,
0x23, 2, 0X7B, 0X00,
0x23, 2, 0X7C, 0X84,
0x23, 2, 0X7D, 0X00,
0x23, 2, 0X7E, 0X9B,
0x23, 2, 0X7F, 0X00,
0x23, 2, 0X80, 0XAF,
0x23, 2, 0X81, 0X00,
0x23, 2, 0X82, 0XC1,
0x23, 2, 0X83, 0X00,
0x23, 2, 0X84, 0XD2,
0x23, 2, 0X85, 0X00,
0x23, 2, 0X86, 0XDF,
0x23, 2, 0X87, 0X01,
0x23, 2, 0X88, 0X11,
0x23, 2, 0X89, 0X01,
0x23, 2, 0X8A, 0X38,
0x23, 2, 0X8B, 0X01,
0x23, 2, 0X8C, 0X76,
0x23, 2, 0X8D, 0X01,
0x23, 2, 0X8E, 0XA7,
0x23, 2, 0X8F, 0X01,
0x23, 2, 0X90, 0XF3,
0x23, 2, 0X91, 0X02,
0x23, 2, 0X92, 0X2F,
0x23, 2, 0X93, 0X02,
0x23, 2, 0X94, 0X30,
0x23, 2, 0X95, 0X02,
0x23, 2, 0X96, 0X66,
0x23, 2, 0X97, 0X02,
0x23, 2, 0X98, 0XA0,
0x23, 2, 0X99, 0X02,
0x23, 2, 0X9A, 0XC5,
0x23, 2, 0X9B, 0X02,
0x23, 2, 0X9C, 0XF8,
0x23, 2, 0X9D, 0X03,
0x23, 2, 0X9E, 0X1B,
0x23, 2, 0X9F, 0X03,
0x23, 2, 0XA0, 0X46,
0x23, 2, 0XA2, 0X03,
0x23, 2, 0XA3, 0X52,
0x23, 2, 0XA4, 0X03,
0x23, 2, 0XA5, 0X62,
0x23, 2, 0XA6, 0X03,
0x23, 2, 0XA7, 0X71,
0x23, 2, 0XA9, 0X03,
0x23, 2, 0XAA, 0X83,
0x23, 2, 0XAB, 0X03,
0x23, 2, 0XAC, 0X94,
0x23, 2, 0XAD, 0X03,
0x23, 2, 0XAE, 0XA3,
0x23, 2, 0XAF, 0X03,
0x23, 2, 0XB0, 0XAD,
0x23, 2, 0XB1, 0X03,
0x23, 2, 0XB2, 0XCC,
0x23, 2, 0XB3, 0X00, //Gamma R-
0x23, 2, 0XB4, 0X18,
0x23, 2, 0XB5, 0X00,
0x23, 2, 0XB6, 0X38,
0x23, 2, 0XB7, 0X00,
0x23, 2, 0XB8, 0X65,
0x23, 2, 0XB9, 0X00,
0x23, 2, 0XBA, 0X84,
0x23, 2, 0XBB, 0X00,
0x23, 2, 0XBC, 0X9B,
0x23, 2, 0XBD, 0X00,
0x23, 2, 0XBE, 0XAF,
0x23, 2, 0XBF, 0X00,
0x23, 2, 0XC0, 0XC1,
0x23, 2, 0XC1, 0X00,
0x23, 2, 0XC2, 0XD2,
0x23, 2, 0XC3, 0X00,
0x23, 2, 0XC4, 0XDF,
0x23, 2, 0XC5, 0X01,
0x23, 2, 0XC6, 0X11,
0x23, 2, 0XC7, 0X01,
0x23, 2, 0XC8, 0X38,
0x23, 2, 0XC9, 0X01,
0x23, 2, 0XCA, 0X76,
0x23, 2, 0XCB, 0X01,
0x23, 2, 0XCC, 0XA7,
0x23, 2, 0XCD, 0X01,
0x23, 2, 0XCE, 0XF3,
0x23, 2, 0XCF, 0X02,
0x23, 2, 0XD0, 0X2F,
0x23, 2, 0XD1, 0X02,
0x23, 2, 0XD2, 0X30,
0x23, 2, 0XD3, 0X02,
0x23, 2, 0XD4, 0X66,
0x23, 2, 0XD5, 0X02,
0x23, 2, 0XD6, 0XA0,
0x23, 2, 0XD7, 0X02,
0x23, 2, 0XD8, 0XC5,
0x23, 2, 0XD9, 0X02,
0x23, 2, 0XDA, 0XF8,
0x23, 2, 0XDB, 0X03,
0x23, 2, 0XDC, 0X1B,
0x23, 2, 0XDD, 0X03,
0x23, 2, 0XDE, 0X46,
0x23, 2, 0XDF, 0X03,
0x23, 2, 0XE0, 0X52,
0x23, 2, 0XE1, 0X03,
0x23, 2, 0XE2, 0X62,
0x23, 2, 0XE3, 0X03,
0x23, 2, 0XE4, 0X71,
0x23, 2, 0XE5, 0X03,
0x23, 2, 0XE6, 0X83,
0x23, 2, 0XE7, 0X03,
0x23, 2, 0XE8, 0X94,
0x23, 2, 0XE9, 0X03,
0x23, 2, 0XEA, 0XA3,
0x23, 2, 0XEB, 0X03,
0x23, 2, 0XEC, 0XAD,
0x23, 2, 0XED, 0X03,
0x23, 2, 0XEE, 0XCC,
0x23, 2, 0XEF, 0X00, //Gamma G+
0x23, 2, 0XF0, 0X18,
0x23, 2, 0XF1, 0X00,
0x23, 2, 0XF2, 0X38,
0x23, 2, 0XF3, 0X00,
0x23, 2, 0XF4, 0X65,
0x23, 2, 0XF5, 0X00,
0x23, 2, 0XF6, 0X84,
0x23, 2, 0XF7, 0X00,
0x23, 2, 0XF8, 0X9B,
0x23, 2, 0XF9, 0X00,
0x23, 2, 0XFA, 0XAF,
0x23, 2, 0XFF, 0X02, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0X00, 0X00,
0x23, 2, 0X01, 0XC1,
0x23, 2, 0X02, 0X00,
0x23, 2, 0X03, 0XD2,
0x23, 2, 0X04, 0X00,
0x23, 2, 0X05, 0XDF,
0x23, 2, 0X06, 0X01,
0x23, 2, 0X07, 0X11,
0x23, 2, 0X08, 0X01,
0x23, 2, 0X09, 0X38,
0x23, 2, 0X0A, 0X01,
0x23, 2, 0X0B, 0X76,
0x23, 2, 0X0C, 0X01,
0x23, 2, 0X0D, 0XA7,
0x23, 2, 0X0E, 0X01,
0x23, 2, 0X0F, 0XF3,
0x23, 2, 0X10, 0X02,
0x23, 2, 0X11, 0X2F,
0x23, 2, 0X12, 0X02,
0x23, 2, 0X13, 0X30,
0x23, 2, 0X14, 0X02,
0x23, 2, 0X15, 0X66,
0x23, 2, 0X16, 0X02,
0x23, 2, 0X17, 0XA0,
0x23, 2, 0X18, 0X02,
0x23, 2, 0X19, 0XC5,
0x23, 2, 0X1A, 0X02,
0x23, 2, 0X1B, 0XF8,
0x23, 2, 0X1C, 0X03,
0x23, 2, 0X1D, 0X1B,
0x23, 2, 0X1E, 0X03,
0x23, 2, 0X1F, 0X46,
0x23, 2, 0X20, 0X03,
0x23, 2, 0X21, 0X52,
0x23, 2, 0X22, 0X03,
0x23, 2, 0X23, 0X62,
0x23, 2, 0X24, 0X03,
0x23, 2, 0X25, 0X71,
0x23, 2, 0X26, 0X03,
0x23, 2, 0X27, 0X83,
0x23, 2, 0X28, 0X03,
0x23, 2, 0X29, 0X94,
0x23, 2, 0X2A, 0X03,
0x23, 2, 0X2B, 0XA3,
0x23, 2, 0X2D, 0X03,
0x23, 2, 0X2F, 0XAD,
0x23, 2, 0X30, 0X03,
0x23, 2, 0X31, 0XCC,
0x23, 2, 0X32, 0X00, //Gamma G-
0x23, 2, 0X33, 0X18,
0x23, 2, 0X34, 0X00,
0x23, 2, 0X35, 0X38,
0x23, 2, 0X36, 0X00,
0x23, 2, 0X37, 0X65,
0x23, 2, 0X38, 0X00,
0x23, 2, 0X39, 0X84,
0x23, 2, 0X3A, 0X00,
0x23, 2, 0X3B, 0X9B,
0x23, 2, 0X3D, 0X00,
0x23, 2, 0X3F, 0XAF,
0x23, 2, 0X40, 0X00,
0x23, 2, 0X41, 0XC1,
0x23, 2, 0X42, 0X00,
0x23, 2, 0X43, 0XD2,
0x23, 2, 0X44, 0X00,
0x23, 2, 0X45, 0XDF,
0x23, 2, 0X46, 0X01,
0x23, 2, 0X47, 0X11,
0x23, 2, 0X48, 0X01,
0x23, 2, 0X49, 0X38,
0x23, 2, 0X4A, 0X01,
0x23, 2, 0X4B, 0X76,
0x23, 2, 0X4C, 0X01,
0x23, 2, 0X4D, 0XA7,
0x23, 2, 0X4E, 0X01,
0x23, 2, 0X4F, 0XF3,
0x23, 2, 0X50, 0X02,
0x23, 2, 0X51, 0X2F,
0x23, 2, 0X52, 0X02,
0x23, 2, 0X53, 0X30,
0x23, 2, 0X54, 0X02,
0x23, 2, 0X55, 0X66,
0x23, 2, 0X56, 0X02,
0x23, 2, 0X58, 0XA0,
0x23, 2, 0X59, 0X02,
0x23, 2, 0X5A, 0XC5,
0x23, 2, 0X5B, 0X02,
0x23, 2, 0X5C, 0XF8,
0x23, 2, 0X5D, 0X03,
0x23, 2, 0X5E, 0X1B,
0x23, 2, 0X5F, 0X03,
0x23, 2, 0X60, 0X46,
0x23, 2, 0X61, 0X03,
0x23, 2, 0X62, 0X52,
0x23, 2, 0X63, 0X03,
0x23, 2, 0X64, 0X62,
0x23, 2, 0X65, 0X03,
0x23, 2, 0X66, 0X71,
0x23, 2, 0X67, 0X03,
0x23, 2, 0X68, 0X83,
0x23, 2, 0X69, 0X03,
0x23, 2, 0X6A, 0X94,
0x23, 2, 0X6B, 0X03,
0x23, 2, 0X6C, 0XA3,
0x23, 2, 0X6D, 0X03,
0x23, 2, 0X6E, 0XAD,
0x23, 2, 0X6F, 0X03,
0x23, 2, 0X70, 0XCC,
0x23, 2, 0X71, 0X00, //Gamma B+
0x23, 2, 0X72, 0X18,
0x23, 2, 0X73, 0X00,
0x23, 2, 0X74, 0X38,
0x23, 2, 0X75, 0X00,
0x23, 2, 0X76, 0X65,
0x23, 2, 0X77, 0X00,
0x23, 2, 0X78, 0X84,
0x23, 2, 0X79, 0X00,
0x23, 2, 0X7A, 0X9B,
0x23, 2, 0X7B, 0X00,
0x23, 2, 0X7C, 0XAF,
0x23, 2, 0X7D, 0X00,
0x23, 2, 0X7E, 0XC1,
0x23, 2, 0X7F, 0X00,
0x23, 2, 0X80, 0XD2,
0x23, 2, 0X81, 0X00,
0x23, 2, 0X82, 0XDF,
0x23, 2, 0X83, 0X01,
0x23, 2, 0X84, 0X11,
0x23, 2, 0X85, 0X01,
0x23, 2, 0X86, 0X38,
0x23, 2, 0X87, 0X01,
0x23, 2, 0X88, 0X76,
0x23, 2, 0X89, 0X01,
0x23, 2, 0X8A, 0XA7,
0x23, 2, 0X8B, 0X01,
0x23, 2, 0X8C, 0XF3,
0x23, 2, 0X8D, 0X02,
0x23, 2, 0X8E, 0X2F,
0x23, 2, 0X8F, 0X02,
0x23, 2, 0X90, 0X30,
0x23, 2, 0X91, 0X02,
0x23, 2, 0X92, 0X66,
0x23, 2, 0X93, 0X02,
0x23, 2, 0X94, 0XA0,
0x23, 2, 0X95, 0X02,
0x23, 2, 0X96, 0XC5,
0x23, 2, 0X97, 0X02,
0x23, 2, 0X98, 0XF8,
0x23, 2, 0X99, 0X03,
0x23, 2, 0X9A, 0X1B,
0x23, 2, 0X9B, 0X03,
0x23, 2, 0X9C, 0X46,
0x23, 2, 0X9D, 0X03,
0x23, 2, 0X9E, 0X52,
0x23, 2, 0X9F, 0X03,
0x23, 2, 0XA0, 0X62,
0x23, 2, 0XA2, 0X03,
0x23, 2, 0XA3, 0X71,
0x23, 2, 0XA4, 0X03,
0x23, 2, 0XA5, 0X83,
0x23, 2, 0XA6, 0X03,
0x23, 2, 0XA7, 0X94,
0x23, 2, 0XA9, 0X03,
0x23, 2, 0XAA, 0XA3,
0x23, 2, 0XAB, 0X03,
0x23, 2, 0XAC, 0XAD,
0x23, 2, 0XAD, 0X03,
0x23, 2, 0XAE, 0XCC,
0x23, 2, 0XAF, 0X00, //Gamma B-
0x23, 2, 0XB0, 0X18,
0x23, 2, 0XB1, 0X00,
0x23, 2, 0XB2, 0X38,
0x23, 2, 0XB3, 0X00,
0x23, 2, 0XB4, 0X65,
0x23, 2, 0XB5, 0X00,
0x23, 2, 0XB6, 0X84,
0x23, 2, 0XB7, 0X00,
0x23, 2, 0XB8, 0X9B,
0x23, 2, 0XB9, 0X00,
0x23, 2, 0XBA, 0XAF,
0x23, 2, 0XBB, 0X00,
0x23, 2, 0XBC, 0XC1,
0x23, 2, 0XBD, 0X00,
0x23, 2, 0XBE, 0XD2,
0x23, 2, 0XBF, 0X00,
0x23, 2, 0XC0, 0XDF,
0x23, 2, 0XC1, 0X01,
0x23, 2, 0XC2, 0X11,
0x23, 2, 0XC3, 0X01,
0x23, 2, 0XC4, 0X38,
0x23, 2, 0XC5, 0X01,
0x23, 2, 0XC6, 0X76,
0x23, 2, 0XC7, 0X01,
0x23, 2, 0XC8, 0XA7,
0x23, 2, 0XC9, 0X01,
0x23, 2, 0XCA, 0XF3,
0x23, 2, 0XCB, 0X02,
0x23, 2, 0XCC, 0X2F,
0x23, 2, 0XCD, 0X02,
0x23, 2, 0XCE, 0X30,
0x23, 2, 0XCF, 0X02,
0x23, 2, 0XD0, 0X66,
0x23, 2, 0XD1, 0X02,
0x23, 2, 0XD2, 0XA0,
0x23, 2, 0XD3, 0X02,
0x23, 2, 0XD4, 0XC5,
0x23, 2, 0XD5, 0X02,
0x23, 2, 0XD6, 0XF8,
0x23, 2, 0XD7, 0X03,
0x23, 2, 0XD8, 0X1B,
0x23, 2, 0XD9, 0X03,
0x23, 2, 0XDA, 0X46,
0x23, 2, 0XDB, 0X03,
0x23, 2, 0XDC, 0X52,
0x23, 2, 0XDD, 0X03,
0x23, 2, 0XDE, 0X62,
0x23, 2, 0XDF, 0X03,
0x23, 2, 0XE0, 0X71,
0x23, 2, 0XE1, 0X03,
0x23, 2, 0XE2, 0X83,
0x23, 2, 0XE3, 0X03,
0x23, 2, 0XE4, 0X94,
0x23, 2, 0XE5, 0X03,
0x23, 2, 0XE6, 0XA3,
0x23, 2, 0XE7, 0X03,
0x23, 2, 0XE8, 0XAD,
0x23, 2, 0XE9, 0X03,
0x23, 2, 0XEA, 0XCC,
0x23, 2, 0XFF, 0X01, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0XFF, 0X02, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0XFF, 0X04, //CMD page select
0x23, 2, 0XFB, 0X01, //NON-RELOAD CMD
0x23, 2, 0XFF, 0X00, //CMD page select
0x23, 2, 0XD3, 0X05,
0x23, 2, 0XD4, 0X04,
0x23, 2, 0X11, 0X00, //Sleep out
0xfd, 1, 100, //delay 100ms
0x23, 2, 0XFF, 0X00,
0x23, 2, 0X35, 0X00, //TE on
0x23, 2, 0X29, 0X00, //Display on
0xfd, 1, 100, //delay 100ms
0xff, 0, /* ending flag */
};
static unsigned char mipi_init_off_table[] = {
0x05, 1, 0x28, /* display off */
0xfd, 10, /* delay 10ms */
0x05, 1, 0x10, /* sleep in */
0xfd, 150, /* delay 150ms */
0xff, 0, /* ending flag */
};
static int lcd_extern_driver_update(struct aml_lcd_extern_driver_s *ext_drv)
{
if (ext_drv == NULL) {
EXTERR("%s driver is null\n", LCD_EXTERN_NAME);
return -1;
}
ext_drv->config->cmd_size = LCD_EXT_CMD_SIZE_DYNAMIC;
ext_drv->config->table_init_on = &mipi_init_on_table[0];
ext_drv->config->table_init_on_cnt = sizeof(mipi_init_on_table);
ext_drv->config->table_init_off = &mipi_init_off_table[0];
ext_drv->config->table_init_off_cnt = sizeof(mipi_init_off_table);
return 0;
}
int lcd_extern_mipi_tl050fhv02ct_probe(struct aml_lcd_extern_driver_s *ext_drv)
{
int ret = 0;
ret = lcd_extern_driver_update(ext_drv);
if (lcd_debug_print_flag)
EXTPR("%s: %d\n", __func__, ret);
return ret;
}