diff --git a/arch/arm/boot/dts/amlogic/mesong12a_skt-panel.dtsi b/arch/arm/boot/dts/amlogic/mesong12a_skt-panel.dtsi index 1a7244812acc..cc0032d635de 100644 --- a/arch/arm/boot/dts/amlogic/mesong12a_skt-panel.dtsi +++ b/arch/arm/boot/dts/amlogic/mesong12a_skt-panel.dtsi @@ -18,7 +18,6 @@ / { lcd:lcd{ compatible = "amlogic, lcd-g12a"; - dev_name = "lcd"; mode = "tablet"; status = "okay"; key_valid = <0>; @@ -48,9 +47,9 @@ * power value:(0=output low, 1=output high, 2=input) * power delay:(unit in ms) */ - lcd_cpu-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH - &gpio GPIOH_7 GPIO_ACTIVE_HIGH>; - lcd_cpu_gpio_names = "GPIOH_4","GPIOH_7"; + 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"; @@ -79,15 +78,15 @@ /* dsi_init: data_type, num, data... */ dsi_init_on = <0x05 1 0x11 - 0xff 20 /*delay(ms)*/ + 0xfd 1 20 /*delay(ms)*/ 0x05 1 0x29 - 0xff 20 /*delay(ms)*/ - 0xff 0xff>; /*ending*/ + 0xfd 1 20 /*delay(ms)*/ + 0xff 0>; /*ending*/ dsi_init_off = <0x05 1 0x28 - 0xff 10 /*delay(ms)*/ + 0xfd 1 10 /*delay(ms)*/ 0x05 1 0x10 - 0xff 10 /*delay(ms)*/ - 0xff 0xff>; /*ending*/ + 0xfd 1 10 /*delay(ms)*/ + 0xff 0>; /*ending*/ extern_init = <0xff>; /*0xff for invalid*/ /* power step: type, index, value, delay(ms) */ @@ -136,8 +135,8 @@ 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 */ + 0xff 0>; /* ending flag */ + dsi_init_off = <0xff 0>; /* ending flag */ /* extern_init: 0xff for invalid */ extern_init = <1>; /* power step: type,index,value,delay(ms) */ @@ -184,8 +183,8 @@ 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 */ + 0xff 0>; /* ending flag */ + dsi_init_off = <0xff 0>; /* ending flag */ /* extern_init: 0xff for invalid */ extern_init = <2>; /* power step: type,index,value,delay(ms) */ @@ -226,8 +225,8 @@ 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 */ + dsi_init_on = <0xff 0>; /* ending flag */ + dsi_init_off = <0xff 0>; /* ending flag */ /* extern_init: 0xff for invalid */ extern_init = <3>; /* power step: type,index,value,delay(ms) */ @@ -273,15 +272,15 @@ /* dsi_init: data_type, num, data... */ dsi_init_on = <0x05 1 0x11 - 0xff 20 /*delay(ms)*/ + 0xfd 1 20 /*delay(ms)*/ 0x05 1 0x29 - 0xff 20 /*delay(ms)*/ - 0xff 0xff>; /*ending*/ + 0xfd 1 20 /*delay(ms)*/ + 0xff 0>; /*ending*/ dsi_init_off = <0x05 1 0x28 - 0xff 10 /*delay(ms)*/ + 0xfd 1 10 /*delay(ms)*/ 0x05 1 0x10 - 0xff 10 /*delay(ms)*/ - 0xff 0xff>; /*ending*/ + 0xfd 1 10 /*delay(ms)*/ + 0xff 0>; /*ending*/ extern_init = <0xff>; /*0xff for invalid*/ /* power step: type, index, value, delay(ms) */ @@ -330,8 +329,8 @@ 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 */ + 0xff 0>; /* ending flag */ + dsi_init_off = <0xff 0>; /* ending flag */ /* extern_init: 0xff for invalid */ extern_init = <4>; /* power step: type,index,value,delay(ms) */ @@ -378,8 +377,8 @@ 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 */ + 0xff 0>; /* ending flag */ + dsi_init_off = <0xff 0>; /* ending flag */ /* extern_init: 0xff for invalid */ extern_init = <5>; /* power step: type,index,value,delay(ms) */ @@ -438,11 +437,55 @@ 0xff 0 0 0>; backlight_index = <0>; }; + + lcd_8{ + model_name = "TL070HDV03CT"; + interface = "mipi"; + basic_setting = <720 1280 /*h_active, v_active*/ + 970 1364 /*h_period, v_period*/ + 8 /*lcd_bits*/ + 87 154>; /*screen_widht, screen_height*/ + lcd_timing = <10 120 0 /*hs_width, hs_bp, hs_pol*/ + 4 40 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*/ + 79385000>; /*pixel_clk(unit in Hz)*/ + mipi_attr = <4 /*lane_num*/ + 500 /*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 0>; /*ending*/ + dsi_init_off = <0xff 0>; /*ending*/ + extern_init = <7>; /*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"; i2c_bus = "i2c_bus_0"; key_valid = <0>; @@ -454,17 +497,17 @@ type = <2>; /* 0=i2c, 1=spi, 2=mipi */ cmd_size = <0xff>; init_on = < - 0xff 10 + 0xfd 1 10 0x05 1 0x11 - 0xff 120 /* delay 120ms */ + 0xfd 1 120 /* delay 120ms */ 0x05 1 0x29 - 0xff 0xff>; /*ending*/ + 0xff 0>; /*ending*/ init_off = < 0x05 1 0x28 /* display off */ - 0xff 10 /* delay 10ms */ + 0xfd 1 10 /* delay 10ms */ 0x05 1 0x10 /* sleep in */ - 0xff 150 /* delay 150ms */ - 0xff 0xff>; /*ending*/ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ }; extern_1{ @@ -474,14 +517,14 @@ type = <2>; /* 0=i2c, 1=spi, 2=mipi */ cmd_size = <0xff>; init_on = < - 0xff 10 + 0xfd 1 10 0x15 2 0x62 0x01 0x39 5 0xff 0xaa 0x55 0x25 0x01 0x15 2 0xfc 0x08 - 0xff 1 /* delay */ + 0xfd 1 1 /* delay */ 0x15 2 0xfc 0x00 0x39 5 0xff 0xaa 0x55 0x25 0x00 - 0xff 20 /* delay */ + 0xfd 1 20 /* delay */ 0x39 6 0xf0 0x55 0xaa 0x52 0x08 0x00 0x39 3 0xb1 0x68 0x41 0x15 2 0xb5 0x88 @@ -610,16 +653,16 @@ 0x15 2 0x53 0x2C 0x15 2 0x55 0x03 0x05 1 0x11 - 0xff 120 /* delay 120ms */ + 0xfd 1 120 /* delay 120ms */ 0x05 1 0x29 - 0xff 130 /* delay 130ms */ - 0xFF 0xFF>; /*ending*/ + 0xfd 1 130 /* delay 130ms */ + 0xFF 0>; /*ending*/ init_off = < 0x05 1 0x28 /* display off */ - 0xff 10 /* delay 10ms */ + 0xfd 1 10 /* delay 10ms */ 0x05 1 0x10 /* sleep in */ - 0xff 150 /* delay 150ms */ - 0xff 0xff>; /*ending*/ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ }; extern_2{ @@ -631,19 +674,19 @@ init_on = < 0x29 5 0xFF 0xAA 0x55 0x25 0x01 0x23 2 0xFC 0x08 - 0xFF 1 /* delay(ms) */ + 0xfd 1 1 /* delay(ms) */ 0x23 2 0xFC 0x00 - 0xFF 1 /* delay(ms) */ + 0xfd 1 1 /* delay(ms) */ 0x23 2 0x6F 0x21 0x23 2 0xF7 0x01 - 0xFF 1 /* delay(ms) */ + 0xfd 1 1 /* delay(ms) */ 0x23 2 0x6F 0x21 0x23 2 0xF7 0x00 - 0xFF 1 /* delay(ms) */ + 0xfd 1 1 /* delay(ms) */ 0x23 2 0x6F 0x1A 0x23 2 0xF7 0x05 - 0xFF 1 /* delay(ms) */ + 0xfd 1 1 /* delay(ms) */ 0x29 5 0xFF 0xAA 0x55 0x25 0x00 @@ -785,16 +828,16 @@ 0x13 1 0x35 0x13 1 0x11 - 0xFF 120 /* delay(ms) */ + 0xfd 1 120 /* delay(ms) */ 0x13 1 0x29 - 0xFF 20 /* delay(ms) */ - 0xFF 0xFF>; /*ending*/ + 0xfd 1 20 /* delay(ms) */ + 0xFF 0>; /*ending*/ init_off = < 0x05 1 0x28 /* display off */ - 0xff 10 /* delay 10ms */ + 0xfd 1 10 /* delay 10ms */ 0x05 1 0x10 /* sleep in */ - 0xff 150 /* delay 150ms */ - 0xff 0xff>; /*ending*/ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ }; extern_3{ @@ -926,16 +969,16 @@ 0x23 2 0xBE 0x50 0x23 2 0x35 0x00 0x13 1 0x11 - 0xff 200 + 0xfd 1 200 0x13 1 0x29 - 0xff 200 - 0xFF 0xFF>; /*ending*/ + 0xfd 1 200 + 0xFF 0>; /*ending*/ init_off = < 0x05 1 0x28 /* display off */ - 0xff 10 /* delay 10ms */ + 0xfd 1 10 /* delay 10ms */ 0x05 1 0x10 /* sleep in */ - 0xff 150 /* delay 150ms */ - 0xff 0xff>; /*ending*/ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ }; extern_4{ @@ -1119,7 +1162,7 @@ 0x23 2 0xE6 0x02 0x23 2 0xE7 0x0C 0x05 1 0x11 - 0xff 120 /* delay 120ms */ + 0xfd 1 120 /* delay 120ms */ 0x23 2 0xE0 0x03 0x23 2 0x2B 0x01 @@ -1230,14 +1273,14 @@ 0x23 2 0x97 0x00 0x23 2 0xE0 0x00 0x05 1 0x29 - 0xff 5 /* delay 130ms */ - 0xFF 0xFF>; /*ending*/ + 0xfd 1 5 /* delay 130ms */ + 0xFF 0>; /*ending*/ init_off = < 0x05 1 0x28 /* display off */ - 0xff 10 /* delay 10ms */ + 0xfd 1 10 /* delay 10ms */ 0x05 1 0x10 /* sleep in */ - 0xff 150 /* delay 150ms */ - 0xff 0xff>; /*ending*/ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ }; extern_5{ @@ -1465,17 +1508,17 @@ 0x23 2 0xE6 0x02 /* Watch dog */ 0x23 2 0xE7 0x0C 0x05 1 0x11 /* sleep out */ - 0xff 120 + 0xfd 1 120 0x05 1 0x29 /* display on */ 0x05 1 0x35 - 0xFF 20 /* delay(ms) */ - 0xFF 0xFF>; /*ending*/ + 0xfd 1 20 /* delay(ms) */ + 0xFF 0>; /*ending*/ init_off = < 0x05 1 0x28 /* display off */ - 0xff 10 /* delay 10ms */ + 0xfd 1 10 /* delay 10ms */ 0x05 1 0x10 /* sleep in */ - 0xff 150 /* delay 150ms */ - 0xff 0xff>; /*ending*/ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ }; extern_6{ index = <6>; @@ -1497,19 +1540,245 @@ 0xff 200 /* delay 50ms */ 0xff 0xff>; /*ending*/ }; + + extern_7{ + index = <7>; + extern_name = "mipi_default";/*TL070HDV03CT*/ + status = "okay"; + type = <2>; /* 0=i2c, 1=spi, 2=mipi */ + cmd_size = <0xff>; + init_on = < + 0x39 4 0xFF 0x98 0x81 0x03 + 0x15 2 0x01 0x00 + 0x15 2 0x02 0x00 + 0x15 2 0x03 0x72 + 0x15 2 0x04 0x00 + 0x15 2 0x05 0x00 + 0x15 2 0x06 0x09 + 0x15 2 0x07 0x00 + 0x15 2 0x08 0x00 + 0x15 2 0x09 0x01 + 0x15 2 0x0A 0x00 + 0x15 2 0x0B 0x00 + 0x15 2 0x0C 0x01 + 0x15 2 0x0D 0x00 + 0x15 2 0x0E 0x00 + 0x15 2 0x0F 0x14 + 0x15 2 0x10 0x14 + 0x15 2 0x11 0x00 + 0x15 2 0x12 0x00 + 0x15 2 0x13 0x00 + 0x15 2 0x14 0x00 + 0x15 2 0x15 0x00 + 0x15 2 0x16 0x00 + 0x15 2 0x17 0x00 + 0x15 2 0x18 0x00 + 0x15 2 0x19 0x00 + 0x15 2 0x1A 0x00 + 0x15 2 0x1B 0x00 + 0x15 2 0x1C 0x00 + 0x15 2 0x1D 0x00 + 0x15 2 0x1E 0x40 + 0x15 2 0x1F 0x80 + 0x15 2 0x20 0x05 + 0x15 2 0x21 0x02 + 0x15 2 0x22 0x00 + 0x15 2 0x23 0x00 + 0x15 2 0x24 0x00 + 0x15 2 0x25 0x00 + 0x15 2 0x26 0x00 + 0x15 2 0x27 0x00 + 0x15 2 0x28 0x33 + 0x15 2 0x29 0x02 + 0x15 2 0x2A 0x00 + 0x15 2 0x2B 0x00 + 0x15 2 0x2C 0x00 + 0x15 2 0x2D 0x00 + 0x15 2 0x2E 0x00 + 0x15 2 0x2F 0x00 + 0x15 2 0x30 0x00 + 0x15 2 0x31 0x00 + 0x15 2 0x32 0x00 + 0x15 2 0x33 0x00 + 0x15 2 0x34 0x04 + 0x15 2 0x35 0x00 + 0x15 2 0x36 0x00 + 0x15 2 0x37 0x00 + 0x15 2 0x38 0x3C + 0x15 2 0x39 0x00 + 0x15 2 0x3A 0x00 + 0x15 2 0x3B 0x00 + 0x15 2 0x3C 0x00 + 0x15 2 0x3D 0x00 + 0x15 2 0x3E 0x00 + 0x15 2 0x3F 0x00 + 0x15 2 0x40 0x00 + 0x15 2 0x41 0x00 + 0x15 2 0x42 0x00 + 0x15 2 0x43 0x00 + 0x15 2 0x44 0x00 + + 0x15 2 0x50 0x10 + 0x15 2 0x51 0x32 + 0x15 2 0x52 0x54 + 0x15 2 0x53 0x76 + 0x15 2 0x54 0x98 + 0x15 2 0x55 0xBA + 0x15 2 0x56 0x10 + 0x15 2 0x57 0x32 + 0x15 2 0x58 0x54 + 0x15 2 0x59 0x76 + 0x15 2 0x5A 0x98 + 0x15 2 0x5B 0xBA + 0x15 2 0x5C 0xDC + 0x15 2 0x5D 0xFE + 0x15 2 0x5E 0x00 + 0x15 2 0x5F 0x0E + 0x15 2 0x60 0x0F + 0x15 2 0x61 0x0C + 0x15 2 0x62 0x0D + 0x15 2 0x63 0x06 + 0x15 2 0x64 0x07 + 0x15 2 0x65 0x02 + 0x15 2 0x66 0x02 + 0x15 2 0x67 0x02 + 0x15 2 0x68 0x02 + 0x15 2 0x69 0x01 + 0x15 2 0x6A 0x00 + 0x15 2 0x6B 0x02 + 0x15 2 0x6C 0x15 + 0x15 2 0x6D 0x14 + 0x15 2 0x6E 0x02 + 0x15 2 0x6F 0x02 + 0x15 2 0x70 0x02 + 0x15 2 0x71 0x02 + 0x15 2 0x72 0x02 + 0x15 2 0x73 0x02 + 0x15 2 0x74 0x02 + 0x15 2 0x75 0x0E + 0x15 2 0x76 0x0F + 0x15 2 0x77 0x0C + 0x15 2 0x78 0x0D + 0x15 2 0x79 0x06 + 0x15 2 0x7A 0x07 + 0x15 2 0x7B 0x02 + 0x15 2 0x7C 0x02 + 0x15 2 0x7D 0x02 + 0x15 2 0x7E 0x02 + 0x15 2 0x7F 0x01 + 0x15 2 0x80 0x00 + 0x15 2 0x81 0x02 + 0x15 2 0x82 0x14 + 0x15 2 0x83 0x15 + 0x15 2 0x84 0x02 + 0x15 2 0x85 0x02 + 0x15 2 0x86 0x02 + 0x15 2 0x87 0x02 + 0x15 2 0x88 0x02 + 0x15 2 0x89 0x02 + 0x15 2 0x8A 0x02 + + 0x39 4 0xFF 0x98 0x81 0x04 + 0x15 2 0x6C 0x15 + 0x15 2 0x6E 0x2A + 0x15 2 0x6F 0x33 /* 33 */ + 0x15 2 0x3A 0x94 + 0x15 2 0x8D 0x14 + 0x15 2 0x87 0xBA + 0x15 2 0x26 0x76 + 0x15 2 0xB2 0xD1 + 0x15 2 0xB5 0x06 + + 0x39 4 0xFF 0x98 0x81 0x01 + 0x15 2 0x22 0x02 /* xiugai RGB */ + 0x15 2 0x31 0x00 /* dot inv */ + /*0x15 2 0x52 0x00*/ + 0x15 2 0x53 0x72 /* vcom */ + /*0x15 2 0x54 0x00 // vcom */ + 0x15 2 0x55 0x88 + + 0x15 2 0x40 0x33 + + 0x15 2 0x50 0x96 + 0x15 2 0x51 0x96 + + 0x15 2 0x60 0x08 + + 0x15 2 0xA0 0x08 /* GAMMA P */ + 0x15 2 0xA1 0x1D + 0x15 2 0xA2 0x2A + 0x15 2 0xA3 0x10 + 0x15 2 0xA4 0x15 + 0x15 2 0xA5 0x28 + 0x15 2 0xA6 0x1C + 0x15 2 0xA7 0x1D + 0x15 2 0xA8 0x7E + 0x15 2 0xA9 0x1D + 0x15 2 0xAA 0x29 + 0x15 2 0xAB 0x6B + 0x15 2 0xAC 0x1A + 0x15 2 0xAD 0x18 + 0x15 2 0xAE 0x4B + 0x15 2 0xAF 0x20 + 0x15 2 0xB0 0x27 + 0x15 2 0xB1 0x50 + 0x15 2 0xB2 0x64 + 0x15 2 0xB3 0x39 + + 0x15 2 0xC0 0x08 /* GAMMA N */ + 0x15 2 0xC1 0x1D + 0x15 2 0xC2 0x2A + 0x15 2 0xC3 0x10 + 0x15 2 0xC4 0x15 + 0x15 2 0xC5 0x28 + 0x15 2 0xC6 0x1C + 0x15 2 0xC7 0x1D + 0x15 2 0xC8 0x7E + 0x15 2 0xC9 0x1D + 0x15 2 0xCA 0x29 + 0x15 2 0xCB 0x6B + 0x15 2 0xCC 0x1A + 0x15 2 0xCD 0x18 + 0x15 2 0xCE 0x4B + 0x15 2 0xCF 0x20 + 0x15 2 0xD0 0x27 + 0x15 2 0xD1 0x50 + 0x15 2 0xD2 0x64 + 0x15 2 0xD3 0x39 + + 0x39 4 0xFF 0x98 0x81 0x00 + + 0x15 2 0x3A 0x77 + 0xfd 1 2 + + 0x15 2 0x36 0x08 + + 0x05 1 0x11 /* display on */ + 0xfd 1 200 + + 0x05 1 0x29 /* display on */ + 0xfd 1 200 + 0xFF 0>; /*ending*/ + init_off = < + 0x05 1 0x28 /* display off */ + 0xfd 1 10 /* delay 10ms */ + 0x05 1 0x10 /* sleep in */ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ + }; }; backlight{ compatible = "amlogic, backlight-g12a"; - 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_5 GPIO_ACTIVE_HIGH>; - bl_gpio_names = "GPIOH_5"; + 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) @@ -1524,15 +1793,14 @@ 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_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 = <1 /*pwm_method*/ - /*180pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/ - 25000 + 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 = <0 0 /*pwm_gpio_index, pwm_gpio_off*/ + 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 */ }; @@ -1558,7 +1826,6 @@ bl_extern{ compatible = "amlogic, bl_extern"; - dev_name = "bl_extern"; status = "disabled"; i2c_bus = "i2c_bus_3"; diff --git a/arch/arm64/boot/dts/amlogic/mesong12a_skt-panel.dtsi b/arch/arm64/boot/dts/amlogic/mesong12a_skt-panel.dtsi index 6bc89e08f9a7..9256525a00e8 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12a_skt-panel.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12a_skt-panel.dtsi @@ -47,9 +47,9 @@ * power value:(0=output low, 1=output high, 2=input) * power delay:(unit in ms) */ - lcd_cpu-gpios = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH - &gpio GPIOH_7 GPIO_ACTIVE_HIGH>; - lcd_cpu_gpio_names = "GPIOH_4","GPIOH_7"; + 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"; @@ -437,6 +437,51 @@ 0xff 0 0 0>; backlight_index = <0>; }; + + lcd_8{ + model_name = "TL070HDV03CT"; + interface = "mipi"; + basic_setting = <720 1280 /*h_active, v_active*/ + 970 1364 /*h_period, v_period*/ + 8 /*lcd_bits*/ + 87 154>; /*screen_widht, screen_height*/ + lcd_timing = <10 120 0 /*hs_width, hs_bp, hs_pol*/ + 4 40 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*/ + 79385000>; /*pixel_clk(unit in Hz)*/ + mipi_attr = <4 /*lane_num*/ + 500 /*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 0>; /*ending*/ + dsi_init_off = <0xff 0>; /*ending*/ + extern_init = <7>; /*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{ @@ -1495,6 +1540,232 @@ 0xff 200 /* delay 50ms */ 0xff 0xff>; /*ending*/ }; + + extern_7{ + index = <7>; + extern_name = "mipi_default";/*TL070HDV03CT*/ + status = "okay"; + type = <2>; /* 0=i2c, 1=spi, 2=mipi */ + cmd_size = <0xff>; + init_on = < + 0x39 4 0xFF 0x98 0x81 0x03 + 0x15 2 0x01 0x00 + 0x15 2 0x02 0x00 + 0x15 2 0x03 0x72 + 0x15 2 0x04 0x00 + 0x15 2 0x05 0x00 + 0x15 2 0x06 0x09 + 0x15 2 0x07 0x00 + 0x15 2 0x08 0x00 + 0x15 2 0x09 0x01 + 0x15 2 0x0A 0x00 + 0x15 2 0x0B 0x00 + 0x15 2 0x0C 0x01 + 0x15 2 0x0D 0x00 + 0x15 2 0x0E 0x00 + 0x15 2 0x0F 0x14 + 0x15 2 0x10 0x14 + 0x15 2 0x11 0x00 + 0x15 2 0x12 0x00 + 0x15 2 0x13 0x00 + 0x15 2 0x14 0x00 + 0x15 2 0x15 0x00 + 0x15 2 0x16 0x00 + 0x15 2 0x17 0x00 + 0x15 2 0x18 0x00 + 0x15 2 0x19 0x00 + 0x15 2 0x1A 0x00 + 0x15 2 0x1B 0x00 + 0x15 2 0x1C 0x00 + 0x15 2 0x1D 0x00 + 0x15 2 0x1E 0x40 + 0x15 2 0x1F 0x80 + 0x15 2 0x20 0x05 + 0x15 2 0x21 0x02 + 0x15 2 0x22 0x00 + 0x15 2 0x23 0x00 + 0x15 2 0x24 0x00 + 0x15 2 0x25 0x00 + 0x15 2 0x26 0x00 + 0x15 2 0x27 0x00 + 0x15 2 0x28 0x33 + 0x15 2 0x29 0x02 + 0x15 2 0x2A 0x00 + 0x15 2 0x2B 0x00 + 0x15 2 0x2C 0x00 + 0x15 2 0x2D 0x00 + 0x15 2 0x2E 0x00 + 0x15 2 0x2F 0x00 + 0x15 2 0x30 0x00 + 0x15 2 0x31 0x00 + 0x15 2 0x32 0x00 + 0x15 2 0x33 0x00 + 0x15 2 0x34 0x04 + 0x15 2 0x35 0x00 + 0x15 2 0x36 0x00 + 0x15 2 0x37 0x00 + 0x15 2 0x38 0x3C + 0x15 2 0x39 0x00 + 0x15 2 0x3A 0x00 + 0x15 2 0x3B 0x00 + 0x15 2 0x3C 0x00 + 0x15 2 0x3D 0x00 + 0x15 2 0x3E 0x00 + 0x15 2 0x3F 0x00 + 0x15 2 0x40 0x00 + 0x15 2 0x41 0x00 + 0x15 2 0x42 0x00 + 0x15 2 0x43 0x00 + 0x15 2 0x44 0x00 + + 0x15 2 0x50 0x10 + 0x15 2 0x51 0x32 + 0x15 2 0x52 0x54 + 0x15 2 0x53 0x76 + 0x15 2 0x54 0x98 + 0x15 2 0x55 0xBA + 0x15 2 0x56 0x10 + 0x15 2 0x57 0x32 + 0x15 2 0x58 0x54 + 0x15 2 0x59 0x76 + 0x15 2 0x5A 0x98 + 0x15 2 0x5B 0xBA + 0x15 2 0x5C 0xDC + 0x15 2 0x5D 0xFE + 0x15 2 0x5E 0x00 + 0x15 2 0x5F 0x0E + 0x15 2 0x60 0x0F + 0x15 2 0x61 0x0C + 0x15 2 0x62 0x0D + 0x15 2 0x63 0x06 + 0x15 2 0x64 0x07 + 0x15 2 0x65 0x02 + 0x15 2 0x66 0x02 + 0x15 2 0x67 0x02 + 0x15 2 0x68 0x02 + 0x15 2 0x69 0x01 + 0x15 2 0x6A 0x00 + 0x15 2 0x6B 0x02 + 0x15 2 0x6C 0x15 + 0x15 2 0x6D 0x14 + 0x15 2 0x6E 0x02 + 0x15 2 0x6F 0x02 + 0x15 2 0x70 0x02 + 0x15 2 0x71 0x02 + 0x15 2 0x72 0x02 + 0x15 2 0x73 0x02 + 0x15 2 0x74 0x02 + 0x15 2 0x75 0x0E + 0x15 2 0x76 0x0F + 0x15 2 0x77 0x0C + 0x15 2 0x78 0x0D + 0x15 2 0x79 0x06 + 0x15 2 0x7A 0x07 + 0x15 2 0x7B 0x02 + 0x15 2 0x7C 0x02 + 0x15 2 0x7D 0x02 + 0x15 2 0x7E 0x02 + 0x15 2 0x7F 0x01 + 0x15 2 0x80 0x00 + 0x15 2 0x81 0x02 + 0x15 2 0x82 0x14 + 0x15 2 0x83 0x15 + 0x15 2 0x84 0x02 + 0x15 2 0x85 0x02 + 0x15 2 0x86 0x02 + 0x15 2 0x87 0x02 + 0x15 2 0x88 0x02 + 0x15 2 0x89 0x02 + 0x15 2 0x8A 0x02 + + 0x39 4 0xFF 0x98 0x81 0x04 + 0x15 2 0x6C 0x15 + 0x15 2 0x6E 0x2A + 0x15 2 0x6F 0x33 /* 33 */ + 0x15 2 0x3A 0x94 + 0x15 2 0x8D 0x14 + 0x15 2 0x87 0xBA + 0x15 2 0x26 0x76 + 0x15 2 0xB2 0xD1 + 0x15 2 0xB5 0x06 + + 0x39 4 0xFF 0x98 0x81 0x01 + 0x15 2 0x22 0x02 /* xiugai RGB */ + 0x15 2 0x31 0x00 /* dot inv */ + /*0x15 2 0x52 0x00*/ + 0x15 2 0x53 0x72 /* vcom */ + /*0x15 2 0x54 0x00 // vcom */ + 0x15 2 0x55 0x88 + + 0x15 2 0x40 0x33 + + 0x15 2 0x50 0x96 + 0x15 2 0x51 0x96 + + 0x15 2 0x60 0x08 + + 0x15 2 0xA0 0x08 /* GAMMA P */ + 0x15 2 0xA1 0x1D + 0x15 2 0xA2 0x2A + 0x15 2 0xA3 0x10 + 0x15 2 0xA4 0x15 + 0x15 2 0xA5 0x28 + 0x15 2 0xA6 0x1C + 0x15 2 0xA7 0x1D + 0x15 2 0xA8 0x7E + 0x15 2 0xA9 0x1D + 0x15 2 0xAA 0x29 + 0x15 2 0xAB 0x6B + 0x15 2 0xAC 0x1A + 0x15 2 0xAD 0x18 + 0x15 2 0xAE 0x4B + 0x15 2 0xAF 0x20 + 0x15 2 0xB0 0x27 + 0x15 2 0xB1 0x50 + 0x15 2 0xB2 0x64 + 0x15 2 0xB3 0x39 + + 0x15 2 0xC0 0x08 /* GAMMA N */ + 0x15 2 0xC1 0x1D + 0x15 2 0xC2 0x2A + 0x15 2 0xC3 0x10 + 0x15 2 0xC4 0x15 + 0x15 2 0xC5 0x28 + 0x15 2 0xC6 0x1C + 0x15 2 0xC7 0x1D + 0x15 2 0xC8 0x7E + 0x15 2 0xC9 0x1D + 0x15 2 0xCA 0x29 + 0x15 2 0xCB 0x6B + 0x15 2 0xCC 0x1A + 0x15 2 0xCD 0x18 + 0x15 2 0xCE 0x4B + 0x15 2 0xCF 0x20 + 0x15 2 0xD0 0x27 + 0x15 2 0xD1 0x50 + 0x15 2 0xD2 0x64 + 0x15 2 0xD3 0x39 + + 0x39 4 0xFF 0x98 0x81 0x00 + + 0x15 2 0x3A 0x77 + 0xfd 1 2 + + 0x15 2 0x36 0x08 + + 0x05 1 0x11 /* display on */ + 0xfd 1 200 + + 0x05 1 0x29 /* display on */ + 0xfd 1 200 + 0xFF 0>; /*ending*/ + init_off = < + 0x05 1 0x28 /* display off */ + 0xfd 1 10 /* delay 10ms */ + 0x05 1 0x10 /* sleep in */ + 0xfd 1 150 /* delay 150ms */ + 0xff 0>; /*ending*/ + }; }; backlight{ @@ -1505,8 +1776,9 @@ pinctrl-0 = <&pwm_f_pins2>; pinctrl_version = <2>; /* for uboot */ bl_pwm_config = <&bl_pwm_conf>; - bl-gpios = <&gpio GPIOH_5 GPIO_ACTIVE_HIGH>; - bl_gpio_names = "GPIOH_5"; + 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) @@ -1521,15 +1793,14 @@ 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_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 = <1 /*pwm_method*/ - /*180pwm_freq(pwm:Hz, pwm_vs:multiple of vs)*/ - 25000 + 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 = <0 0 /*pwm_gpio_index, pwm_gpio_off*/ + 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 */ };