--- /dev/null
+/*
+ * arch/arm64/boot/dts/amlogic/mesong12b_skt-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-g12b";
+ 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 /* dsi_host */
+ 0x0 0xff644000 0x0 0x2000>; /* dsi_phy */
+ 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 GPIOZ_9 GPIO_ACTIVE_HIGH
+ &gpio GPIOZ_8 GPIO_ACTIVE_HIGH>;
+ lcd_cpu_gpio_names = "GPIOZ_9","GPIOZ_8";
+
+ 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_widht, 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_always_hs(0=disable,1=enable)*/
+ 0>; /*phy_switch(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 1 0 100
+ 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 10
+ 0 1 1 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_widht, 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_always_hs(0=disable,1=enable)*/
+ 0>; /*phy_switch(0=auto,1=standard,2=slow)*/
+ /* dsi_init: data_type, num, data... */
+ dsi_init_on = <
+ 0xff 10
+ 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 0x04 3 /* check_reg, check_cnt */
+ 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 = <
+ 0 1 0 200
+ 2 0 0 0
+ 0xff 0 0 0>;
+ power_off_step = <
+ 2 0 0 0
+ 0 0 0 20
+ 0 1 1 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_widht, 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_always_hs(0=disable,1=enable)*/
+ 0>; /*phy_switch(0=auto,1=standard,2=slow)*/
+ /* dsi_init: data_type, num, data... */
+ dsi_init_on = <
+ 0xff 10
+ 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 0x04 3 /* check_reg, check_cnt */
+ 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 = <
+ 0 1 0 200 /* panel power on */
+ 2 0 0 0
+ 0xff 0 0 0>;
+ power_off_step = <
+ 2 0 0 0
+ 0 0 0 20 /* reset low */
+ 0 1 1 100 /* panel power off */
+ 0xff 0 0 0>;
+ backlight_index = <0>;
+ };
+
+ lcd_3{
+ model_name = "TL050FHV02CT";
+ interface = "mipi";
+ basic_setting = <1080 1920 /*h_active, v_active*/
+ 1125 2100 /*h_period, v_period*/
+ 8 /*lcd_bits*/
+ 65 119>; /*screen_widht, screen_height*/
+ lcd_timing = <5 30 0 /*hs_width,hs_bp,hs_pol*/
+ 44 108 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*/
+ 118125000>; /*pixel_clk(unit in Hz)*/
+ mipi_attr = <4 /*lane_num*/
+ 960 /*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_always_hs(0=disable,1=enable)*/
+ 0>; /*phy_switch(0=auto,1=standard,2=slow)*/
+ /* dsi_init: data_type, num, data... */
+ dsi_init_on = <0xff 0xff>; /* ending flag */
+ dsi_init_off = <0xff 0xff>; /* ending flag */
+ /* extern_init: 0xff for invalid */
+ extern_init = <3>;
+ /* power step: type,index,value,delay(ms) */
+ power_on_step = <
+ 0 1 0 200
+ 0 0 1 20
+ 0 0 0 10
+ 0 0 1 20
+ 2 0 0 0
+ 0xff 0 0 0>;
+ power_off_step = <
+ 2 0 0 0
+ 0 0 0 20
+ 0 1 1 100
+ 0xff 0 0 0>;
+ backlight_index = <0>;
+ };
+
+ lcd_4{
+ model_name = "TL070WSH27";
+ interface = "mipi";
+ basic_setting = <1024 600 /*h_active, v_active*/
+ 1250 630 /*h_period, v_period*/
+ 8 /*lcd_bits*/
+ 154 86>; /*screen_widht, screen_height*/
+ lcd_timing = <80 100 0 /*hs_width, hs_bp, hs_pol*/
+ 5 20 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*/
+ 47250000>; /*pixel_clk(unit in Hz)*/
+ mipi_attr = <4 /*lane_num*/
+ 300 /*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_always_hs(0=disable,1=enable)*/
+ 0>; /*phy_switch(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 1 0 100
+ 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 10
+ 0 1 1 100
+ 0xff 0 0 0>; /*ending*/
+ backlight_index = <0>;
+ };
+ };
+
+ lcd_extern{
+ compatible = "amlogic, lcd_extern";
+ dev_name = "lcd_extern";
+ status = "okay";
+ key_valid = <0>;
+
+ extern_0{
+ index = <0>;
+ extern_name = "mipi_default";/*default*/
+ status = "okay";
+ type = <2>; /* 0=i2c, 1=spi, 2=mipi */
+ cmd_size = <0xff>;
+ init_on = <
+ 0xff 10
+ 0x05 1 0x11
+ 0xff 120 /* delay 120ms */
+ 0x05 1 0x29
+ 0xff 0xff>; /*ending*/
+ init_off = <
+ 0x05 1 0x28 /* display off */
+ 0xff 10 /* delay 10ms */
+ 0x05 1 0x10 /* sleep in */
+ 0xff 150 /* delay 150ms */
+ 0xff 0xff>; /*ending*/
+ };
+
+ extern_1{
+ index = <1>;
+ extern_name = "mipi_default";/*TV070WSM*/
+ status = "okay";
+ type = <2>; /* 0=i2c, 1=spi, 2=mipi */
+ cmd_size = <0xff>;
+ init_on = <
+ 0xff 10
+ 0x15 2 0x62 0x01
+ 0x39 5 0xff 0xaa 0x55 0x25 0x01
+ 0x15 2 0xfc 0x08
+ 0xff 1 /* delay */
+ 0x15 2 0xfc 0x00
+ 0x39 5 0xff 0xaa 0x55 0x25 0x00
+ 0xff 20 /* delay */
+ 0x39 6 0xf0 0x55 0xaa 0x52 0x08 0x00
+ 0x39 3 0xb1 0x68 0x41
+ 0x15 2 0xb5 0x88
+ 0x15 2 0xb6 0x0f
+ 0x39 5 0xb8 0x01 0x01 0x12 0x01
+ 0x39 3 0xbb 0x11 0x11
+ 0x39 3 0xbc 0x05 0x05
+ 0x15 2 0xc7 0x03
+ 0x39 6 0xbd 0x03 0x02 0x19 0x17 0x00
+ 0x15 2 0xc8 0x80
+ 0x39 6 0xf0 0x55 0xaa 0x52 0x08 0x01
+ 0x39 3 0xB2 0x01 0x01
+ 0x39 3 0xB3 0x28 0x28
+ 0x39 3 0xB4 0x14 0x14
+ 0x39 3 0xB8 0x05 0x05
+ 0x39 3 0xB9 0x45 0x45
+ 0x39 3 0xBA 0x25 0x25
+ 0x39 3 0xBC 0x88 0x00
+ 0x39 3 0xBD 0x88 0x00
+ 0x39 6 0xF0 0x55 0xAA 0x52 0x08 0x02
+ 0x15 2 0xEE 0x00
+ 0x39 17 0xB0 0x00 0x4B 0x00 0x5C 0x00
+ 0x79 0x00 0x94 0x00 0xA6 0x00 0xD8
+ 0x00 0xF2 0x01 0x19
+ 0x39 17 0xB1 0x01 0x39 0x01 0x77 0x01
+ 0xA2 0x01 0xF2 0x02 0x32 0x02 0x34
+ 0x02 0x6D 0x02 0xA2
+ 0x39 17 0xB2 0x02 0xC7 0x02 0xF2 0x03
+ 0x18 0x03 0x43 0x03 0x65 0x03 0x86
+ 0x03 0x8F 0x03 0x94
+ 0x39 5 0xB3 0x03 0x96 0x03 0x98
+ 0x39 17 0xB4 0x00 0x84 0x00 0x91 0x00
+ 0xA4 0x00 0xB6 0x00 0xCA 0x00 0xE9
+ 0x01 0x02 0x01 0x2A
+ 0x39 17 0xB5 0x01 0x49 0x01 0x82 0x01
+ 0xAF 0x01 0xF7 0x02 0x36 0x02 0x38
+ 0x02 0x70 0x02 0xA6
+ 0x39 17 0xB6 0x02 0xC8 0x02 0xF5 0x03
+ 0x1A 0x03 0x43 0x03 0x62 0x03 0x82
+ 0x03 0x8F 0x03 0x94
+ 0x39 5 0xB7 0x03 0x96 0x03 0x98
+ 0x39 17 0xB8 0x01 0x22 0x01 0x27 0x01
+ 0x2E 0x01 0x38 0x01 0x40 0x01 0x53
+ 0x01 0x60 0x01 0x7B
+ 0x39 17 0xB9 0x01 0x8C 0x01 0xB5 0x01
+ 0xD3 0x02 0x11 0x02 0x49 0x02 0x4A
+ 0x02 0x7F 0x02 0xB1
+ 0x39 17 0xBA 0x02 0xD1 0x03 0x00 0x03
+ 0x22 0x03 0x49 0x03 0x60 0x03 0x7A
+ 0x03 0x8B 0x03 0x8F
+ 0x39 5 0xBB 0x03 0x93 0x03 0x9A
+ 0x39 17 0xBC 0x00 0x37 0x00 0x48 0x00
+ 0x65 0x00 0x80 0x00 0x92 0x00 0xC4
+ 0x00 0xDE 0x01 0x05
+ 0x39 17 0xBD 0x01 0x31 0x01 0x6F 0x01
+ 0x9E 0x01 0xEE 0x02 0x32 0x02 0x34
+ 0x02 0x71 0x02 0xA7
+ 0x39 17 0xBE 0x02 0xD3 0x02 0xFE 0x03
+ 0x24 0x03 0x4F 0x03 0x71 0x03 0x92
+ 0x03 0x9B 0x03 0xA0
+ 0x39 5 0xBF 0x03 0xA6 0x03 0xA8
+ 0x39 17 0xC0 0x00 0x70 0x00 0x7D 0x00
+ 0x90 0x00 0xA4 0x00 0xB6 0x00 0xD5
+ 0x00 0xEE 0x01 0x16
+ 0x39 17 0xC1 0x01 0x41 0x01 0x7A 0x01
+ 0xAB 0x01 0xF3 0x02 0x36 0x02 0x38
+ 0x02 0x74 0x02 0xAA
+ 0x39 17 0xC2 0x02 0xD4 0x03 0x01 0x03
+ 0x26 0x03 0x4F 0x03 0x6E 0x03 0x8E
+ 0x03 0x9B 0x03 0xA0
+ 0x39 5 0xC3 0x03 0xA6 0x03 0xA8
+ 0x39 17 0xC4 0x01 0x0E 0x01 0x13 0x01
+ 0x1A 0x01 0x24 0x01 0x2C 0x01 0x3F
+ 0x01 0x4C 0x01 0x67
+ 0x39 17 0xC5 0x01 0x84 0x01 0xAD 0x01
+ 0xCF 0x02 0x0D 0x02 0x49 0x02 0x4A
+ 0x02 0x83 0x02 0xB5
+ 0x39 17 0xC6 0x02 0xDD 0x03 0x0C 0x03
+ 0x2E 0x03 0x55 0x03 0x6B 0x03 0x86
+ 0x03 0x97 0x03 0x9B
+ 0x39 5 0xC7 0x03 0xA1 0x03 0xA8
+ 0x39 6 0xF0 0x55 0xAA 0x52 0x08 0x04
+ 0x39 6 0xB1 0x03 0x02 0x02 0x02 0x00
+ 0x39 6 0xF0 0x55 0xAA 0x52 0x08 0x06
+ 0x39 3 0xB0 0x11 0x11
+ 0x39 3 0xB1 0x13 0x13
+ 0x39 3 0xB2 0x03 0x03
+ 0x39 3 0xB3 0x34 0x34
+ 0x39 3 0xB4 0x34 0x34
+ 0x39 3 0xB5 0x34 0x34
+ 0x39 3 0xB6 0x34 0x34
+ 0x39 3 0xB7 0x34 0x34
+ 0x39 3 0xB8 0x34 0x34
+ 0x39 3 0xB9 0x34 0x34
+ 0x39 3 0xBA 0x34 0x34
+ 0x39 3 0xBB 0x34 0x34
+ 0x39 3 0xBC 0x34 0x34
+ 0x39 3 0xBD 0x34 0x34
+ 0x39 3 0xBE 0x34 0x34
+ 0x39 3 0xBF 0x34 0x34
+ 0x39 3 0xC0 0x34 0x34
+ 0x39 3 0xC1 0x02 0x02
+ 0x39 3 0xC2 0x12 0x12
+ 0x39 3 0xC3 0x10 0x10
+ 0x39 3 0xE5 0x34 0x34
+ 0x39 6 0xD8 0x00 0x00 0x00 0x00 0x00
+ 0x39 6 0xD9 0x00 0x00 0x00 0x00 0x00
+ 0x39 6 0xF0 0x55 0xAA 0x52 0x08 0x05
+ 0x15 2 0xC0 0x03
+ 0x15 2 0xC1 0x02
+ 0x39 3 0xC8 0x01 0x20
+ 0x15 2 0xE5 0x03
+ 0x15 2 0xE6 0x03
+ 0x15 2 0xE7 0x03
+ 0x15 2 0xE8 0x03
+ 0x15 2 0xE9 0x03
+ 0x39 5 0xD1 0x03 0x00 0x3D 0x00
+ 0x39 6 0xF0 0x55 0xAA 0x52 0x08 0x03
+ 0x39 3 0xB0 0x11 0x00
+ 0x39 3 0xB1 0x11 0x00
+ 0x39 6 0xB2 0x03 0x00 0x00 0x00 0x00
+ 0x39 6 0xB3 0x03 0x00 0x00 0x00 0x00
+ 0x39 6 0xBA 0x31 0x00 0x00 0x00 0x00
+ 0x15 2 0x35 0x00
+ 0x15 2 0x51 0xFF
+ 0x15 2 0x53 0x2C
+ 0x15 2 0x55 0x03
+ 0x05 1 0x11
+ 0xff 120 /* delay 120ms */
+ 0x05 1 0x29
+ 0xff 130 /* delay 130ms */
+ 0xFF 0xFF>; /*ending*/
+ init_off = <
+ 0x05 1 0x28 /* display off */
+ 0xff 10 /* delay 10ms */
+ 0x05 1 0x10 /* sleep in */
+ 0xff 150 /* delay 150ms */
+ 0xff 0xff>; /*ending*/
+ };
+
+ extern_2{
+ index = <2>;
+ extern_name = "mipi_default";/*P070ACB*/
+ status = "okay";
+ type = <2>; /* 0=i2c, 1=spi, 2=mipi */
+ cmd_size = <0xff>;
+ init_on = <
+ 0x29 5 0xFF 0xAA 0x55 0x25 0x01
+ 0x23 2 0xFC 0x08
+ 0xFF 1 /* delay(ms) */
+ 0x23 2 0xFC 0x00
+ 0xFF 1 /* delay(ms) */
+ 0x23 2 0x6F 0x21
+ 0x23 2 0xF7 0x01
+ 0xFF 1 /* delay(ms) */
+ 0x23 2 0x6F 0x21
+ 0x23 2 0xF7 0x00
+ 0xFF 1 /* delay(ms) */
+
+ 0x23 2 0x6F 0x1A
+ 0x23 2 0xF7 0x05
+ 0xFF 1 /* delay(ms) */
+
+ 0x29 5 0xFF 0xAA 0x55 0x25 0x00
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x00
+ 0x29 3 0xB1 0x68 0x41
+ 0x23 2 0xB5 0x88
+ 0x29 6 0xBD 0x02 0xB0 0x0C 0x14 0x00
+ 0x23 2 0xC8 0x80
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x01
+ 0x29 3 0xB3 0x2D 0x2D
+ 0x29 3 0xB4 0x19 0x19
+ 0x23 2 0xB5 0x06
+
+ 0x29 3 0xB9 0x36 0x36
+ 0x29 3 0xBA 0x26 0x26
+ 0x29 3 0xBC 0xA8 0x01
+ 0x29 3 0xBD 0xAB 0x01
+ 0x23 2 0xC0 0x0C
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x02
+ 0x23 2 0xEE 0x02
+ 0x29 7 0xB0 0x00 0x50 0x00 0x52 0x00 0x73
+ 0x23 2 0x6F 0x06
+ 0x29 7 0xB0 0x00 0x8F 0x00 0xA5 0x00 0xCA
+ 0x23 2 0x6F 0x0C
+ 0x29 5 0xB0 0x00 0xEA 0x01 0x1B
+ 0x29 7 0xB1 0x01 0x42 0x01 0x82 0x01 0xB3
+ 0x23 2 0x6F 0x06
+ 0x29 7 0xB1 0x02 0x00 0x02 0x41 0x02 0x42
+ 0x23 2 0x6F 0x0C
+ 0x29 5 0xB1 0x02 0x78 0x02 0xB5
+ 0x29 7 0xB2 0x02 0xDA 0x03 0x12 0x03 0x3A
+ 0x23 2 0x6F 0x06
+ 0x29 7 0xB2 0x03 0x6E 0x03 0x8D 0x03 0xB1
+ 0x23 2 0x6F 0x0C
+ 0x29 5 0xB2 0x03 0xCA 0x03 0xE8
+ 0x29 5 0xB3 0x03 0xF4 0x03 0xFF
+
+ 0x29 7 0xBC 0x00 0x05 0x00 0x52 0x00 0x73
+ 0x23 2 0x6F 0x06
+ 0x29 7 0xBC 0x00 0x8F 0x00 0xA5 0x00 0xCA
+ 0x23 2 0x6F 0x0C
+ 0x29 5 0xBC 0x00 0xEA 0x01 0x1B
+ 0x29 7 0xBD 0x01 0x42 0x01 0x82 0x01 0xB3
+ 0x23 2 0x6F 0x06
+ 0x29 7 0xBD 0x02 0x00 0x02 0x41 0x02 0x42
+ 0x23 2 0x6F 0x0C
+ 0x29 5 0xBD 0x02 0x78 0x02 0xB5
+ 0x29 7 0xBE 0x02 0xDA 0x03 0x12 0x03 0x3A
+ 0x23 2 0x6F 0x06
+ 0x29 7 0xBE 0x03 0x6E 0x03 0x8D 0x03 0xB1
+ 0x23 2 0x6F 0x0C
+ 0x29 5 0xBE 0x03 0xCA 0x03 0xE8
+ 0x29 5 0xBF 0x03 0xF4 0x03 0xFF
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x03
+ 0x29 6 0xB2 0x05 0x00 0x00 0x00 0x00
+ 0x29 6 0xB6 0x05 0x00 0x00 0x00 0x00
+ 0x29 6 0xB7 0x05 0x00 0x00 0x00 0x00
+ 0x29 6 0xBA 0x57 0x00 0x00 0x00 0x00
+ 0x29 6 0xBB 0x57 0x00 0x00 0x00 0x00
+ 0x29 5 0xC0 0x00 0x34 0x00 0x00
+ 0x29 5 0xC1 0x00 0x00 0x34 0x00
+ 0x23 2 0xC4 0x40
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x05
+ 0x29 3 0xB0 0x17 0x06
+ 0x29 3 0xB1 0x17 0x06
+ 0x29 3 0xB2 0x17 0x06
+ 0x29 3 0xB3 0x17 0x06
+ 0x29 3 0xB4 0x17 0x06
+
+ 0x29 6 0xBD 0x03 0x01 0x03 0x03 0x01
+ 0x23 2 0xC0 0x05
+ 0x23 2 0xC4 0x82
+ 0x23 2 0xC5 0xA2
+ 0x29 3 0xC8 0x03 0x30
+ 0x29 3 0xC9 0x03 0x31
+ 0x29 4 0xCC 0x00 0x00 0x3C
+ 0x29 4 0xCD 0x00 0x00 0x3C
+ 0x29 6 0xD1 0x00 0x44 0x09 0x00 0x00
+ 0x29 6 0xD2 0x00 0x04 0x0B 0x00 0x00
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x06
+ 0x29 3 0xB0 0x0B 0x2D
+ 0x29 3 0xB1 0x2D 0x09
+ 0x29 3 0xB2 0x2A 0x29
+ 0x29 3 0xB3 0x34 0x1B
+ 0x29 3 0xB4 0x19 0x17
+ 0x29 3 0xB5 0x15 0x13
+ 0x29 3 0xB6 0x11 0x01
+ 0x29 3 0xB7 0x34 0x34
+ 0x29 3 0xB8 0x34 0x2D
+ 0x29 3 0xB9 0x2D 0x34
+ 0x29 3 0xBA 0x2D 0x2D
+ 0x29 3 0xBB 0x34 0x34
+ 0x29 3 0xBC 0x34 0x34
+ 0x29 3 0xBD 0x00 0x10
+ 0x29 3 0xBE 0x12 0x14
+ 0x29 3 0xBF 0x16 0x18
+
+ 0x29 3 0xC0 0x1A 0x34
+ 0x29 3 0xC1 0x29 0x2A
+ 0x29 3 0xC2 0x08 0x2D
+ 0x29 3 0xC3 0x2D 0x0A
+ 0x29 3 0xC4 0x0A 0x2D
+ 0x29 3 0xC5 0x2D 0x00
+ 0x29 3 0xC6 0x2A 0x29
+ 0x29 3 0xC7 0x34 0x14
+ 0x29 3 0xC8 0x16 0x18
+ 0x29 3 0xC9 0x1A 0x10
+ 0x29 3 0xCA 0x12 0x08
+ 0x29 3 0xCB 0x34 0x34
+ 0x29 3 0xCC 0x34 0x2D
+ 0x29 3 0xCD 0x2D 0x34
+ 0x29 3 0xCE 0x2D 0x2D
+ 0x29 3 0xCF 0x34 0x34
+
+ 0x29 3 0xD0 0x34 0x34
+ 0x29 3 0xD1 0x09 0x13
+ 0x29 3 0xD2 0x11 0x1B
+ 0x29 3 0xD3 0x19 0x17
+ 0x29 3 0xD4 0x15 0x34
+ 0x29 3 0xD5 0x29 0x2A
+ 0x29 3 0xD6 0x01 0x2D
+ 0x29 3 0xD7 0x2D 0x0B
+ 0x29 6 0xD8 0x00 0x00 0x00 0x00 0x00
+ 0x29 6 0xD9 0x00 0x00 0x00 0x00 0x00
+
+ 0x29 3 0xE5 0x34 0x34
+ 0x29 3 0xE6 0x34 0x34
+ 0x23 2 0xE7 0x00
+ 0x29 3 0xE8 0x34 0x34
+ 0x29 3 0xE9 0x34 0x34
+ 0x23 2 0xEA 0x00
+
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x00 0x00
+
+ 0x13 1 0x35
+ 0x13 1 0x11
+ 0xFF 120 /* delay(ms) */
+ 0x13 1 0x29
+ 0xFF 20 /* delay(ms) */
+ 0xFF 0xFF>; /*ending*/
+ init_off = <
+ 0x05 1 0x28 /* display off */
+ 0xff 10 /* delay 10ms */
+ 0x05 1 0x10 /* sleep in */
+ 0xff 150 /* delay 150ms */
+ 0xff 0xff>; /*ending*/
+ };
+
+ extern_3{
+ index = <3>;
+ extern_name = "mipi_default";/*TL050FHV02CT*/
+ status = "okay";
+ type = <2>; /* 0=i2c, 1=spi, 2=mipi */
+ cmd_size = <0xff>;
+ init_on = <
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x03
+ 0x29 10 0x90 0x03 0x14 0x09 0x00 0x00
+ 0x00 0x38 0x00 0x00
+ 0x29 10 0x91 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00 0x00 0x00
+ 0x29 12 0x92 0x40 0x0B 0x0C 0x0D 0x0E
+ 0x00 0x38 0x00 0x10 0x03 0x04
+ 0x29 9 0x94 0x00 0x08 0x0B 0x03 0xD2
+ 0x03 0xD3 0x0C
+ 0x29 17 0x95 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00 0x00 0x00
+ 0x29 3 0x99 0x00 0x00
+ 0x29 12 0x9A 0x00 0x00 0x00 0x00 0x00
+ 0x00 0x00 0x00 0x00 0x00 0x00
+ 0x29 7 0x9B 0x01 0x38 0x00 0x00 0x00 0x00
+ 0x29 3 0x9C 0x00 0x00
+ 0x29 9 0x9D 0x10 0x10 0x10 0x10 0x10
+ 0x10 0x00 0x00
+ 0x29 3 0x9E 0x00 0x00
+ 0x29 11 0xA0 0x9F 0x1F 0x08 0x1F 0x0A
+ 0x1F 0x00 0x1F 0x14 0x1F
+ 0x29 11 0xA1 0x15 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x29 11 0xA2 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x29 11 0xA4 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x29 11 0xA5 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x15
+ 0x29 11 0xA6 0x1F 0x14 0x1F 0x01 0x1F
+ 0x0B 0x1F 0x09 0x1F 0x1F
+ 0x29 11 0xA7 0x1F 0x1F 0x0B 0x1F 0x09
+ 0x1F 0x01 0x1F 0x15 0x1F
+ 0x29 11 0xA8 0x14 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x29 11 0xA9 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x29 11 0xAB 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x29 11 0xAC 0x1F 0x1F 0x1F 0x1F 0x1F
+ 0x1F 0x1F 0x1F 0x1F 0x14
+ 0x29 11 0xAD 0x1F 0x15 0x1F 0x00 0x1F
+ 0x08 0x1F 0x0A 0x1F 0x1F
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x00
+ 0x29 4 0xBC 0x00 0x00 0x00
+ 0x29 5 0xB8 0x01 0xAF 0x8F 0x8F
+ 0x29 6 0xF0 0x55 0xAA 0x52 0x08 0x01
+ 0x29 17 0xD1 0x00 0x00 0x00 0x09 0x00
+ 0x1F 0x00 0x30 0x00 0x3F 0x00 0x5D
+ 0x00 0x79 0x00 0xA7
+ 0x29 17 0xD2 0x00 0xCF 0x01 0x12 0x01
+ 0x49 0x01 0xA1 0x01 0xEB 0x01 0xED
+ 0x02 0x2F 0x02 0x74
+ 0x29 17 0xD3 0x02 0x9F 0x02 0xD5 0x02
+ 0xFB 0x03 0x2C 0x03 0x4B 0x03 0x73
+ 0x03 0x8C 0x03 0xA5
+ 0x29 5 0xD4 0x03 0xC5 0x03 0xFF
+ 0x29 17 0xD5 0x00 0x00 0x00 0x09 0x00
+ 0x1F 0x00 0x30 0x00 0x3F 0x00 0x5D
+ 0x00 0x79 0x00 0xA7
+ 0x29 17 0xD6 0x00 0xCF 0x01 0x12 0x01
+ 0x49 0x01 0xA1 0x01 0xEB 0x01 0xED
+ 0x02 0x2F 0x02 0x74
+ 0x29 17 0xD7 0x02 0x9F 0x02 0xD5 0x02
+ 0xFB 0x03 0x2C 0x03 0x4B 0x03 0x73
+ 0x03 0x8C 0x03 0xA5
+ 0x29 5 0xD8 0x03 0xC5 0x03 0xFF
+ 0x29 17 0xD9 0x00 0x00 0x00 0x09 0x00
+ 0x1F 0x00 0x30 0x00 0x3F 0x00 0x5D
+ 0x00 0x79 0x00 0xA7
+ 0x29 17 0xDD 0x00 0xCF 0x01 0x12 0x01
+ 0x49 0x01 0xA1 0x01 0xEB 0x01 0xED
+ 0x02 0x2F 0x02 0x74
+ 0x29 17 0xDE 0x02 0x9F 0x02 0xD5 0x02
+ 0xFB 0x03 0x2C 0x03 0x4B 0x03 0x73
+ 0x03 0x8C 0x03 0xA5
+ 0x29 5 0xDF 0x03 0xC5 0x03 0xFF
+ 0x29 17 0xE0 0x00 0x00 0x00 0x09 0x00
+ 0x1F 0x00 0x30 0x00 0x3F 0x00 0x5D
+ 0x00 0x79 0x00 0xA7
+ 0x29 17 0xE1 0x00 0xCF 0x01 0x12 0x01
+ 0x49 0x01 0xA1 0x01 0xEB 0x01 0xED
+ 0x02 0x2F 0x02 0x74
+ 0x29 17 0xE2 0x02 0x9F 0x02 0xD5 0x02
+ 0xFB 0x03 0x2C 0x03 0x4B 0x03 0x73
+ 0x03 0x8C 0x03 0xA5
+ 0x29 5 0xE3 0x03 0xC5 0x03 0xFF
+ 0x29 17 0xE4 0x00 0x00 0x00 0x09 0x00
+ 0x1F 0x00 0x30 0x00 0x3F 0x00 0x5D
+ 0x00 0x79 0x00 0xA7
+ 0x29 17 0xE5 0x00 0xCF 0x01 0x12 0x01
+ 0x49 0x01 0xA1 0x01 0xEB 0x01 0xED
+ 0x02 0x2F 0x02 0x74
+ 0x29 17 0xE6 0x02 0x9F 0x02 0xD5 0x02
+ 0xFB 0x03 0x2C 0x03 0x4B 0x03 0x73
+ 0x03 0x8C 0x03 0xA5
+ 0x29 5 0xE7 0x03 0xC5 0x03 0xFF
+ 0x29 17 0xE8 0x00 0x00 0x00 0x09 0x00
+ 0x1F 0x00 0x30 0x00 0x3F 0x00 0x5D
+ 0x00 0x79 0x00 0xA7
+ 0x29 17 0xE9 0x00 0xCF 0x01 0x12 0x01
+ 0x49 0x01 0xA1 0x01 0xEB 0x01 0xED
+ 0x02 0x2F 0x02 0x74
+ 0x29 17 0xEA 0x02 0x9F 0x02 0xD5 0x02
+ 0xFB 0x03 0x2C 0x03 0x4B 0x03 0x73
+ 0x03 0x8C 0x03 0xA5
+ 0x29 5 0xEB 0x03 0xC5 0x03 0xFF
+ 0x29 4 0xB0 0x05 0x05 0x05
+ 0x29 4 0xB1 0x05 0x05 0x05
+ 0x29 4 0xB3 0x10 0x10 0x10
+ 0x29 4 0xB4 0x06 0x06 0x06
+ 0x29 4 0xB6 0x44 0x44 0x44
+ 0x29 4 0xB7 0x34 0x34 0x34
+ 0x29 4 0xB8 0x34 0x34 0x34
+ 0x29 4 0xB9 0x24 0x24 0x24
+ 0x29 4 0xBA 0x24 0x24 0x24
+ 0x29 4 0xBC 0x00 0x70 0x00
+ 0x29 4 0xBD 0x00 0x70 0x00
+ 0x23 2 0xBE 0x50
+ 0x23 2 0x35 0x00
+ 0x13 1 0x11
+ 0xff 200
+ 0x13 1 0x29
+ 0xff 200
+ 0xFF 0xFF>; /*ending*/
+ init_off = <
+ 0x05 1 0x28 /* display off */
+ 0xff 10 /* delay 10ms */
+ 0x05 1 0x10 /* sleep in */
+ 0xff 150 /* delay 150ms */
+ 0xff 0xff>; /*ending*/
+ };
+
+ };
+
+ backlight{
+ compatible = "amlogic, backlight-g12b";
+ dev_name = "backlight";
+ status = "okay";
+ key_valid = <0>;
+ pinctrl-names = "pwm_on";
+ pinctrl-0 = <&pwm_f_pins2>;
+ pinctrl_version = <2>; /* for uboot */
+ bl_pwm_config = <&bl_pwm_conf>;
+ bl-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH
+ &gpio GPIOH_5 GPIO_ACTIVE_HIGH>;
+ bl_gpio_names = "GPIOH_4","GPIOH_5";
+
+ /* pwm port: PWM_A, PWM_B, PWM_C, PWM_D, PWM_E, PWM_F, PWM_VS*/
+ /* power index:(point gpios_index, 0xff=invalid)
+ * power value:(0=output low, 1=output high, 2=input)
+ * power delay:(unit in ms)
+ */
+
+ backlight_0{
+ index = <0>;
+ bl_name = "backlight_pwm";
+ bl_level_default_uboot_kernel = <100 100>;
+ bl_level_attr = <255 10 /*max, min*/
+ 128 128>; /*mid, mid_mapping*/
+ bl_ctrl_method = <1>; /* 1=pwm, 2=pwm_combo, 4=extern */
+ bl_power_attr = <0 /*en_gpio_index*/
+ 1 0 /*on_value, off_value*/
+ 200 200>; /*on_delay(ms), off_delay(ms)*/
+ bl_pwm_port = "PWM_F";
+ bl_pwm_attr = <0 /*pwm_method*/
+ 180 /*pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/
+ 100 25>; /*duty_max(%), duty_min(%)*/
+ bl_pwm_power = <1 1 /*pwm_gpio_index, pwm_gpio_off*/
+ 10 10>; /*pwm_on_delay(ms), pwm_off_delay(ms)*/
+ bl_pwm_en_sequence_reverse = <0>; /* 1 for reverse */
+ };
+ backlight_1{
+ index = <1>;
+ bl_name = "bl_extern";
+ bl_level_default_uboot_kernel = <100 100>;
+ bl_level_attr = <255 10 /*max, min*/
+ 128 128>; /*mid, mid_mapping*/
+ bl_ctrl_method = <4>; /*1=pwm, 2=pwm_combo, 4=extern*/
+ bl_power_attr = <1 /*en_gpio_index*/
+ 1 0 /*on_value, off_value*/
+ 200 200>; /*on_delay(ms), off_delay(ms)*/
+ bl_extern_index = <0>;
+ };
+ };
+ bl_pwm_conf:bl_pwm_conf{
+ pwm_channel_0 {
+ pwm_port_index = <5>;
+ pwms = <&pwm_ef MESON_PWM_1 30040 0>;
+ };
+ };
+ bl_extern{
+ compatible = "amlogic, bl_extern";
+ dev_name = "bl_extern";
+ status = "disabled";
+ extern_0{
+ index = <0>;
+ extern_name = "i2c_lp8556";
+ type = <0>; /*0=i2c, 1=spi, 2=mipi*/
+ i2c_address = <0x2c>; /*7bit i2c address*/
+ i2c_bus = "i2c_bus_c";
+ dim_max_min = <255 10>;
+ };
+ extern_1{
+ index = <1>;
+ extern_name = "mipi_lt070me05";
+ type = <2>; /*0=i2c, 1=spi, 2=mipi*/
+ dim_max_min = <255 10>;
+ };
+ };
+};/* end of panel */
+