blob: 870ee55c362d14510c0762d90835cab45d160023 [file] [log] [blame]
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#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;
}