/*
 * arch/arm64/boot/dts/amlogic/newman-panel.dtsi
 *
 * Copyright (C) 2016 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.
 *
 */

/ {
	lcd{
		compatible = "amlogic, lcd-g12a";
		dev_name = "lcd";
		mode = "tablet";
		status = "okay";
		key_valid = <0>;
		clocks = <&clkc CLKID_MIPI_DSI_HOST
			&clkc CLKID_MIPI_DSI_PHY
			&clkc CLKID_DSI_MEAS_COMP
			&clkc CLKID_VCLK2_ENCL
			&clkc CLKID_VCLK2_VENCL>;
		clock-names = "dsi_host_gate",
			"dsi_phy_gate",
			"dsi_meas",
			"encl_top_gate",
			"encl_int_gate";
		reg = <0x0 0xffd07000 0x0 0x400
			   0x0 0xff644000 0x0 0x2000>;
		interrupts = <0 3 1>;
		interrupt-names = "vsync";
		pinctrl_version = <2>; /* for uboot */

		/* power type:
		 *    (0=cpu_gpio, 1=pmu_gpio, 2=signal,3=extern, 0xff=ending)
		 * power index:
		 *    (point gpios_index, or extern_index,0xff=invalid)
		 * power value:(0=output low, 1=output high, 2=input)
		 * power delay:(unit in ms)
		 */
		lcd_cpu-gpios = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
		lcd_cpu_gpio_names = "GPIOH_6";

		lcd_0{
			model_name = "B080XAN01";
			interface = "mipi";
			basic_setting = <768 1024 /*h_active, v_active*/
				948 1140 /*h_period, v_period*/
				8 /*lcd_bits*/
				119 159>; /*screen_width, screen_height*/
			lcd_timing = <64 56 0 /*hs_width, hs_bp, hs_pol*/
				50 30 0>; /*vs_width, vs_bp, vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clk, 1=htotal, 2=vtotal)*/
				0 /*clk_ss_level */
				1 /*clk_auto_generate*/
				64843200>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				550 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				1 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/

			/* dsi_init: data_type, num, data... */
			dsi_init_on = <0x05 1 0x11
					0xff 20     /*delay(ms)*/
					0x05 1 0x29
					0xff 20     /*delay(ms)*/
					0xff 0xff>; /*ending*/
			dsi_init_off = <0x05 1 0x28
					0xff 10     /*delay(ms)*/
					0x05 1 0x10
					0xff 10     /*delay(ms)*/
					0xff 0xff>; /*ending*/
			extern_init = <0xff>; /*0xff for invalid*/

			/* power step: type, index, value, delay(ms) */
			power_on_step = <
				0 0 0 10
				0 0 1 20
				2 0 0 0
				0xff 0 0 0>; /*ending*/
			power_off_step = <
				2 0 0 50
				0 0 0 100
				0xff 0 0 0>; /*ending*/
			backlight_index = <0>;
		};

		lcd_1{
			model_name = "TV070WSM";
			interface = "mipi";
			basic_setting = <600 1024 /*h_active, v_active*/
				700 1053 /*h_period, v_period*/
				8 /*lcd_bits*/
				95 163>; /*screen_width, screen_height*/
			lcd_timing = <24 36 0 /*hs_width,hs_bp,hs_pol*/
				2 8 0>; /*vs_width,vs_bp,vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
				0 /*clk_ss_level*/
				1 /*clk_auto_generate*/
				44250000>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				360 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				0 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/
				/* dsi_init: data_type, num, data... */
			dsi_init_on = <
				0xff 10		/* delay 10 ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xf0 3 0 0 10	/* reset low, delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xfc 2 4 3      /* mipi state check */
				0xff 10	/* delay 10 ms */
				0xff 0xff>;	/* ending flag */
			dsi_init_off = <0xff 0xff>; /* ending flag */
				/* extern_init: 0xff for invalid */
			extern_init = <1>;
				/* power step: type,index,value,delay(ms) */
			power_on_step = <
					2 0 0 0
					0xff 0 0 0>;
			power_off_step = <
					2 0 0 50
					0 0 0 100
					0xff 0 0 0>;
			backlight_index = <0>;
		};

		lcd_2{
			model_name = "P070ACB";
			interface = "mipi";
			basic_setting = <600 1024 /*h_active, v_active*/
				680 1194 /*h_period, v_period*/
				8 /*lcd_bits*/
				3 5>; /*screen_width, screen_height*/
			lcd_timing = <24 36 0 /*hs_width,hs_bp,hs_pol*/
				10 80 0>; /*vs_width,vs_bp,vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
				0 /*clk_ss_level*/
				1 /*clk_auto_generate*/
				48715200>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				400 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				0 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/
				/* dsi_init: data_type, num, data... */
			dsi_init_on = <
				0xff 10		/* delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xf0 3 0 0 10	/* reset low, delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xfc 2 4 3      /* mipi state check  */
				0xff 10	/* delay 10 ms */
				0xff 0xff>;	/* ending flag */
			dsi_init_off = <0xff 0xff>; /* ending flag */
				/* extern_init: 0xff for invalid */
			extern_init = <2>;
				/* power step: type,index,value,delay(ms) */
			power_on_step = <
					2 0 0 0
					0xff 0 0 0>;
			power_off_step = <
					2 0 0 50
					0 0 0 100
					0xff 0 0 0>;
			backlight_index = <1>;
		};
		boe_nvtk_10{
			model_name = "TV101WXM";
			interface = "mipi";
			basic_setting = <800 1280 /*h_active, v_active*/
				900 1312 /*h_period, v_period*/
				8 /*lcd_bits*/
				800 1280>; /*screen_width, screen_height*/
			lcd_timing = <24 48 0 /*hs_width,hs_bp,hs_pol*/
				4 12 0>; /*vs_width,vs_bp,vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
				0 /*clk_ss_level*/
				1 /*clk_auto_generate*/
				70950000>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				568 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				0 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/
				/* dsi_init: data_type, num, data... */
			dsi_init_on = <
				0xff 10		/* delay 10 ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xf0 3 0 0 10	/* reset low, delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xfc 2 4 3      /* mipi state check */
				0xff 10	/* delay 10 ms */
				0xff 0xff>;	/* ending flag */
			dsi_init_off = <0xff 0xff>; /* ending flag */
				/* extern_init: 0xff for invalid */
			extern_init = <5>;
				/* power step: type,index,value,delay(ms) */
			power_on_step = <
					2 0 0 0
					0xff 0 0 0>;
			power_off_step = <
					2 0 0 50
					0 0 0 100
					0xff 0 0 0>;
			backlight_index = <0>;
		};
		inx_nvtk_10{
			model_name = "G101B158";
			interface = "mipi";
			basic_setting = <800 1280 /*h_active, v_active*/
				880 1314 /*h_period, v_period*/
				8 /*lcd_bits*/
				800 1280>; /*screen_width, screen_height*/
			lcd_timing = <18 18 0 /*hs_width,hs_bp,hs_pol*/
				4 10 0>; /*vs_width,vs_bp,vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
				0 /*clk_ss_level*/
				1 /*clk_auto_generate*/
				69380000>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				560 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				0 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/
				/* dsi_init: data_type, num, data... */
			dsi_init_on = <
				0xff 10		/* delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xf0 3 0 0 10	/* reset low, delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xfc 2 4 3      /* mipi state check  */
				0xff 10	/* delay 10 ms */
				0xff 0xff>;	/* ending flag */
			dsi_init_off = <0xff 0xff>; /* ending flag */
				/* extern_init: 0xff for invalid */
			extern_init = <6>;
				/* power step: type,index,value,delay(ms) */
			power_on_step = <
					2 0 0 0
					0xff 0 0 0>;
			power_off_step = <
					2 0 0 50
					0 0 0 100
					0xff 0 0 0>;
			backlight_index = <1>;
		};
		boe_fiti_10{
			model_name = "TV101WXM_FT";
			interface = "mipi";
			basic_setting = <800 1280 /*h_active, v_active*/
				890 1324 /*h_period, v_period*/
				8 /*lcd_bits*/
				800 1280>; /*screen_width, screen_height*/
			lcd_timing = <20 50 0 /*hs_width,hs_bp,hs_pol*/
				4 20 0>; /*vs_width,vs_bp,vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
				0 /*clk_ss_level*/
				1 /*clk_auto_generate*/
				70701600>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				566 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				0 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/
				/* dsi_init: data_type, num, data... */
			dsi_init_on = <
				0xff 10		/* delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xf0 3 0 0 10	/* reset low, delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xfc 2 4 3      /* mipi state check  */
				0xff 10	/* delay 10 ms */
				0xff 0xff>;	/* ending flag */
			dsi_init_off = <0xff 0xff>; /* ending flag */
				/* extern_init: 0xff for invalid */
			extern_init = <7>;
				/* power step: type,index,value,delay(ms) */
			power_on_step = <
					2 0 0 0
					0xff 0 0 0>;
			power_off_step = <
					2 0 0 50
					0 0 0 100
					0xff 0 0 0>;
			backlight_index = <1>;
		};
		inx_fiti_10{
			model_name = "G101B158_FT";
			interface = "mipi";
			basic_setting = <800 1280 /*h_active, v_active*/
				890 1324 /*h_period, v_period*/
				8 /*lcd_bits*/
				800 1280>; /*screen_width, screen_height*/
			lcd_timing = <24 20 0 /*hs_width,hs_bp,hs_pol*/
				4 20 0>; /*vs_width,vs_bp,vs_pol*/
			clk_attr = <0 /*fr_adj_type(0=clock,1=htotal,2=vtotal)*/
				0 /*clk_ss_level*/
				1 /*clk_auto_generate*/
				70701600>; /*pixel_clk(unit in Hz)*/
			mipi_attr = <4 /*lane_num*/
				566 /*bit_rate_max(MHz)*/
				0 /*factor(*100, default 0 for auto)*/
				1 /*operation_mode_init(0=video, 1=command)*/
				0 /*operation_mode_display(0=video, 1=command)*/
				2 /*
				   *video_mode_type
				   *(0=sync_pulse,1=sync_event,2=burst)
				   */
				0 /*clk_lp_continuous(0=stop,1=continue)*/
				0>; /*phy_stop_wait(0=auto,1=standard,2=slow)*/
				/* dsi_init: data_type, num, data... */
			dsi_init_on = <
				0xff 10		/* delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xf0 3 0 0 10	/* reset low, delay 10ms */
				0xf0 3 0 1 30	/* reset high, delay 30ms */
				0xfc 2 4 3      /* mipi state check  */
				0xff 10	/* delay 10 ms */
				0xff 0xff>;	/* ending flag */
			dsi_init_off = <0xff 0xff>; /* ending flag */
				/* extern_init: 0xff for invalid */
			extern_init = <8>;
				/* power step: type,index,value,delay(ms) */
			power_on_step = <
					2 0 0 0
					0xff 0 0 0>;
			power_off_step = <
					2 0 0 50
					0 0 0 100
					0xff 0 0 0>;
			backlight_index = <1>;
		};
	};

	lcd_extern{
		compatible = "amlogic, lcd_extern";
		dev_name = "lcd_extern";
		status = "okay";
		key_valid = <0>;

		extern_0{
			index = <0>;
			extern_name = "ext_default";
			status = "disabled";
			type = <0>; /*0=i2c, 1=spi, 2=mipi*/
			i2c_address = <0x37>; /*7bit i2c address*/
			i2c_second_address = <0xff>; /*0xff for none*/
			i2c_bus = "i2c_bus_c";
			cmd_size = <4>;

			/* init on/off: (type, value..., delay),
			 * must match cmd_size for every group
			 * type: 0x00=cmd(bit[3:0]=1 for second_addr),
			 *		0xf0=gpio, 0xff=ending
			 * value: i2c or spi cmd, or gpio index & level,
			 *		fill 0x0 for no use
			 * delay: unit ms
			 */
			init_on = <0x00 0x00 0x00 0x00
				0x00 0x08 0x01 0x00
				0x00 0x10 0x3F 0x00
				0x00 0x11 0x00 0x00
				0x00 0x12 0x00 0x00
				0x00 0x13 0xE4 0x00
				0x00 0x14 0x02 0x00
				0x00 0x15 0x02 0x00
				0x00 0x16 0x24 0x00
				0x00 0x17 0x00 0x00
				0x00 0x18 0x21 0x00
				0x00 0x20 0x3F 0x00
				0x00 0x21 0xFF 0x00
				0x00 0x22 0x00 0x00
				0x00 0x23 0x00 0x00
				0x00 0x24 0x00 0x00
				0x00 0x25 0x00 0x00
				0x00 0x26 0xE4 0x00
				0x00 0x27 0x00 0x00
				0x00 0x28 0x28 0x00
				0x00 0x29 0x01 0x00
				0x00 0x2A 0x00 0x00
				0x00 0x2B 0x01 0x00
				0x00 0x2C 0x0E 0x00
				0x00 0x2D 0x00 0x00
				0x00 0x2E 0x18 0x00
				0x00 0x2F 0x02 0x00
				0x00 0x30 0x02 0x00
				0x00 0x31 0x00 0x00
				0x00 0x32 0x63 0x00
				0x00 0x40 0x00 0x00
				0x00 0x41 0x00 0x00
				0x00 0x42 0x00 0x00
				0x00 0x12 0x00 0x00
				0x00 0x13 0xE4 0x00
				0x00 0x14 0x02 0x00
				0x00 0x15 0x00 0x00
				0x00 0x16 0x0D 0x00
				0x00 0x17 0x00 0x00
				0x00 0x18 0x21 0x00
				0x00 0x41 0x06 0x00
				0x00 0x00 0x01 0x00
				0x00 0x08 0x00 0x00
				0x00 0x10 0x00 0x00
				0x00 0x11 0x0F 0x00
				0xff 0x00 0x00 0x00>; /*ending*/
			init_off = <0x00 0x00 0x01 0x00
				0x00 0x08 0x00 0x00
				0x00 0x10 0x00 0x00
				0x00 0x11 0x0F 0x00
				0xff 0x00 0x00 0x00>; /*ending*/
		};

		extern_1{
			index = <1>;
			extern_name = "mipi_TV070WSM";
			status = "okay";
			type = <2>; /* 0=i2c, 1=spi, 2=mipi */
		};

		extern_2{
			index = <2>;
			extern_name = "mipi_P070ACB";
			status = "okay";
			type = <2>; /* 0=i2c, 1=spi, 2=mipi */
		};
		extern_5{
			/* TV101WXM (boe_nvtk_10) */
			index = <5>;
			extern_name = "mipi_default";
			status = "okay";
			type = <2>; /*0=i2c, 1=spi, 2=mipi*/
			cmd_size = <0xff>;

			init_on = <
				0xFF 120
				0x29 5 0xFF 0xAA 0x55 0x25 0x01
				0x23 2 0xFC 0x08
				0xFF 1
				0x23 2 0xFC 0x00
				0x29 5 0xFF 0xAA 0x55 0x25 0x00
				0xFF 20
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x00
				0x29 3 0xB1 0x68 0x01
				0x29 5 0xB8 0x01 0x02 0x02 0x02
				0x23 2 0xB6 0x11
				0x29 3 0xBB 0x63 0x63
				0x29 3 0xBC 0x00 0x00
				0x29 6 0xBD 0x02 0xBB 0x11 0x10 0x00
				0x23 2 0xC8 0x80
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x01
				0x29 3 0xB3 0x28 0x28
				0x29 3 0xB4 0x14 0x14
				0x29 3 0xB9 0x44 0x44
				0x29 3 0xBA 0x24 0x24
				0x29 3 0xBC 0x70 0x00
				0x29 3 0xBD 0x70 0x00
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x02
				0x23 2 0xEE 0x03
				0x29 17 0xB0 0x01 0x04 0x01 0x08 0x01
						0x11 0x01 0x19 0x01 0x21 0x01
						0x30 0x01 0x3D 0x01 0x55
				0x29 17 0xB1 0x01 0x6B 0x01 0x94 0x01
						0xB5 0x01 0xED 0x02 0x20 0x02
						0x22 0x02 0x53 0x02 0x8F
				0x29 17 0xB2 0x02 0xB4 0x02 0xE5 0x03
						0x03 0x03 0x30 0x03 0x51 0x03
						0x76 0x03 0x96 0x03 0xB8
				0x29 5 0xB3 0x03 0xCF 0x03 0xD2
				0x29 17 0xB4 0x00 0x00 0x00 0x13 0x00
						0x31 0x00 0x4B 0x00 0x61 0x00
						0x87 0x00 0xA7 0x00 0xDB
				0x29 17 0xB5 0x01 0x04 0x01 0x43 0x01
						0x76 0x01 0xC9 0x02 0x05 0x02
						0x06 0x02 0x3F 0x02 0x7D
				0x29 17 0xB6 0x02 0xA3 0x02 0xD3 0x02
						0xF6 0x03 0x23 0x03 0x44 0x03
						0x6C 0x03 0x8A 0x03 0xAE
				0x29 5 0xB7 0x03 0xCF 0x03 0xD2
				0x29 17 0xB8 0x00 0x41 0x00 0x4A 0x00
						0x5D 0x00 0x6D 0x00 0x7E 0x00
						0x9A 0x00 0xB4 0x00 0xDF
				0x29 17 0xB9 0x01 0x04 0x01 0x43 0x01
						0x74 0x01 0xC6 0x02 0x03 0x02
						0x09 0x02 0x40 0x02 0x7E
				0x29 17 0xBA 0x02 0xA4 0x02 0xD6 0x02
						0xF7 0x03 0x25 0x03 0x44 0x03
						0x6C 0x03 0x88 0x03 0xA8
				0x29 5 0xBB 0x03 0xD0 0x03 0xD2
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x03
				0x29 3 0xB0 0x00 0x00
				0x29 3 0xB1 0x00 0x00
				0x29 6 0xB2 0x05 0x01 0x55 0x00 0x1A
				0x29 6 0xB3 0x05 0x01 0x55 0x00 0x1A
				0x29 6 0xBA 0x53 0x01 0x55 0x00 0x3A
				0x23 2 0xC4 0x60
				0x23 2 0xC5 0x40
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x04
				0x29 5 0xB1 0x03 0x02 0x05 0x07
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x05
				0x29 6 0xBD 0x01 0x03 0x00 0x00 0x03
				0x23 2 0xC0 0x09
				0x23 2 0xC1 0x07
				0x29 3 0xC8 0x07 0x38
				0x23 2 0xD0 0x00
				0x23 2 0xE5 0x03
				0x23 2 0xE6 0x03
				0x23 2 0xE9 0x03
				0x23 2 0xEA 0x03
				0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x06
				0x29 3 0xB0 0x2D 0x2D
				0x29 3 0xB1 0x01 0x01
				0x29 3 0xB2 0x03 0x03
				0x29 3 0xB3 0x2E 0x2E
				0x29 3 0xB4 0x2E 0x2D
				0x29 3 0xB5 0x2D 0x13
				0x29 3 0xB6 0x13 0x11
				0x29 3 0xB7 0x11 0x36
				0x29 3 0xB8 0x36 0x15
				0x29 3 0xB9 0x15 0x2E
				0x29 3 0xBA 0x2E 0x14
				0x29 3 0xBB 0x14 0x35
				0x29 3 0xBC 0x35 0x10
				0x29 3 0xBD 0x10 0x12
				0x29 3 0xBE 0x12 0x2D
				0x29 3 0xBF 0x2D 0x2E
				0x29 3 0xC0 0x2E 0x2E
				0x29 3 0xC1 0x02 0x02
				0x29 3 0xC2 0x00 0x00
				0x29 3 0xC3 0x2D 0x2D
				0x29 3 0xE5 0x34 0x34
				0x29 3 0xC4 0x2E 0x2E
				0x29 3 0xC5 0x02 0x02
				0x29 3 0xC6 0x00 0x00
				0x29 3 0xC7 0x2D 0x2D
				0x29 3 0xC8 0x2E 0x2D
				0x29 3 0xC9 0x2D 0x14
				0x29 3 0xCA 0x14 0x35
				0x29 3 0xCB 0x35 0x10
				0x29 3 0xCC 0x10 0x12
				0x29 3 0xCD 0x12 0x2E
				0x29 3 0xCE 0x2E 0x13
				0x29 3 0xCF 0x13 0x11
				0x29 3 0xD0 0x11 0x36
				0x29 3 0xD1 0x36 0x15
				0x29 3 0xD2 0x15 0x2D
				0x29 3 0xD3 0x2D 0x2E
				0x29 3 0xD4 0x2D 0x2D
				0x29 3 0xD5 0x01 0x01
				0x29 3 0xD6 0x03 0x03
				0x29 3 0xD7 0x2E 0x2E
				0x29 3 0xE6 0x34 0x34
				0x29 6 0xD8 0x00 0x00 0x00 0x00 0x00
				0x29 6 0xD9 0x00 0x00 0x00 0x00 0x00
				0x29 6 0xF0 0x55 0xAA 0x52 0x00 0x00
				0x23 2 0x35 0x00
				0x13 1 0x11
				0xFF 120
				0x13 1 0x29

				0xFF 0xFF>; /*ending*/
			init_off = <
				0XFF 5       /* delay 5ms */
				0x05 1 0x28 /* display off */
				0xFF 10      /* delay 10ms */
				0x05 1 0x10 /* sleep in */
				0xFF 150      /* delay 150ms */
				0xFF 0xFF>; /*ending*/
		};
		extern_6{
			/* G101B158 (inx_nvtk_10) */
			index = <6>;
			extern_name = "mipi_G101B158";
			status = "okay";
			type = <2>; /* 0=i2c, 1=spi, 2=mipi */
		};
		extern_7{
			/* TV101WXM_FT (boe_fiti_10) */
			index = <7>;
			extern_name = "mipi_default";
			status = "okay";
			type = <2>; /*0=i2c, 1=spi, 2=mipi*/
			cmd_size = <0xff>;

			init_on = <
				0xFF 120
				0x23 2 0xE0 0x00
				0x23 2 0xE1 0x93
				0x23 2 0xE2 0x65
				0x23 2 0xE3 0xF8
				0x23 2 0x80 0x03
				0x23 2 0xE0 0x01
				0x23 2 0x00 0x00
				0x23 2 0x01 0x6F
				0x23 2 0x17 0x00
				0x23 2 0x18 0xAF
				0x23 2 0x19 0x01
				0x23 2 0x1A 0x00
				0x23 2 0x1B 0xAF
				0x23 2 0x1C 0x01
				0x23 2 0x1F 0x3E
				0x23 2 0x20 0x28
				0x23 2 0x21 0x28
				0x23 2 0x22 0x7E
				0x23 2 0x35 0x26
				0x23 2 0x37 0x09
				0x23 2 0x38 0x04
				0x23 2 0x39 0x00
				0x23 2 0x3A 0x01
				0x23 2 0x3C 0x78
				0x23 2 0x3D 0xFF
				0x23 2 0x3E 0xFF
				0x23 2 0x3F 0x7F
				0x23 2 0x40 0x06
				0x23 2 0x41 0xA0
				0x23 2 0x42 0x81
				0x23 2 0x43 0x08
				0x23 2 0x44 0x0B
				0x23 2 0x45 0x28
				0x23 2 0x55 0x0F
				0x23 2 0x57 0x69
				0x23 2 0x59 0x0A
				0x23 2 0x5A 0x28
				0x23 2 0x5B 0x14
				0x23 2 0x5D 0x7F
				0x23 2 0x5E 0x6A
				0x23 2 0x5F 0x5A
				0x23 2 0x60 0x4E
				0x23 2 0x61 0x4A
				0x23 2 0x62 0x3A
				0x23 2 0x63 0x3C
				0x23 2 0x64 0x23
				0x23 2 0x65 0x39
				0x23 2 0x66 0x35
				0x23 2 0x67 0x34
				0x23 2 0x68 0x51
				0x23 2 0x69 0x3E
				0x23 2 0x6A 0x44
				0x23 2 0x6B 0x34
				0x23 2 0x6C 0x2E
				0x23 2 0x6D 0x21
				0x23 2 0x6E 0x0E
				0x23 2 0x6F 0x00
				0x23 2 0x70 0x7F
				0x23 2 0x71 0x6A
				0x23 2 0x72 0x5A
				0x23 2 0x73 0x4E
				0x23 2 0x74 0x4A
				0x23 2 0x75 0x3A
				0x23 2 0x76 0x3C
				0x23 2 0x77 0x23
				0x23 2 0x78 0x39
				0x23 2 0x79 0x35
				0x23 2 0x7A 0x34
				0x23 2 0x7B 0x51
				0x23 2 0x7C 0x3E
				0x23 2 0x7D 0x44
				0x23 2 0x7E 0x34
				0x23 2 0x7F 0x2E
				0x23 2 0x80 0x21
				0x23 2 0x81 0x0E
				0x23 2 0x82 0x00
				0x23 2 0xE0 0x02
				0x23 2 0x00 0x1E
				0x23 2 0x01 0x1E
				0x23 2 0x02 0x41
				0x23 2 0x03 0x41
				0x23 2 0x04 0x43
				0x23 2 0x05 0x43
				0x23 2 0x06 0x1F
				0x23 2 0x07 0x1F
				0x23 2 0x08 0x35
				0x23 2 0x09 0x1F
				0x23 2 0x0A 0x15
				0x23 2 0x0B 0x15
				0x23 2 0x0C 0x1F
				0x23 2 0x0D 0x47
				0x23 2 0x0E 0x47
				0x23 2 0x0F 0x45
				0x23 2 0x10 0x45
				0x23 2 0x11 0x4B
				0x23 2 0x12 0x4B
				0x23 2 0x13 0x49
				0x23 2 0x14 0x49
				0x23 2 0x15 0x1F
				0x23 2 0x16 0x1E
				0x23 2 0x17 0x1E
				0x23 2 0x18 0x40
				0x23 2 0x19 0x40
				0x23 2 0x1A 0x42
				0x23 2 0x1B 0x42
				0x23 2 0x1C 0x1F
				0x23 2 0x1D 0x1F
				0x23 2 0x1E 0x35
				0x23 2 0x1F 0x1F
				0x23 2 0x20 0x15
				0x23 2 0x21 0x15
				0x23 2 0x22 0x1F
				0x23 2 0x23 0x46
				0x23 2 0x24 0x46
				0x23 2 0x25 0x44
				0x23 2 0x26 0x44
				0x23 2 0x27 0x4A
				0x23 2 0x28 0x4A
				0x23 2 0x29 0x48
				0x23 2 0x2A 0x48
				0x23 2 0x2B 0x1F
				0x23 2 0x58 0x40
				0x23 2 0x5B 0x30
				0x23 2 0x5C 0x0F
				0x23 2 0x5D 0x30
				0x23 2 0x5E 0x01
				0x23 2 0x5F 0x02
				0x23 2 0x63 0x14
				0x23 2 0x64 0x6A
				0x23 2 0x67 0x73
				0x23 2 0x68 0x11
				0x23 2 0x69 0x14
				0x23 2 0x6A 0x6A
				0x23 2 0x6B 0x08
				0x23 2 0x6C 0x00
				0x23 2 0x6D 0x00
				0x23 2 0x6E 0x00
				0x23 2 0x6F 0x88
				0x23 2 0x77 0xDD
				0x23 2 0x79 0x0E
				0x23 2 0x7A 0x0F
				0x23 2 0x7D 0x14
				0x23 2 0x7E 0x82
				0x23 2 0xE0 0x04
				0x23 2 0x09 0x11
				0x23 2 0x0E 0x48
				0x23 2 0x2B 0x2B
				0x23 2 0x2D 0x03
				0x23 2 0x2E 0x44
				0x23 2 0xE0 0x00
				0x23 2 0xE6 0x02
				0x23 2 0xE7 0x0C
				0x05 1 0x11
				0xFF 100
				0x23 2 0xE0 0x03
				0x23 2 0x2B 0x01
				0x23 2 0x2C 0x00
				0x23 2 0x30 0x03
				0x23 2 0x31 0xFC
				0x23 2 0x32 0x03
				0x23 2 0x33 0xF8
				0x23 2 0x34 0x03
				0x23 2 0x35 0xF0
				0x23 2 0x36 0x03
				0x23 2 0x37 0xE8
				0x23 2 0x38 0x03
				0x23 2 0x39 0xE0
				0x23 2 0x3A 0x03
				0x23 2 0x3B 0xD0
				0x23 2 0x3C 0x03
				0x23 2 0x3D 0xC0
				0x23 2 0x3E 0x03
				0x23 2 0x3F 0xA0
				0x23 2 0x40 0x03
				0x23 2 0x41 0x80
				0x23 2 0x42 0x03
				0x23 2 0x43 0x40
				0x23 2 0x44 0x03
				0x23 2 0x45 0x00
				0x23 2 0x46 0x02
				0x23 2 0x47 0x80
				0x23 2 0x48 0x02
				0x23 2 0x49 0x00
				0x23 2 0x4A 0x01
				0x23 2 0x4B 0xFC
				0x23 2 0x4C 0x01
				0x23 2 0x4D 0x7C
				0x23 2 0x4E 0x00
				0x23 2 0x4F 0xFC
				0x23 2 0x50 0x00
				0x23 2 0x51 0xBC
				0x23 2 0x52 0x00
				0x23 2 0x53 0x7C
				0x23 2 0x54 0x00
				0x23 2 0x55 0x5C
				0x23 2 0x56 0x00
				0x23 2 0x57 0x3C
				0x23 2 0x58 0x00
				0x23 2 0x59 0x2C
				0x23 2 0x5A 0x00
				0x23 2 0x5B 0x1C
				0x23 2 0x5C 0x00
				0x23 2 0x5D 0x14
				0x23 2 0x5E 0x00
				0x23 2 0x5F 0x0C
				0x23 2 0x60 0x00
				0x23 2 0x61 0x04
				0x23 2 0x62 0x00
				0x23 2 0x63 0x00
				0x23 2 0x64 0x03
				0x23 2 0x65 0xC9
				0x23 2 0x66 0x03
				0x23 2 0x67 0xC6
				0x23 2 0x68 0x03
				0x23 2 0x69 0xBE
				0x23 2 0x6A 0x03
				0x23 2 0x6B 0xB7
				0x23 2 0x6C 0x03
				0x23 2 0x6D 0xB1
				0x23 2 0x6E 0x03
				0x23 2 0x6F 0xA3
				0x23 2 0x70 0x03
				0x23 2 0x71 0x96
				0x23 2 0x72 0x03
				0x23 2 0x73 0x79
				0x23 2 0x74 0x03
				0x23 2 0x75 0x5D
				0x23 2 0x76 0x03
				0x23 2 0x77 0x26
				0x23 2 0x78 0x02
				0x23 2 0x79 0xE9
				0x23 2 0x7A 0x02
				0x23 2 0x7B 0x6E
				0x23 2 0x7C 0x01
				0x23 2 0x7D 0xF3
				0x23 2 0x7E 0x01
				0x23 2 0x7F 0xEF
				0x23 2 0x80 0x01
				0x23 2 0x81 0x73
				0x23 2 0x82 0x00
				0x23 2 0x83 0xF5
				0x23 2 0x84 0x00
				0x23 2 0x85 0xB4
				0x23 2 0x86 0x00
				0x23 2 0x87 0x79
				0x23 2 0x88 0x00
				0x23 2 0x89 0x5D
				0x23 2 0x8A 0x00
				0x23 2 0x8B 0x3C
				0x23 2 0x8C 0x00
				0x23 2 0x8D 0x2B
				0x23 2 0x8E 0x00
				0x23 2 0x8F 0x1C
				0x23 2 0x90 0x00
				0x23 2 0x91 0x14
				0x23 2 0x92 0x00
				0x23 2 0x93 0x0C
				0x23 2 0x94 0x00
				0x23 2 0x95 0x04
				0x23 2 0x96 0x00
				0x23 2 0x97 0x00
				0x23 2 0xE0 0x00
				0x05 1 0x29
				0xFF 0xFF>; /*ending*/
			init_off = <
				0XFF 5       /* delay 5ms */
				0x05 1 0x28 /* display off */
				0xFF 50      /* delay 50ms */
				0x05 1 0x10 /* sleep in */
				0xFF 150      /* delay 150ms */
				0xFF 0xFF>; /*ending*/
		};
		extern_8{
			/* G101B158_FT (inx_fiti_10) */
			index = <8>;
			extern_name = "mipi_default";
			status = "okay";
			type = <2>; /*0=i2c, 1=spi, 2=mipi*/
			cmd_size = <0xff>;

			init_on = <
				0x23 2 0xE0 0x00
				0x23 2 0xE1 0x93
				0x23 2 0xE2 0x65
				0x23 2 0xE3 0xF8
				0x23 2 0x80 0x03

				0x23 2 0xE0 0x01
				0x23 2 0x00 0x00
				0x23 2 0x01 0x5D
				0x23 2 0x03 0x00
				0x23 2 0x04 0x64

				0x23 2 0x17 0x00
				0x23 2 0x18 0xC7
				0x23 2 0x19 0x01
				0x23 2 0x1A 0x00
				0x23 2 0x1B 0xC7
				0x23 2 0x1C 0x01

				0x23 2 0x1F 0x70
				0x23 2 0x20 0x2D
				0x23 2 0x21 0x2D
				0x23 2 0x22 0x7E

				0x23 2 0x35 0x28

				0x23 2 0x37 0x19

				0x23 2 0x38 0x05
				0x23 2 0x39 0x00
				0x23 2 0x3A 0x01
				0x23 2 0x3C 0x7C
				0x23 2 0x3D 0xFF
				0x23 2 0x3E 0xFF
				0x23 2 0x3F 0x7F

				0x23 2 0x40 0x06
				0x23 2 0x41 0xA0
				0x23 2 0x43 0x14
				0x23 2 0x44 0x17
				0x23 2 0x45 0x2C

				0x23 2 0x55 0x0F
				0x23 2 0x57 0x68
				0x23 2 0x59 0x0A
				0x23 2 0x5A 0x2E
				0x23 2 0x5B 0x1A
				0x23 2 0x5C 0x15

				0x23 2 0x5D 0x7F
				0x23 2 0x5E 0x61
				0x23 2 0x5F 0x50
				0x23 2 0x60 0x43
				0x23 2 0x61 0x3E
				0x23 2 0x62 0x2E
				0x23 2 0x63 0x33
				0x23 2 0x64 0x1C
				0x23 2 0x65 0x34
				0x23 2 0x66 0x33
				0x23 2 0x67 0x32
				0x23 2 0x68 0x50
				0x23 2 0x69 0x3E
				0x23 2 0x6A 0x46
				0x23 2 0x6B 0x37
				0x23 2 0x6C 0x32
				0x23 2 0x6D 0x24
				0x23 2 0x6E 0x12
				0x23 2 0x6F 0x02
				0x23 2 0x70 0x7F
				0x23 2 0x71 0x61
				0x23 2 0x72 0x50
				0x23 2 0x73 0x43
				0x23 2 0x74 0x3E
				0x23 2 0x75 0x2E
				0x23 2 0x76 0x33
				0x23 2 0x77 0x1C
				0x23 2 0x78 0x34
				0x23 2 0x79 0x33
				0x23 2 0x7A 0x32
				0x23 2 0x7B 0x50
				0x23 2 0x7C 0x3E
				0x23 2 0x7D 0x46
				0x23 2 0x7E 0x37
				0x23 2 0x7F 0x32
				0x23 2 0x80 0x24
				0x23 2 0x81 0x12
				0x23 2 0x82 0x02

				0x23 2 0xE0 0x02
				0x23 2 0x00 0x52
				0x23 2 0x01 0x55
				0x23 2 0x02 0x55
				0x23 2 0x03 0x50
				0x23 2 0x04 0x77
				0x23 2 0x05 0x57
				0x23 2 0x06 0x55
				0x23 2 0x07 0x4E
				0x23 2 0x08 0x4C
				0x23 2 0x09 0x5F
				0x23 2 0x0A 0x4A
				0x23 2 0x0B 0x48
				0x23 2 0x0C 0x55
				0x23 2 0x0D 0x46
				0x23 2 0x0E 0x44
				0x23 2 0x0F 0x40
				0x23 2 0x10 0x55
				0x23 2 0x11 0x55
				0x23 2 0x12 0x55
				0x23 2 0x13 0x55
				0x23 2 0x14 0x55
				0x23 2 0x15 0x55

				0x23 2 0x16 0x53
				0x23 2 0x17 0x55
				0x23 2 0x18 0x55
				0x23 2 0x19 0x51
				0x23 2 0x1A 0x77
				0x23 2 0x1B 0x57
				0x23 2 0x1C 0x55
				0x23 2 0x1D 0x4F
				0x23 2 0x1E 0x4D
				0x23 2 0x1F 0x5F
				0x23 2 0x20 0x4B
				0x23 2 0x21 0x49
				0x23 2 0x22 0x55
				0x23 2 0x23 0x47
				0x23 2 0x24 0x45
				0x23 2 0x25 0x41
				0x23 2 0x26 0x55
				0x23 2 0x27 0x55
				0x23 2 0x28 0x55
				0x23 2 0x29 0x55
				0x23 2 0x2A 0x55
				0x23 2 0x2B 0x55

				0x23 2 0x2C 0x13
				0x23 2 0x2D 0x15
				0x23 2 0x2E 0x15
				0x23 2 0x2F 0x01
				0x23 2 0x30 0x37
				0x23 2 0x31 0x17
				0x23 2 0x32 0x15
				0x23 2 0x33 0x0D
				0x23 2 0x34 0x0F
				0x23 2 0x35 0x15
				0x23 2 0x36 0x05
				0x23 2 0x37 0x07
				0x23 2 0x38 0x15
				0x23 2 0x39 0x09
				0x23 2 0x3A 0x0B
				0x23 2 0x3B 0x11
				0x23 2 0x3C 0x15
				0x23 2 0x3D 0x15
				0x23 2 0x3E 0x15
				0x23 2 0x3F 0x15
				0x23 2 0x40 0x15
				0x23 2 0x41 0x15

				0x23 2 0x42 0x12
				0x23 2 0x43 0x15
				0x23 2 0x44 0x15
				0x23 2 0x45 0x00
				0x23 2 0x46 0x37
				0x23 2 0x47 0x17
				0x23 2 0x48 0x15
				0x23 2 0x49 0x0C
				0x23 2 0x4A 0x0E
				0x23 2 0x4B 0x15
				0x23 2 0x4C 0x04
				0x23 2 0x4D 0x06
				0x23 2 0x4E 0x15
				0x23 2 0x4F 0x08
				0x23 2 0x50 0x0A
				0x23 2 0x51 0x10
				0x23 2 0x52 0x15
				0x23 2 0x53 0x15
				0x23 2 0x54 0x15
				0x23 2 0x55 0x15
				0x23 2 0x56 0x15
				0x23 2 0x57 0x15

				0x23 2 0x58 0x40
				0x23 2 0x5B 0x10
				0x23 2 0x5C 0x12
				0x23 2 0x5D 0x40
				0x23 2 0x5E 0x00
				0x23 2 0x5F 0x00
				0x23 2 0x60 0x40
				0x23 2 0x61 0x03
				0x23 2 0x62 0x04
				0x23 2 0x63 0x6C
				0x23 2 0x64 0x6C
				0x23 2 0x65 0x75
				0x23 2 0x66 0x14
				0x23 2 0x67 0xB4
				0x23 2 0x68 0x14
				0x23 2 0x69 0x6C
				0x23 2 0x6A 0x6C
				0x23 2 0x6B 0x0C
				0x23 2 0x6D 0x04
				0x23 2 0x6E 0x00
				0x23 2 0x6F 0x88
				0x23 2 0x75 0xBB
				0x23 2 0x76 0x02
				0x23 2 0x77 0x00
				0x23 2 0x78 0x02

				0x23 2 0xE0 0x03
				0x23 2 0xAF 0x20


				0x23 2 0xE0 0x04
				0x23 2 0x09 0x11
				0x23 2 0x0E 0x48
				0x23 2 0x2B 0x2B
				0x23 2 0x2D 0x03
				0x23 2 0x2E 0x44
				0x23 2 0x41 0xFF

				0x23 2 0xE0 0x05
				0x23 2 0x12 0x72

				0x23 2 0xE0 0x00
				0x23 2 0xE6 0x02
				0x23 2 0xE7 0x0C

				0x23 2 0x53 0x2C

				0x05 1 0x11
				0xff 120

				0x23 2 0xE0 0x03
				0x23 2 0x2B 0x01
				0xff 10
				0x23 2 0x2C 0x01

				0x23 2 0x30 0x03
				0x23 2 0x31 0xDE
				0x23 2 0x32 0x03
				0x23 2 0x33 0xDA
				0x23 2 0x34 0x03
				0x23 2 0x35 0xD1
				0x23 2 0x36 0x03
				0x23 2 0x37 0xC9
				0x23 2 0x38 0x03
				0x23 2 0x39 0xC1
				0x23 2 0x3A 0x03
				0x23 2 0x3B 0xB3
				0x23 2 0x3C 0x03
				0x23 2 0x3D 0xA4
				0x23 2 0x3E 0x03
				0x23 2 0x3F 0x83
				0x23 2 0x40 0x03
				0x23 2 0x41 0x62
				0x23 2 0x42 0x03
				0x23 2 0x43 0x23
				0x23 2 0x44 0x02
				0x23 2 0x45 0xE4
				0x23 2 0x46 0x02
				0x23 2 0x47 0x67
				0x23 2 0x48 0x01
				0x23 2 0x49 0xEC
				0x23 2 0x4A 0x01
				0x23 2 0x4B 0xE8
				0x23 2 0x4C 0x01
				0x23 2 0x4D 0x6D
				0x23 2 0x4E 0x00
				0x23 2 0x4F 0xF2
				0x23 2 0x50 0x00
				0x23 2 0x51 0xB2
				0x23 2 0x52 0x00
				0x23 2 0x53 0x76
				0x23 2 0x54 0x00
				0x23 2 0x55 0x58
				0x23 2 0x56 0x00
				0x23 2 0x57 0x39
				0x23 2 0x58 0x00
				0x23 2 0x59 0x2A
				0x23 2 0x5A 0x00
				0x23 2 0x5B 0x1B
				0x23 2 0x5C 0x00
				0x23 2 0x5D 0x13
				0x23 2 0x5E 0x00
				0x23 2 0x5F 0x0B
				0x23 2 0x60 0x00
				0x23 2 0x61 0x04
				0x23 2 0x62 0x00
				0x23 2 0x63 0x00

				0x23 2 0x64 0x03
				0x23 2 0x65 0xE7
				0x23 2 0x66 0x03
				0x23 2 0x67 0xE4
				0x23 2 0x68 0x03
				0x23 2 0x69 0xDD
				0x23 2 0x6A 0x03
				0x23 2 0x6B 0xD5
				0x23 2 0x6C 0x03
				0x23 2 0x6D 0xCE
				0x23 2 0x6E 0x03
				0x23 2 0x6F 0xBF
				0x23 2 0x70 0x03
				0x23 2 0x71 0xB2
				0x23 2 0x72 0x03
				0x23 2 0x73 0x93
				0x23 2 0x74 0x03
				0x23 2 0x75 0x71
				0x23 2 0x76 0x03
				0x23 2 0x77 0x33
				0x23 2 0x78 0x02
				0x23 2 0x79 0xF4
				0x23 2 0x7A 0x02
				0x23 2 0x7B 0x75
				0x23 2 0x7C 0x01
				0x23 2 0x7D 0xF7
				0x23 2 0x7E 0x01
				0x23 2 0x7F 0xF3
				0x23 2 0x80 0x01
				0x23 2 0x81 0x75
				0x23 2 0x82 0x00
				0x23 2 0x83 0xF7
				0x23 2 0x84 0x00
				0x23 2 0x85 0xB6
				0x23 2 0x86 0x00
				0x23 2 0x87 0x7C
				0x23 2 0x88 0x00
				0x23 2 0x89 0x5E
				0x23 2 0x8A 0x00
				0x23 2 0x8B 0x3F
				0x23 2 0x8C 0x00
				0x23 2 0x8D 0x2E
				0x23 2 0x8E 0x00
				0x23 2 0x8F 0x1D
				0x23 2 0x90 0x00
				0x23 2 0x91 0x15
				0x23 2 0x92 0x00
				0x23 2 0x93 0x0C
				0x23 2 0x94 0x00
				0x23 2 0x95 0x04
				0x23 2 0x96 0x00
				0x23 2 0x97 0x00

				0x23 2 0xE0 0x00

				0x05 1 0x29
				0xFF 5
				0xFF 0xFF>; /*ending*/
			init_off = <
				0XFF 5       /* delay 5ms */
				0x05 1 0x28 /* display off */
				0xFF 50      /* delay 50ms */
				0x05 1 0x10 /* sleep in */
				0xFF 150      /* delay 150ms */
				0xFF 0xFF>; /*ending*/
		};
	};
};/* end of panel */

