页次: 1
设备树:
lcd0_1: lcd0_1@01c0c00f {
lcd_used = <1>;
lcd_driver_name = "NV3052_BV055HDL_NB6_720X1280";
lcd_backlight = <50>;
lcd_if = <4>;
lcd_x = <720>;
lcd_y = <1280>;
lcd_width = <108>;
lcd_height = <172>;
lcd_dclk_freq = <64>;
lcd_pwm_used = <0>;
lcd_pwm_ch = <0>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <1>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <44>;
lcd_ht = <814>;
lcd_hspw = <4>;
lcd_vbp = <14>;
lcd_vt = <1314>;
lcd_vspw = <4>;
lcd_frm = <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_dsi_format = <0>;
lcd_dsi_te = <0>;
lcd_dsi_eotp = <0>;
//lcd_pin_power = "dcdc1";
lcd_power = "cldo4";
lcd_power1 = "cldo3";
lcd_power2 = "cldo1";
lcd_gpio_0 = <&pio PD 22 1 0 3 1>; /* RESET - gpio_index=0 */
lcd_gpio_1 = <&pio PB 7 1 0 3 1>; /* 1.8V - gpio_index=1 */
lcd_gpio_2 = <&pio PB 5 1 0 3 1>; /* 3.3V - gpio_index=2 */
lcd_gpio_3 = <&pio PB 6 1 0 3 1>; /* VSP/VSN - gpio_index=3 */
pinctrl-0 = <&dsi4lane_pins_a>;
pinctrl-1 = <&dsi4lane_pins_b>;
//lcd_bl_en = <&pio PD 23 1 0 3 1>;
lcd_bl_0_percent = <15>;
lcd_bl_100_percent = <100>;
};kerne的驱动:
/*
* Allwinner SoCs display driver.
*
* Copyright (c) 2020 Allwinnertech Co., Ltd.
*
* Author: libairong <libairong@allwinnertech.com>
*
* NV3052_BV055HDL_NB6_720X1280 panel driver
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#include "NV3052_BV055HDL_NB6_720X1280.h"
#include "panels.h"
static void LCD_power_on(u32 sel);
static void LCD_power_off(u32 sel);
static void LCD_bl_open(u32 sel);
static void LCD_bl_close(u32 sel);
static void LCD_panel_init(u32 sel);
static void LCD_panel_exit(u32 sel);
#define panel_reset(val) sunxi_lcd_gpio_set_value(sel, 0, val) /* PD22 - RESET */
#define power_1v8(val) sunxi_lcd_gpio_set_value(sel, 1, val) /* PB7 - 1.8V */
#define power_3v3(val) sunxi_lcd_gpio_set_value(sel, 2, val) /* PB5 - 3.3V */
#define power_vspvsn(val) sunxi_lcd_gpio_set_value(sel, 3, val) /* PB6 - VSP/VSN */
static void
LCD_cfg_panel_info(struct panel_extend_para *info)
{
printk("[LCD] %s: enter\n", __func__);
u32 i = 0, j = 0;
u32 items;
u8 lcd_gamma_tbl[][2] = {
{0, 0},
{15, 15},
{30, 30},
{45, 45},
{60, 60},
{75, 75},
{90, 90},
{105, 105},
{120, 120},
{135, 135},
{150, 150},
{165, 165},
{180, 180},
{195, 195},
{210, 210},
{225, 225},
{240, 240},
{255, 255},
};
u32 lcd_cmap_tbl[2][3][4] = {
{
{LCD_CMAP_G0, LCD_CMAP_B1, LCD_CMAP_G2, LCD_CMAP_B3},
{LCD_CMAP_B0, LCD_CMAP_R1, LCD_CMAP_B2, LCD_CMAP_R3},
{LCD_CMAP_R0, LCD_CMAP_G1, LCD_CMAP_R2, LCD_CMAP_G3},
},
{
{LCD_CMAP_B3, LCD_CMAP_G2, LCD_CMAP_B1, LCD_CMAP_G0},
{LCD_CMAP_R3, LCD_CMAP_B2, LCD_CMAP_R1, LCD_CMAP_B0},
{LCD_CMAP_G3, LCD_CMAP_R2, LCD_CMAP_G1, LCD_CMAP_R0},
},
};
items = sizeof(lcd_gamma_tbl) / 2;
for (i = 0; i < items - 1; i++) {
u32 num = lcd_gamma_tbl[i + 1][0] - lcd_gamma_tbl[0];
for (j = 0; j < num; j++) {
u32 value = 0;
value = lcd_gamma_tbl[1] + ((lcd_gamma_tbl[i + 1][1]
- lcd_gamma_tbl[1]) * j) / num;
info->lcd_gamma_tbl[lcd_gamma_tbl[0] + j] =
(value << 16) + (value << 8) + value;
}
}
info->lcd_gamma_tbl[255] = (lcd_gamma_tbl[items - 1][1] << 16)
+ (lcd_gamma_tbl[items - 1][1] << 8)
+ lcd_gamma_tbl[items - 1][1];
memcpy(info->lcd_cmap_tbl, lcd_cmap_tbl, sizeof(lcd_cmap_tbl));
printk("[LCD] %s: exit\n", __func__);
}
static s32 LCD_open_flow(u32 sel)
{
printk("[LCD] %s: sel=%d\n", __func__, sel);
LCD_OPEN_FUNC(sel, LCD_power_on, 100); // open lcd power, and delay 50ms
LCD_OPEN_FUNC(sel, LCD_panel_init, 200); // open lcd power, than delay 200ms
LCD_OPEN_FUNC(sel, sunxi_lcd_tcon_enable, 50); // open lcd controller, and delay 100ms
LCD_OPEN_FUNC(sel, LCD_bl_open, 0); // open lcd backlight, and delay 0ms
return 0;
}
static s32 LCD_close_flow(u32 sel)
{
printk("LCD_close_flow\n");
LCD_CLOSE_FUNC(sel, LCD_bl_close, 200); // close lcd backlight, and delay 0ms
LCD_CLOSE_FUNC(sel, sunxi_lcd_tcon_disable, 20); // close lcd controller, and delay 0ms
LCD_CLOSE_FUNC(sel, LCD_panel_exit, 10); // open lcd power, than delay 200ms
LCD_CLOSE_FUNC(sel, LCD_power_off, 500); // close lcd power, and delay 500ms
return 0;
}
static void LCD_power_on(u32 sel)
{
printk("LCD_power_on\n");
panel_reset(0);
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_enable(sel, 0); // config lcd_power pin to open lcd power
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_enable(sel, 1); // config lcd_power pin to open lcd power1
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_enable(sel, 2); // config lcd_power pin to open lcd power2
sunxi_lcd_delay_ms(5);
panel_reset(0);
power_vspvsn(0);
power_1v8(0);
sunxi_lcd_delay_ms(50);
power_3v3(1);
power_1v8(1);
sunxi_lcd_delay_ms(10);
power_vspvsn(1);
panel_reset(1);
sunxi_lcd_delay_ms(50);
panel_reset(0);
sunxi_lcd_delay_ms(50);
panel_reset(1);
sunxi_lcd_delay_ms(50);
sunxi_lcd_pin_cfg(sel, 1);
}
static void LCD_power_off(u32 sel)
{
printk("LCD_power_off\n");
sunxi_lcd_pin_cfg(sel, 0);
power_vspvsn(0);
power_1v8(0);
power_3v3(0);
sunxi_lcd_delay_ms(20);
panel_reset(0);
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_disable(sel, 2); // config lcd_power pin to close lcd power2
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_disable(sel, 1); // config lcd_power pin to close lcd power1
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_disable(sel, 0); // config lcd_power pin to close lcd power
}
static void LCD_bl_open(u32 sel)
{
printk("[LCD] %s: PWM enable\n", __func__);
sunxi_lcd_pwm_enable(sel);
sunxi_lcd_delay_ms(50);
sunxi_lcd_backlight_enable(sel); // config lcd_bl_en pin to open lcd backlight
}
static void LCD_bl_close(u32 sel)
{
printk("LCD_bl_close\n");
sunxi_lcd_backlight_disable(sel); // config lcd_bl_en pin to close lcd backlight
sunxi_lcd_pwm_disable(sel);
}
#define REGFLAG_DELAY 0XFE
#define REGFLAG_END_OF_TABLE 0xFD // END OF REGISTERS MARKER
struct LCM_setting_table {
u8 cmd;
u32 count;
u8 para_list[64];
};
/* add panel initialization below */
static struct LCM_setting_table lcm_initialization_setting[] = {
//----------NV305F+BOE5.5(BV055HDL-NB6) Initial------------------
{REGFLAG_DELAY, REGFLAG_DELAY, {120}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x01}},
{0xE3,0x01,{0x04}},
{0x08,0x01,{0x0e}},
{0x25,0x01,{0x10}},
{0x28,0x01,{0x5F}},
{0x2C,0x01,{0x22}},
{0x30,0x01,{0x58}},
{0x45,0x01,{0x91}},
{0x37,0x01,{0x9C}},
{0x38,0x01,{0xA7}},
{0x39,0x01,{0x27}},
{0x44,0x01,{0x00}},
{0x49,0x01,{0x1C}},
{0x59,0x01,{0xFE}},
{0x5C,0x01,{0x00}},
{0x91,0x01,{0x77}},
{0x92,0x01,{0x77}},
{0xA0,0x01,{0x55}},
{0xA1,0x01,{0x50}},
{0xA3,0x01,{0x58}},
{0xA4,0x01,{0x9C}},
{0xA7,0x01,{0x02}},
{0xA8,0x01,{0x01}},
{0xA9,0x01,{0x01}},
{0xAA,0x01,{0xFC}},
{0xAB,0x01,{0x28}},
{0xAC,0x01,{0x06}},
{0xAD,0x01,{0x06}},
{0xAE,0x01,{0x06}},
{0xAF,0x01,{0x03}},
{0xB0,0x01,{0x08}},
{0xB1,0x01,{0x26}},
{0xB2,0x01,{0x28}},
{0xB3,0x01,{0x28}},
{0xB4,0x01,{0x03}},
{0xB5,0x01,{0x08}},
{0xB6,0x01,{0x26}},
{0xB7,0x01,{0x08}},
{0xB8,0x01,{0x26}},
{0xc0,0x01,{0x00}},
{0xc1,0x01,{0x00}},
{0xc3,0x01,{0x0F}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x02}},
{0xB0,0x01,{0x00}},
{0xB1,0x01,{0x05}},
{0xB2,0x01,{0x02}},
{0xB3,0x01,{0x24}},
{0xB4,0x01,{0x25}},
{0xB5,0x01,{0x30}},
{0xB6,0x01,{0x0C}},
{0xB7,0x01,{0x27}},
{0xB8,0x01,{0x0F}},
{0xB9,0x01,{0x05}},
{0xBA,0x01,{0x11}},
{0xBB,0x01,{0x10}},
{0xBC,0x01,{0x11}},
{0xBD,0x01,{0x12}},
{0xBE,0x01,{0x17}},
{0xBF,0x01,{0x0C}},
{0xC0,0x01,{0x14}},
{0xC1,0x01,{0x0A}},
{0xD0,0x01,{0x08}},
{0xD1,0x01,{0x0F}},
{0xD2,0x01,{0x09}},
{0xD3,0x01,{0x35}},
{0xD4,0x01,{0x38}},
{0xD5,0x01,{0x3D}},
{0xD6,0x01,{0x1B}},
{0xD7,0x01,{0x3B}},
{0xD8,0x01,{0x0F}},
{0xD9,0x01,{0x05}},
{0xDA,0x01,{0x11}},
{0xDB,0x01,{0x10}},
{0xDC,0x01,{0x11}},
{0xDD,0x01,{0x14}},
{0xDE,0x01,{0x19}},
{0xDF,0x01,{0x11}},
{0xE0,0x01,{0x19}},
{0xE1,0x01,{0x09}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x03}},
{0x08,0x01,{0x8B}},
{0x09,0x01,{0x8A}},
{0x0A,0x01,{0x89}},
{0x0B,0x01,{0x88}},
{0x34,0x01,{0x61}},
{0x35,0x01,{0xD4}},
{0x36,0x01,{0x24}},
{0x37,0x01,{0x03}},
{0x40,0x01,{0x8B}},
{0x41,0x01,{0x8A}},
{0x42,0x01,{0x89}},
{0x43,0x01,{0x88}},
{0x45,0x01,{0x01}},
{0x46,0x01,{0x02}},
{0x48,0x01,{0x03}},
{0x49,0x01,{0x04}},
{0x50,0x01,{0x87}},
{0x51,0x01,{0x86}},
{0x52,0x01,{0x85}},
{0x53,0x01,{0x84}},
{0x55,0x01,{0x05}},
{0x56,0x01,{0x06}},
{0x58,0x01,{0x07}},
{0x59,0x01,{0x08}},
{0x80,0x01,{0x0F}},
{0x81,0x01,{0x0E}},
{0x82,0x01,{0x07}},
{0x83,0x01,{0x06}},
{0x84,0x01,{0x05}},
{0x85,0x01,{0x04}},
{0x92,0x01,{0x0E}},
{0x93,0x01,{0x0F}},
{0x94,0x01,{0x01}},
{0x95,0x01,{0x00}},
{0x96,0x01,{0x0F}},
{0x97,0x01,{0x0E}},
{0x98,0x01,{0x07}},
{0x99,0x01,{0x06}},
{0x9A,0x01,{0x05}},
{0x9B,0x01,{0x04}},
{0xA8,0x01,{0x0E}},
{0xA9,0x01,{0x0F}},
{0xAA,0x01,{0x01}},
{0xAB,0x01,{0x00}},
{0xE0,0x01,{0x02}},
{0xE1,0x01,{0x52}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x00}},
{0x35,0x01,{0x00}},
{0x36,0x01,{0x02}},
{0x53,0x01,{0x2C}},
{0x11, 0, {0x00}},
{REGFLAG_DELAY, REGFLAG_DELAY, {200}},
{0x29, 0, {0x00}},
{REGFLAG_DELAY, REGFLAG_DELAY, {100}},
{REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {0x00}}
};
static void LCD_panel_init(u32 sel)
{
printk("[LCD] %s: uboot, first cmd=0x%02X\n", __func__,
lcm_initialization_setting[0].cmd);
__u32 i;
char model_name[25];
disp_sys_script_get_item("lcd0", "lcd_model_name", (int *) model_name, 25);
sunxi_lcd_dsi_clk_enable(sel);
sunxi_lcd_delay_ms(20);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_SOFT_RESET);
sunxi_lcd_delay_ms(10);
for (i = 0; ; i++) {
if (lcm_initialization_setting.count == REGFLAG_END_OF_TABLE)
break;
else if (lcm_initialization_setting.count == REGFLAG_DELAY)
sunxi_lcd_delay_ms(lcm_initialization_setting.para_list[0]);
#ifdef SUPPORT_DSI
else
dsi_dcs_wr(sel, lcm_initialization_setting.cmd,
lcm_initialization_setting.para_list,
lcm_initialization_setting.count);
#endif
//break;
}
printk("[LCD] %s: finish\n", __func__);
return;
}
static void LCD_panel_exit(u32 sel)
{
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_SET_DISPLAY_OFF);
sunxi_lcd_delay_ms(20);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_ENTER_SLEEP_MODE);
sunxi_lcd_delay_ms(80);
return ;
}
// sel: 0:lcd0; 1:lcd1
static s32 LCD_user_defined_func(u32 sel, u32 para1, u32 para2, u32 para3)
{
return 0;
}
// sel: 0:lcd0; 1:lcd1
/*
* static s32 LCD_set_bright(u32 sel, u32 bright)
* {
* sunxi_lcd_dsi_dcs_write_1para(sel, 0x51, bright);
* return 0;
* }
*/
struct __lcd_panel NV3052_BV055HDL_NB6_720X1280_mipi_panel = {
/* panel driver name, must mach the name of lcd_drv_name in sys_config.fex */
.name = "NV3052_BV055HDL_NB6_720X1280",
.func = {
.cfg_panel_info = LCD_cfg_panel_info,
.cfg_open_flow = LCD_open_flow,
.cfg_close_flow = LCD_close_flow,
.lcd_user_defined_func = LCD_user_defined_func,
// .set_bright = LCD_set_bright,
},
};uboot的驱动:
/*
* Allwinner SoCs display driver.
*
* Copyright (c) 2020 Allwinnertech Co., Ltd.
*
* Author: libairong <libairong@allwinnertech.com>
*
* NV3052_BV055HDL_NB6_720X1280 panel driver
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#include "NV3052_BV055HDL_NB6_720X1280.h"
#include "panels.h"
static void LCD_power_on(u32 sel);
static void LCD_power_off(u32 sel);
static void LCD_bl_open(u32 sel);
static void LCD_bl_close(u32 sel);
static void LCD_panel_init(u32 sel);
static void LCD_panel_exit(u32 sel);
#define panel_reset(val) sunxi_lcd_gpio_set_value(sel, 0, val) /* PD22 - RESET */
#define power_1v8(val) sunxi_lcd_gpio_set_value(sel, 1, val) /* PB7 - 1.8V */
#define power_3v3(val) sunxi_lcd_gpio_set_value(sel, 2, val) /* PB5 - 3.3V */
#define power_vspvsn(val) sunxi_lcd_gpio_set_value(sel, 3, val) /* PB6 - VSP/VSN */
static void
LCD_cfg_panel_info(panel_extend_para *info)
{
printf("[LCD] %s: enter\n", __func__);
u32 i = 0, j = 0;
u32 items;
u8 lcd_gamma_tbl[][2] = {
{0, 0},
{15, 15},
{30, 30},
{45, 45},
{60, 60},
{75, 75},
{90, 90},
{105, 105},
{120, 120},
{135, 135},
{150, 150},
{165, 165},
{180, 180},
{195, 195},
{210, 210},
{225, 225},
{240, 240},
{255, 255},
};
u32 lcd_cmap_tbl[2][3][4] = {
{
{LCD_CMAP_G0, LCD_CMAP_B1, LCD_CMAP_G2, LCD_CMAP_B3},
{LCD_CMAP_B0, LCD_CMAP_R1, LCD_CMAP_B2, LCD_CMAP_R3},
{LCD_CMAP_R0, LCD_CMAP_G1, LCD_CMAP_R2, LCD_CMAP_G3},
},
{
{LCD_CMAP_B3, LCD_CMAP_G2, LCD_CMAP_B1, LCD_CMAP_G0},
{LCD_CMAP_R3, LCD_CMAP_B2, LCD_CMAP_R1, LCD_CMAP_B0},
{LCD_CMAP_G3, LCD_CMAP_R2, LCD_CMAP_G1, LCD_CMAP_R0},
},
};
items = sizeof(lcd_gamma_tbl) / 2;
for (i = 0; i < items - 1; i++) {
u32 num = lcd_gamma_tbl[i + 1][0] - lcd_gamma_tbl[0];
for (j = 0; j < num; j++) {
u32 value = 0;
value = lcd_gamma_tbl[1] + ((lcd_gamma_tbl[i + 1][1]
- lcd_gamma_tbl[1]) * j) / num;
info->lcd_gamma_tbl[lcd_gamma_tbl[0] + j] =
(value << 16) + (value << 8) + value;
}
}
info->lcd_gamma_tbl[255] = (lcd_gamma_tbl[items - 1][1] << 16)
+ (lcd_gamma_tbl[items - 1][1] << 8)
+ lcd_gamma_tbl[items - 1][1];
memcpy(info->lcd_cmap_tbl, lcd_cmap_tbl, sizeof(lcd_cmap_tbl));
printf("[LCD] %s: exit\n", __func__);
}
static s32 LCD_open_flow(u32 sel)
{
printf("[LCD] %s: sel=%d\n", __func__, sel);
LCD_OPEN_FUNC(sel, LCD_power_on, 0);
// LCD_OPEN_FUNC(sel, LCD_panel_init1, 20);
LCD_OPEN_FUNC(sel, LCD_panel_init, 200); // open lcd power, than delay 200ms
LCD_OPEN_FUNC(sel, sunxi_lcd_tcon_enable, 50);
LCD_OPEN_FUNC(sel, LCD_bl_open, 0);
return 0;
}
static s32 LCD_close_flow(u32 sel)
{
printf("LCD_close_flow\n");
LCD_CLOSE_FUNC(sel, LCD_bl_close, 200); // close lcd backlight, and delay 0ms
LCD_CLOSE_FUNC(sel, sunxi_lcd_tcon_disable, 20); // close lcd controller, and delay 0ms
LCD_CLOSE_FUNC(sel, LCD_panel_exit, 10); // open lcd power, than delay 200ms
LCD_CLOSE_FUNC(sel, LCD_power_off, 500); // close lcd power, and delay 500ms
return 0;
}
static void LCD_power_on(u32 sel)
{
printf("LCD_power_on\n");
// panel_reset(0);
// sunxi_lcd_delay_ms(5);
sunxi_lcd_power_enable(sel, 0); // config lcd_power pin to open lcd power
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_enable(sel, 1); // config lcd_power pin to open lcd power1
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_enable(sel, 2); // config lcd_power pin to open lcd power2
sunxi_lcd_delay_ms(5);
panel_reset(0);
power_vspvsn(0);
power_1v8(0);
sunxi_lcd_delay_ms(10);
power_3v3(1);
power_1v8(1);
sunxi_lcd_delay_ms(50);
power_vspvsn(1);
panel_reset(1);
sunxi_lcd_delay_ms(50);
panel_reset(0);
sunxi_lcd_delay_ms(50);
panel_reset(1);
sunxi_lcd_delay_ms(50);
sunxi_lcd_pin_cfg(sel, 1);
}
static void LCD_power_off(u32 sel)
{
printf("LCD_power_off\n");
sunxi_lcd_pin_cfg(sel, 0);
power_vspvsn(0);
power_1v8(0);
power_3v3(0);
sunxi_lcd_delay_ms(20);
panel_reset(0);
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_disable(sel, 2); // config lcd_power pin to close lcd power2
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_disable(sel, 1); // config lcd_power pin to close lcd power1
sunxi_lcd_delay_ms(5);
sunxi_lcd_power_disable(sel, 0); // config lcd_power pin to close lcd power
}
static void LCD_bl_open(u32 sel)
{
printf("[LCD] %s: PWM enable\n", __func__);
sunxi_lcd_pwm_enable(sel);
sunxi_lcd_delay_ms(50);
sunxi_lcd_backlight_enable(sel); // config lcd_bl_en pin to open lcd backlight
}
static void LCD_bl_close(u32 sel)
{
printf("LCD_bl_close\n");
sunxi_lcd_backlight_disable(sel); // config lcd_bl_en pin to close lcd backlight
sunxi_lcd_delay_ms(20);
sunxi_lcd_pwm_disable(sel);
}
#define REGFLAG_DELAY 0XFE
#define REGFLAG_END_OF_TABLE 0xFD // END OF REGISTERS MARKER
struct LCM_setting_table {
u8 cmd;
u32 count;
u8 para_list[64];
};
/* add panel initialization below */
static struct LCM_setting_table lcm_initialization_setting[] = {
//----------NV305F+BOE5.5(BV055HDL-NB6) Initial------------------
{REGFLAG_DELAY, REGFLAG_DELAY, {120}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x01}},
{0xE3,0x01,{0x04}},
{0x08,0x01,{0x0e}},
{0x25,0x01,{0x10}},
{0x28,0x01,{0x5F}},
{0x2C,0x01,{0x22}},
{0x30,0x01,{0x58}},
{0x45,0x01,{0x91}},
{0x37,0x01,{0x9C}},
{0x38,0x01,{0xA7}},
{0x39,0x01,{0x27}},
{0x44,0x01,{0x00}},
{0x49,0x01,{0x1C}},
{0x59,0x01,{0xFE}},
{0x5C,0x01,{0x00}},
{0x91,0x01,{0x77}},
{0x92,0x01,{0x77}},
{0xA0,0x01,{0x55}},
{0xA1,0x01,{0x50}},
{0xA3,0x01,{0x58}},
{0xA4,0x01,{0x9C}},
{0xA7,0x01,{0x02}},
{0xA8,0x01,{0x01}},
{0xA9,0x01,{0x01}},
{0xAA,0x01,{0xFC}},
{0xAB,0x01,{0x28}},
{0xAC,0x01,{0x06}},
{0xAD,0x01,{0x06}},
{0xAE,0x01,{0x06}},
{0xAF,0x01,{0x03}},
{0xB0,0x01,{0x08}},
{0xB1,0x01,{0x26}},
{0xB2,0x01,{0x28}},
{0xB3,0x01,{0x28}},
{0xB4,0x01,{0x03}},
{0xB5,0x01,{0x08}},
{0xB6,0x01,{0x26}},
{0xB7,0x01,{0x08}},
{0xB8,0x01,{0x26}},
{0xc0,0x01,{0x00}},
{0xc1,0x01,{0x00}},
{0xc3,0x01,{0x0F}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x02}},
{0xB0,0x01,{0x00}},
{0xB1,0x01,{0x05}},
{0xB2,0x01,{0x02}},
{0xB3,0x01,{0x24}},
{0xB4,0x01,{0x25}},
{0xB5,0x01,{0x30}},
{0xB6,0x01,{0x0C}},
{0xB7,0x01,{0x27}},
{0xB8,0x01,{0x0F}},
{0xB9,0x01,{0x05}},
{0xBA,0x01,{0x11}},
{0xBB,0x01,{0x10}},
{0xBC,0x01,{0x11}},
{0xBD,0x01,{0x12}},
{0xBE,0x01,{0x17}},
{0xBF,0x01,{0x0C}},
{0xC0,0x01,{0x14}},
{0xC1,0x01,{0x0A}},
{0xD0,0x01,{0x08}},
{0xD1,0x01,{0x0F}},
{0xD2,0x01,{0x09}},
{0xD3,0x01,{0x35}},
{0xD4,0x01,{0x38}},
{0xD5,0x01,{0x3D}},
{0xD6,0x01,{0x1B}},
{0xD7,0x01,{0x3B}},
{0xD8,0x01,{0x0F}},
{0xD9,0x01,{0x05}},
{0xDA,0x01,{0x11}},
{0xDB,0x01,{0x10}},
{0xDC,0x01,{0x11}},
{0xDD,0x01,{0x14}},
{0xDE,0x01,{0x19}},
{0xDF,0x01,{0x11}},
{0xE0,0x01,{0x19}},
{0xE1,0x01,{0x09}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x03}},
{0x08,0x01,{0x8B}},
{0x09,0x01,{0x8A}},
{0x0A,0x01,{0x89}},
{0x0B,0x01,{0x88}},
{0x34,0x01,{0x61}},
{0x35,0x01,{0xD4}},
{0x36,0x01,{0x24}},
{0x37,0x01,{0x03}},
{0x40,0x01,{0x8B}},
{0x41,0x01,{0x8A}},
{0x42,0x01,{0x89}},
{0x43,0x01,{0x88}},
{0x45,0x01,{0x01}},
{0x46,0x01,{0x02}},
{0x48,0x01,{0x03}},
{0x49,0x01,{0x04}},
{0x50,0x01,{0x87}},
{0x51,0x01,{0x86}},
{0x52,0x01,{0x85}},
{0x53,0x01,{0x84}},
{0x55,0x01,{0x05}},
{0x56,0x01,{0x06}},
{0x58,0x01,{0x07}},
{0x59,0x01,{0x08}},
{0x80,0x01,{0x0F}},
{0x81,0x01,{0x0E}},
{0x82,0x01,{0x07}},
{0x83,0x01,{0x06}},
{0x84,0x01,{0x05}},
{0x85,0x01,{0x04}},
{0x92,0x01,{0x0E}},
{0x93,0x01,{0x0F}},
{0x94,0x01,{0x01}},
{0x95,0x01,{0x00}},
{0x96,0x01,{0x0F}},
{0x97,0x01,{0x0E}},
{0x98,0x01,{0x07}},
{0x99,0x01,{0x06}},
{0x9A,0x01,{0x05}},
{0x9B,0x01,{0x04}},
{0xA8,0x01,{0x0E}},
{0xA9,0x01,{0x0F}},
{0xAA,0x01,{0x01}},
{0xAB,0x01,{0x00}},
{0xE0,0x01,{0x02}},
{0xE1,0x01,{0x52}},
{0xFF,0x01,{0x30}},
{0xFF,0x01,{0x52}},
{0xFF,0x01,{0x00}},
{0x35,0x01,{0x00}},
{0x36,0x01,{0x02}},
{0x53,0x01,{0x2C}},
{0x11, 0, {0x00}},
{REGFLAG_DELAY, REGFLAG_DELAY, {200}},
{0x29, 0, {0x00}},
{REGFLAG_DELAY, REGFLAG_DELAY, {100}},
{REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {0x00}}
};
static void LCD_panel_init(u32 sel)
{
printf("[LCD] %s: uboot, first cmd=0x%02X\n", __func__,
lcm_initialization_setting[0].cmd);
__u32 i;
char model_name[25];
disp_sys_script_get_item("lcd0", "lcd_model_name", (int *) model_name, 25);
sunxi_lcd_dsi_clk_enable(sel);
sunxi_lcd_delay_ms(20);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_SOFT_RESET);
sunxi_lcd_delay_ms(10);
for (i = 0; ; i++) {
if (lcm_initialization_setting.count == REGFLAG_END_OF_TABLE)
break;
else if (lcm_initialization_setting.count == REGFLAG_DELAY)
sunxi_lcd_delay_ms(lcm_initialization_setting.para_list[0]);
#ifdef SUPPORT_DSI
else
dsi_dcs_wr(sel, lcm_initialization_setting.cmd,
lcm_initialization_setting.para_list,
lcm_initialization_setting.count);
#endif
//break;
}
printf("[LCD] %s: finish\n", __func__);
return;
}
static void LCD_panel_exit(u32 sel)
{
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_SET_DISPLAY_OFF);
sunxi_lcd_delay_ms(20);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_ENTER_SLEEP_MODE);
sunxi_lcd_delay_ms(80);
return ;
}
// sel: 0:lcd0; 1:lcd1
static s32 LCD_user_defined_func(u32 sel, u32 para1, u32 para2, u32 para3)
{
return 0;
}
// sel: 0:lcd0; 1:lcd1
/*
* static s32 LCD_set_bright(u32 sel, u32 bright)
* {
* sunxi_lcd_dsi_dcs_write_1para(sel, 0x51, bright);
* return 0;
* }
*/
__lcd_panel_t NV3052_BV055HDL_NB6_720X1280_mipi_panel = {
/* panel driver name, must mach the name of lcd_drv_name in sys_config.fex */
.name = "NV3052_BV055HDL_NB6_720X1280",
.func = {
.cfg_panel_info = LCD_cfg_panel_info,
.cfg_open_flow = LCD_open_flow,
.cfg_close_flow = LCD_close_flow,
.lcd_user_defined_func = LCD_user_defined_func,
// .set_bright = LCD_set_bright,
},
};日志打印:
Line 154: [LCD] LCD_open_flow: sel=0
Line 154: [LCD] LCD_open_flow: sel=0
Line 155: [LCD] LCD_cfg_panel_info: enter
Line 155: [LCD] LCD_cfg_panel_info: enter
Line 156: [LCD] LCD_cfg_panel_info: exit
Line 156: [LCD] LCD_cfg_panel_info: exit
Line 159: [LCD] LCD_open_flow: sel=0
Line 159: [LCD] LCD_open_flow: sel=0
Line 160: LCD_power_on
Line 164: [LCD] LCD_open_flow: sel=0
Line 164: [LCD] LCD_open_flow: sel=0
Line 165: [LCD] LCD_panel_try_switch: screen 0 - reading panel ID via DCS
Line 165: [LCD] LCD_panel_try_switch: screen 0 - reading panel ID via DCS
Line 166: [LCD] LCD_panel_try_switch: ID bytes = 18 32 41 (0x183241)
Line 166: [LCD] LCD_panel_try_switch: ID bytes = 18 32 41 (0x183241)
Line 167: [LCD] LCD_open_flow: sel=0
Line 167: [LCD] LCD_open_flow: sel=0
Line 168: [LCD] LCD_panel_init: uboot, first cmd=0xBB
Line 168: [LCD] LCD_panel_init: uboot, first cmd=0xBB
Line 169: [LCD] LCD_panel_init: finish
Line 169: [LCD] LCD_panel_init: finish
Line 200: [LCD] LCD_open_flow: sel=0
Line 200: [LCD] LCD_open_flow: sel=0
Line 204: [LCD] LCD_open_flow: sel=0
Line 204: [LCD] LCD_open_flow: sel=0
Line 205: [LCD] LCD_bl_open: PWM enable
Line 205: [LCD] LCD_bl_open: PWM enable
Line 206: [LCD] LCD_open_flow: sel=0
Line 206: [LCD] LCD_open_flow: sel=0
Line 207: [LCD] LCD_open_flow: sel=0
Line 207: [LCD] LCD_open_flow: sel=0
Line 208: [06.652]LCD open finish
Line 466: [ 1.405376] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.smartbl_low_limit fail
Line 467: [ 1.414568] [DISP] disp_init_lcd,line:3243:disp_init_lcd
Line 467: [ 1.414568] [DISP] disp_init_lcd,line:3243:disp_init_lcd
Line 468: [ 1.419837] [DISP] disp_init_lcd,line:3317:total number of clk in dsi:1
Line 469: [ 1.426242] [DISP] disp_init_lcd,line:3320:lcd 0, irq_no=362, irq_no_dsi=364
Line 469: [ 1.426242] [DISP] disp_init_lcd,line:3320:lcd 0, irq_no=362, irq_no_dsi=364
Line 470: [ 1.433263] [DISP] disp_lcd_init,line:2710:lcd 0
Line 470: [ 1.433263] [DISP] disp_lcd_init,line:2710:lcd 0
Line 471: [ 1.437845] [DISP] lcd_get_sys_config,line:360:lcd0 get sys config begin
Line 471: [ 1.437845] [DISP] lcd_get_sys_config,line:360:lcd0 get sys config begin
Line 472: [ 1.444879] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_bl_en gpio=119,mul_sel=1,data:1
Line 472: [ 1.444879] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_bl_en gpio=119,mul_sel=1,data:1
Line 473: [ 1.453190] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_bl_en_power fail
Line 473: [ 1.453190] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_bl_en_power fail
Line 474: [ 1.462462] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power fail
Line 474: [ 1.462462] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power fail
Line 475: [ 1.471564] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power1 fail
Line 475: [ 1.471564] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power1 fail
Line 476: [ 1.480749] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power2 fail
Line 476: [ 1.480749] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power2 fail
Line 477: [ 1.489936] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power3 fail
Line 477: [ 1.489936] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power3 fail
Line 478: [ 1.499637] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_power3 fail
Line 478: [ 1.499637] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_power3 fail
Line 479: [ 1.507972] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_0 gpio=118,mul_sel=1,data:1
Line 479: [ 1.507972] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_0 gpio=118,mul_sel=1,data:1
Line 480: [ 1.516553] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_1 gpio=39,mul_sel=1,data:1
Line 480: [ 1.516553] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_1 gpio=39,mul_sel=1,data:1
Line 481: [ 1.525046] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_2 gpio=37,mul_sel=1,data:1
Line 481: [ 1.525046] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_2 gpio=37,mul_sel=1,data:1
Line 482: [ 1.533539] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_3 gpio=38,mul_sel=1,data:1
Line 482: [ 1.533539] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_3 gpio=38,mul_sel=1,data:1
Line 483: [ 1.542705] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power0 fail
Line 483: [ 1.542705] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power0 fail
Line 484: [ 1.551295] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power1 fail
Line 484: [ 1.551295] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power1 fail
Line 485: [ 1.560569] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power2 fail
Line 485: [ 1.560569] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power2 fail
Line 486: [ 1.569844] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power fail
Line 486: [ 1.569844] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power fail
Line 487: [ 1.578943] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power1 fail
Line 487: [ 1.578943] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power1 fail
Line 488: [ 1.588129] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power2 fail
Line 488: [ 1.588129] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power2 fail
Line 489: [ 1.597490] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_1_percent fail
Line 489: [ 1.597490] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_1_percent fail
Line 490: [ 1.606935] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_2_percent fail
Line 490: [ 1.606935] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_2_percent fail
Line 491: [ 1.616556] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_3_percent fail
Line 491: [ 1.616556] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_3_percent fail
Line 492: [ 1.626176] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_4_percent fail
Line 492: [ 1.626176] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_4_percent fail
Line 493: [ 1.635795] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_5_percent fail
Line 493: [ 1.635795] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_5_percent fail
Line 494: [ 1.645415] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_6_percent fail
Line 494: [ 1.645415] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_6_percent fail
Line 495: [ 1.655036] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_7_percent fail
Line 495: [ 1.655036] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_7_percent fail
Line 496: [ 1.664655] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_8_percent fail
Line 496: [ 1.664655] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_8_percent fail
Line 497: [ 1.674277] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_9_percent fail
Line 497: [ 1.674277] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_9_percent fail
Line 498: [ 1.683896] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_10_percent fail
Line 498: [ 1.683896] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_10_percent fail
Line 499: [ 1.693603] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_11_percent fail
Line 499: [ 1.693603] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_11_percent fail
Line 500: [ 1.703312] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_12_percent fail
Line 500: [ 1.703312] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_12_percent fail
Line 501: [ 1.713014] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_13_percent fail
Line 501: [ 1.713014] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_13_percent fail
Line 502: [ 1.722735] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_14_percent fail
Line 502: [ 1.722735] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_14_percent fail
Line 503: [ 1.732429] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_15_percent fail
Line 503: [ 1.732429] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_15_percent fail
Line 504: [ 1.742136] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_16_percent fail
Line 504: [ 1.742136] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_16_percent fail
Line 505: [ 1.751842] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_17_percent fail
Line 505: [ 1.751842] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_17_percent fail
Line 506: [ 1.761550] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_18_percent fail
Line 506: [ 1.761550] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_18_percent fail
Line 507: [ 1.771259] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_19_percent fail
Line 507: [ 1.771259] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_19_percent fail
Line 508: [ 1.780964] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_20_percent fail
Line 508: [ 1.780964] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_20_percent fail
Line 509: [ 1.790669] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_21_percent fail
Line 509: [ 1.790669] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_21_percent fail
Line 510: [ 1.800377] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_22_percent fail
Line 510: [ 1.800377] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_22_percent fail
Line 511: [ 1.810082] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_23_percent fail
Line 511: [ 1.810082] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_23_percent fail
Line 512: [ 1.819788] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_24_percent fail
Line 512: [ 1.819788] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_24_percent fail
Line 513: [ 1.829497] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_25_percent fail
Line 513: [ 1.829497] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_25_percent fail
Line 514: [ 1.839202] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_26_percent fail
Line 514: [ 1.839202] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_26_percent fail
Line 515: [ 1.848909] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_27_percent fail
Line 515: [ 1.848909] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_27_percent fail
Line 516: [ 1.858620] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_28_percent fail
Line 516: [ 1.858620] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_28_percent fail
Line 517: [ 1.868325] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_29_percent fail
Line 517: [ 1.868325] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_29_percent fail
Line 518: [ 1.878028] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_30_percent fail
Line 518: [ 1.878028] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_30_percent fail
Line 519: [ 1.887736] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_31_percent fail
Line 519: [ 1.887736] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_31_percent fail
Line 520: [ 1.897442] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_32_percent fail
Line 520: [ 1.897442] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_32_percent fail
Line 521: [ 1.907148] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_33_percent fail
Line 521: [ 1.907148] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_33_percent fail
Line 522: [ 1.916856] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_34_percent fail
Line 522: [ 1.916856] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_34_percent fail
Line 523: [ 1.926564] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_35_percent fail
Line 523: [ 1.926564] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_35_percent fail
Line 524: [ 1.936269] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_36_percent fail
Line 524: [ 1.936269] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_36_percent fail
Line 525: [ 1.945986] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_37_percent fail
Line 525: [ 1.945986] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_37_percent fail
Line 526: [ 1.955683] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_38_percent fail
Line 526: [ 1.955683] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_38_percent fail
Line 527: [ 1.965389] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_39_percent fail
Line 527: [ 1.965389] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_39_percent fail
Line 528: [ 1.975096] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_40_percent fail
Line 528: [ 1.975096] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_40_percent fail
Line 529: [ 1.984802] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_41_percent fail
Line 529: [ 1.984802] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_41_percent fail
Line 530: [ 1.994510] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_42_percent fail
Line 530: [ 1.994510] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_42_percent fail
Line 531: [ 2.004216] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_43_percent fail
Line 531: [ 2.004216] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_43_percent fail
Line 532: [ 2.013922] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_44_percent fail
Line 532: [ 2.013922] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_44_percent fail
Line 533: [ 2.023632] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_45_percent fail
Line 533: [ 2.023632] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_45_percent fail
Line 534: [ 2.033335] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_46_percent fail
Line 534: [ 2.033335] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_46_percent fail
Line 535: [ 2.043041] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_47_percent fail
Line 535: [ 2.043041] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_47_percent fail
Line 536: [ 2.052760] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_48_percent fail
Line 536: [ 2.052760] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_48_percent fail
Line 537: [ 2.062456] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_49_percent fail
Line 537: [ 2.062456] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_49_percent fail
Line 538: [ 2.072163] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_50_percent fail
Line 538: [ 2.072163] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_50_percent fail
Line 539: [ 2.081868] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_51_percent fail
Line 539: [ 2.081868] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_51_percent fail
Line 540: [ 2.091576] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_52_percent fail
Line 540: [ 2.091576] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_52_percent fail
Line 541: [ 2.101282] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_53_percent fail
Line 541: [ 2.101282] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_53_percent fail
Line 542: [ 2.110994] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_54_percent fail
Line 542: [ 2.110994] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_54_percent fail
Line 543: [ 2.120697] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_55_percent fail
Line 543: [ 2.120697] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_55_percent fail
Line 544: [ 2.130403] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_56_percent fail
Line 544: [ 2.130403] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_56_percent fail
Line 545: [ 2.140108] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_57_percent fail
Line 545: [ 2.140108] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_57_percent fail
Line 546: [ 2.149817] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_58_percent fail
Line 546: [ 2.149817] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_58_percent fail
Line 547: [ 2.159522] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_59_percent fail
Line 547: [ 2.159522] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_59_percent fail
Line 548: [ 2.169228] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_60_percent fail
Line 548: [ 2.169228] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_60_percent fail
Line 549: [ 2.178935] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_61_percent fail
Line 549: [ 2.178935] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_61_percent fail
Line 550: [ 2.188644] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_62_percent fail
Line 550: [ 2.188644] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_62_percent fail
Line 551: [ 2.198349] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_63_percent fail
Line 551: [ 2.198349] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_63_percent fail
Line 552: [ 2.208058] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_64_percent fail
Line 552: [ 2.208058] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_64_percent fail
Line 553: [ 2.217762] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_65_percent fail
Line 553: [ 2.217762] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_65_percent fail
Line 554: [ 2.227470] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_66_percent fail
Line 554: [ 2.227470] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_66_percent fail
Line 555: [ 2.237175] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_67_percent fail
Line 555: [ 2.237175] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_67_percent fail
Line 556: [ 2.246885] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_68_percent fail
Line 556: [ 2.246885] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_68_percent fail
Line 557: [ 2.256588] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_69_percent fail
Line 557: [ 2.256588] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_69_percent fail
Line 558: [ 2.266296] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_70_percent fail
Line 558: [ 2.266296] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_70_percent fail
Line 559: [ 2.276015] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_71_percent fail
Line 559: [ 2.276015] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_71_percent fail
Line 560: [ 2.285708] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_72_percent fail
Line 560: [ 2.285708] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_72_percent fail
Line 561: [ 2.295417] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_73_percent fail
Line 561: [ 2.295417] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_73_percent fail
Line 562: [ 2.305121] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_74_percent fail
Line 562: [ 2.305121] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_74_percent fail
Line 563: [ 2.314832] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_75_percent fail
Line 563: [ 2.314832] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_75_percent fail
Line 564: [ 2.324536] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_76_percent fail
Line 564: [ 2.324536] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_76_percent fail
Line 565: [ 2.334243] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_77_percent fail
Line 565: [ 2.334243] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_77_percent fail
Line 566: [ 2.343950] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_78_percent fail
Line 566: [ 2.343950] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_78_percent fail
Line 567: [ 2.353656] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_79_percent fail
Line 567: [ 2.353656] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_79_percent fail
Line 568: [ 2.363363] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_80_percent fail
Line 568: [ 2.363363] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_80_percent fail
Line 569: [ 2.373094] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_81_percent fail
Line 569: [ 2.373094] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_81_percent fail
Line 570: [ 2.382794] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_82_percent fail
Line 570: [ 2.382794] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_82_percent fail
Line 571: [ 2.392485] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_83_percent fail
Line 571: [ 2.392485] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_83_percent fail
Line 572: [ 2.402190] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_84_percent fail
Line 572: [ 2.402190] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_84_percent fail
Line 573: [ 2.411895] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_85_percent fail
Line 573: [ 2.411895] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_85_percent fail
Line 574: [ 2.421603] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_86_percent fail
Line 574: [ 2.421603] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_86_percent fail
Line 575: [ 2.431309] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_87_percent fail
Line 575: [ 2.431309] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_87_percent fail
Line 576: [ 2.441015] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_88_percent fail
Line 576: [ 2.441015] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_88_percent fail
Line 577: [ 2.450723] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_89_percent fail
Line 577: [ 2.450723] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_89_percent fail
Line 578: [ 2.460430] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_90_percent fail
Line 578: [ 2.460430] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_90_percent fail
Line 579: [ 2.470135] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_91_percent fail
Line 579: [ 2.470135] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_91_percent fail
Line 580: [ 2.479842] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_92_percent fail
Line 580: [ 2.479842] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_92_percent fail
Line 581: [ 2.489550] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_93_percent fail
Line 581: [ 2.489550] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_93_percent fail
Line 582: [ 2.499255] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_94_percent fail
Line 582: [ 2.499255] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_94_percent fail
Line 583: [ 2.508963] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_95_percent fail
Line 583: [ 2.508963] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_95_percent fail
Line 584: [ 2.518669] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_96_percent fail
Line 584: [ 2.518669] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_96_percent fail
Line 585: [ 2.528377] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_97_percent fail
Line 585: [ 2.528377] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_97_percent fail
Line 586: [ 2.538084] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_98_percent fail
Line 586: [ 2.538084] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_98_percent fail
Line 587: [ 2.547790] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_99_percent fail
Line 587: [ 2.547790] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_99_percent fail
Line 588: [ 2.557660] [DISP] lcd_get_sys_config,line:490:lcd0 sys config: used=1, bl_en_used=1, bl_en_power=, backlight=50
Line 588: [ 2.557660] [DISP] lcd_get_sys_config,line:490:lcd0 sys config: used=1, bl_en_used=1, bl_en_power=, backlight=50
Line 589: [ 2.567468] [DISP] lcd_get_sys_config,line:496:lcd0 power[0]: used=1 name=cldo4, fix_used=0 fix=
Line 589: [ 2.567468] [DISP] lcd_get_sys_config,line:496:lcd0 power[0]: used=1 name=cldo4, fix_used=0 fix=
Line 590: [ 2.576222] [DISP] lcd_get_sys_config,line:496:lcd0 power[1]: used=1 name=cldo3, fix_used=0 fix=
Line 590: [ 2.576222] [DISP] lcd_get_sys_config,line:496:lcd0 power[1]: used=1 name=cldo3, fix_used=0 fix=
Line 591: [ 2.584974] [DISP] lcd_get_sys_config,line:496:lcd0 power[2]: used=1 name=cldo1, fix_used=0 fix=
Line 591: [ 2.584974] [DISP] lcd_get_sys_config,line:496:lcd0 power[2]: used=1 name=cldo1, fix_used=0 fix=
Line 592: [ 2.593728] [DISP] lcd_get_sys_config,line:496:lcd0 power[3]: used=0 name=, fix_used=0 fix=
Line 592: [ 2.593728] [DISP] lcd_get_sys_config,line:496:lcd0 power[3]: used=0 name=, fix_used=0 fix=
Line 593: [ 2.602048] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[0] used=1
Line 593: [ 2.602048] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[0] used=1
Line 594: [ 2.608190] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[1] used=1
Line 594: [ 2.608190] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[1] used=1
Line 595: [ 2.614354] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[2] used=1
Line 595: [ 2.614354] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[2] used=1
Line 596: [ 2.620508] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[3] used=1
Line 596: [ 2.620508] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[3] used=1
Line 597: [ 2.626662] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[4] used=0
Line 597: [ 2.626662] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[4] used=0
Line 598: [ 2.632814] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[5] used=0
Line 598: [ 2.632814] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[5] used=0
Line 599: [ 2.638957] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[6] used=0
Line 599: [ 2.638957] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[6] used=0
Line 600: [ 2.645110] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[7] used=0
Line 600: [ 2.645110] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[7] used=0
Line 601: [ 2.651264] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[0]= pin_power[0]=
Line 601: [ 2.651264] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[0]= pin_power[0]=
Line 602: [ 2.658641] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[1]= pin_power[1]=
Line 602: [ 2.658641] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[1]= pin_power[1]=
Line 603: [ 2.666008] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[2]= pin_power[2]=
Line 603: [ 2.666008] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[2]= pin_power[2]=
Line 604: [ 2.675194] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_div fail
Line 604: [ 2.675194] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_div fail
Line 605: [ 2.683480] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_if fail
Line 605: [ 2.683480] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_if fail
Line 606: [ 2.692160] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_if fail
Line 606: [ 2.692160] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_if fail
Line 607: [ 2.701020] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_mode fail
Line 607: [ 2.701020] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_mode fail
Line 608: [ 2.710375] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_colordepth fail
Line 608: [ 2.710375] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_colordepth fail
Line 609: [ 2.720254] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_io_polarity fail
Line 609: [ 2.720254] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_io_polarity fail
Line 610: [ 2.730222] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_if fail
Line 610: [ 2.730222] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_if fail
Line 611: [ 2.739334] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_te fail
Line 611: [ 2.739334] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_te fail
Line 612: [ 2.748421] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_mode fail
Line 612: [ 2.748421] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_mode fail
Line 613: [ 2.758691] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_dsi_port_num fail
Line 613: [ 2.758691] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_dsi_port_num fail
Line 614: [ 2.767315] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_mode fail
Line 614: [ 2.767315] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_mode fail
Line 615: [ 2.776675] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_tcon_num fail
Line 615: [ 2.776675] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_tcon_num fail
Line 616: [ 2.786468] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_stop_pos fail
Line 616: [ 2.786468] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_stop_pos fail
Line 617: [ 2.796262] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_pixel_num fail
Line 617: [ 2.796262] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_pixel_num fail
Line 618: [ 2.806067] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_line_num fail
Line 618: [ 2.806067] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_line_num fail
Line 619: [ 2.815763] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_en_odd_even_div fail
Line 619: [ 2.815763] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_en_odd_even_div fail
Line 620: [ 2.826086] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_en fail
Line 620: [ 2.826086] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_en fail
Line 621: [ 2.835348] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_act_time fail
Line 621: [ 2.835348] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_act_time fail
Line 622: [ 2.845143] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_dis_time fail
Line 622: [ 2.845143] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_dis_time fail
Line 623: [ 2.854935] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_pol fail
Line 623: [ 2.854935] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_pol fail
Line 624: [ 2.864297] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_clk_phase fail
Line 624: [ 2.864297] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_clk_phase fail
Line 625: [ 2.873917] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_sync_polarity fail
Line 625: [ 2.873917] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_sync_polarity fail
Line 626: [ 2.883888] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_srgb_seq fail
Line 626: [ 2.883888] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_srgb_seq fail
Line 627: [ 2.893415] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_rb_swap fail
Line 627: [ 2.893415] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_rb_swap fail
Line 628: [ 2.902602] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_seq fail
Line 628: [ 2.902602] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_seq fail
Line 629: [ 2.912134] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_fdly fail
Line 629: [ 2.912134] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_fdly fail
Line 630: [ 2.922086] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_xtal_freq fail
Line 630: [ 2.922086] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_xtal_freq fail
Line 631: [ 2.931118] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_size fail
Line 631: [ 2.931118] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_size fail
Line 632: [ 2.939782] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_model_name fail
Line 632: [ 2.939782] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_model_name fail
Line 635: [ 2.965362] [DISP] lcd_clk_init,line:521:lcd 0 clk init
Line 635: [ 2.965362] [DISP] lcd_clk_init,line:521:lcd 0 clk init
Line 636: [ 2.970728] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd1.lcd_used fail
Line 636: [ 2.970728] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd1.lcd_used fail
Line 676: [ 3.211911] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name default_lcd
Line 676: [ 3.211911] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name default_lcd
Line 676: [ 3.211911] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name default_lcd
Line 677: [ 3.222839] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt070me05000
Line 677: [ 3.222839] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt070me05000
Line 678: [ 3.233841] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name wtq05027d01
Line 678: [ 3.233841] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name wtq05027d01
Line 679: [ 3.244762] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name t27p06
Line 679: [ 3.244762] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name t27p06
Line 680: [ 3.255248] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name dx0960be40a1
Line 680: [ 3.255248] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name dx0960be40a1
Line 681: [ 3.266256] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name tft720x1280
Line 681: [ 3.266256] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name tft720x1280
Line 682: [ 3.277176] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name S6D7AA0X01
Line 682: [ 3.277176] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name S6D7AA0X01
Line 683: [ 3.288008] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name gg1p4062utsw
Line 683: [ 3.288008] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name gg1p4062utsw
Line 684: [ 3.299016] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name ls029b3sx02
Line 684: [ 3.299016] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name ls029b3sx02
Line 685: [ 3.309936] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name he0801a068
Line 685: [ 3.309936] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name he0801a068
Line 686: [ 3.320768] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name inet_dsi_panel
Line 686: [ 3.320768] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name inet_dsi_panel
Line 687: [ 3.331947] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lq101r1sx03
Line 687: [ 3.331947] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lq101r1sx03
Line 688: [ 3.342868] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name WilliamLcd
Line 688: [ 3.342868] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name WilliamLcd
Line 688: [ 3.342868] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name WilliamLcd
Line 689: [ 3.353704] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name fx070
Line 689: [ 3.353704] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name fx070
Line 690: [ 3.364100] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name FX070_DHM18BOEL2_1024X600
Line 690: [ 3.364100] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name FX070_DHM18BOEL2_1024X600
Line 691: [ 3.376235] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name bp101wx1
Line 691: [ 3.376235] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name bp101wx1
Line 692: [ 3.386895] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56
Line 692: [ 3.386895] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56
Line 693: [ 3.397475] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56_two
Line 693: [ 3.397475] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56_two
Line 694: [ 3.408388] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2qa04
Line 694: [ 3.408388] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2qa04
Line 695: [ 3.419318] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2byl02l
Line 695: [ 3.419318] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2byl02l
Line 696: [ 3.430401] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt8911ex
Line 696: [ 3.430401] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt8911ex
Line 697: [ 3.441060] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K101_IM2BYL02_L_800X1280
Line 697: [ 3.441060] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K101_IM2BYL02_L_800X1280
Line 698: [ 3.453107] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name kd080d24
Line 698: [ 3.453107] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name kd080d24
Line 699: [ 3.463769] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k080_im2b801_h
Line 699: [ 3.463769] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k080_im2b801_h
Line 700: [ 3.474948] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K080_IM2HYL802R_800X1280
Line 700: [ 3.474948] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K080_IM2HYL802R_800X1280
Line 701: [ 3.486994] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name CC08021801_310_800X1280
Line 701: [ 3.486994] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name CC08021801_310_800X1280
Line 702: [ 3.498954] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name AXS1832_055FS01_720X1280
Line 702: [ 3.498954] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name AXS1832_055FS01_720X1280
Line 703: [ 3.510836] [LCD] LCD_cfg_panel_info: enter
Line 703: [ 3.510836] [LCD] LCD_cfg_panel_info: enter
Line 704: [ 3.514998] [LCD] LCD_cfg_panel_info: exit
Line 704: [ 3.514998] [LCD] LCD_cfg_panel_info: exit
Line 705: [ 3.519069] [DISP] bsp_disp_lcd_set_panel_funs,line:1565:panel driver AXS1832_055FS01_720X1280 register
Line 827: [ 3.934899] [DISP] lcd_clk_config,line:684:clk_set_rate:dsi's 0 th clk with 150000000
Line 828: [ 3.934909] [DISP] lcd_clk_config,line:699:
Line 831: [ 3.934958] [DISP] cal_real_frame_period,line:605:lcd frame period:16770250
Line 836: [ 3.943448] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_0, gpio=118, <1,0,3,1>ret=0
Line 837: [ 3.943501] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_1, gpio=39, <1,0,3,1>ret=0
Line 838: [ 3.943527] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_2, gpio=37, <1,0,3,1>ret=0
Line 839: [ 3.943551] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_3, gpio=38, <1,0,3,1>ret=0
Line 840: [ 3.943577] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_bl_en, gpio=119, <1,0,3,1>ret=0
Line 26851: [LCD] LCD_open_flow: sel=0
Line 26851: [LCD] LCD_open_flow: sel=0
Line 26852: [LCD] LCD_cfg_panel_info: enter
Line 26852: [LCD] LCD_cfg_panel_info: enter
Line 26853: [LCD] LCD_cfg_panel_info: exit
Line 26853: [LCD] LCD_cfg_panel_info: exit
Line 26856: [LCD] LCD_open_flow: sel=0
Line 26856: [LCD] LCD_open_flow: sel=0
Line 26857: LCD_power_on
Line 26861: [LCD] LCD_open_flow: sel=0
Line 26861: [LCD] LCD_open_flow: sel=0
Line 26862: [LCD] LCD_panel_try_switch: screen 0 - reading panel ID via DCS
Line 26862: [LCD] LCD_panel_try_switch: screen 0 - reading panel ID via DCS
Line 26863: [LCD] LCD_panel_try_switch: ID bytes = 18 32 41 (0x183241)
Line 26863: [LCD] LCD_panel_try_switch: ID bytes = 18 32 41 (0x183241)
Line 26864: [LCD] LCD_open_flow: sel=0
Line 26864: [LCD] LCD_open_flow: sel=0
Line 26865: [LCD] LCD_panel_init: uboot, first cmd=0xBB
Line 26865: [LCD] LCD_panel_init: uboot, first cmd=0xBB
Line 26866: [LCD] LCD_panel_init: finish
Line 26866: [LCD] LCD_panel_init: finish
Line 26897: [05.488]update[LCD] LCD_open_flow: sel=0
Line 26897: [05.488]update[LCD] LCD_open_flow: sel=0
Line 26903: [LCD] LCD_open_flow: sel=0
Line 26903: [LCD] LCD_open_flow: sel=0
Line 26904: [LCD] LCD_bl_open: PWM enable
Line 26904: [LCD] LCD_bl_open: PWM enable
Line 26905: [LCD] LCD_open_flow: sel=0
Line 26905: [LCD] LCD_open_flow: sel=0
Line 26906: [LCD] LCD_open_flow: sel=0
Line 26906: [LCD] LCD_open_flow: sel=0
Line 26907: [05.612]LCD open finish
Line 27165: [ 1.424442] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.smartbl_low_limit fail
Line 27166: [ 1.433662] [DISP] disp_init_lcd,line:3243:disp_init_lcd
Line 27166: [ 1.433662] [DISP] disp_init_lcd,line:3243:disp_init_lcd
Line 27167: [ 1.438937] [DISP] disp_init_lcd,line:3317:total number of clk in dsi:1
Line 27168: [ 1.445340] [DISP] disp_init_lcd,line:3320:lcd 0, irq_no=362, irq_no_dsi=364
Line 27168: [ 1.445340] [DISP] disp_init_lcd,line:3320:lcd 0, irq_no=362, irq_no_dsi=364
Line 27169: [ 1.452361] [DISP] disp_lcd_init,line:2710:lcd 0
Line 27169: [ 1.452361] [DISP] disp_lcd_init,line:2710:lcd 0
Line 27170: [ 1.456942] [DISP] lcd_get_sys_config,line:360:lcd0 get sys config begin
Line 27170: [ 1.456942] [DISP] lcd_get_sys_config,line:360:lcd0 get sys config begin
Line 27171: [ 1.463980] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_bl_en gpio=119,mul_sel=1,data:1
Line 27171: [ 1.463980] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_bl_en gpio=119,mul_sel=1,data:1
Line 27172: [ 1.472289] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_bl_en_power fail
Line 27172: [ 1.472289] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_bl_en_power fail
Line 27173: [ 1.481573] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power fail
Line 27173: [ 1.481573] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power fail
Line 27174: [ 1.490660] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power1 fail
Line 27174: [ 1.490660] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power1 fail
Line 27175: [ 1.499847] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power2 fail
Line 27175: [ 1.499847] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power2 fail
Line 27176: [ 1.509033] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power3 fail
Line 27176: [ 1.509033] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_fix_power3 fail
Line 27177: [ 1.518734] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_power3 fail
Line 27177: [ 1.518734] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_power3 fail
Line 27178: [ 1.527072] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_0 gpio=118,mul_sel=1,data:1
Line 27178: [ 1.527072] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_0 gpio=118,mul_sel=1,data:1
Line 27179: [ 1.535649] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_1 gpio=39,mul_sel=1,data:1
Line 27179: [ 1.535649] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_1 gpio=39,mul_sel=1,data:1
Line 27180: [ 1.544144] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_2 gpio=37,mul_sel=1,data:1
Line 27180: [ 1.544144] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_2 gpio=37,mul_sel=1,data:1
Line 27181: [ 1.552637] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_3 gpio=38,mul_sel=1,data:1
Line 27181: [ 1.552637] [DISP] disp_sys_script_get_item,line:237:lcd0.lcd_gpio_3 gpio=38,mul_sel=1,data:1
Line 27182: [ 1.561802] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power0 fail
Line 27182: [ 1.561802] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power0 fail
Line 27183: [ 1.570394] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power1 fail
Line 27183: [ 1.570394] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power1 fail
Line 27184: [ 1.579667] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power2 fail
Line 27184: [ 1.579667] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_gpio_power2 fail
Line 27185: [ 1.588938] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power fail
Line 27185: [ 1.588938] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power fail
Line 27186: [ 1.598041] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power1 fail
Line 27186: [ 1.598041] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power1 fail
Line 27187: [ 1.607227] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power2 fail
Line 27187: [ 1.607227] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_pin_power2 fail
Line 27188: [ 1.616585] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_1_percent fail
Line 27188: [ 1.616585] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_1_percent fail
Line 27189: [ 1.626034] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_2_percent fail
Line 27189: [ 1.626034] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_2_percent fail
Line 27190: [ 1.635656] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_3_percent fail
Line 27190: [ 1.635656] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_3_percent fail
Line 27191: [ 1.645275] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_4_percent fail
Line 27191: [ 1.645275] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_4_percent fail
Line 27192: [ 1.654904] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_5_percent fail
Line 27192: [ 1.654904] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_5_percent fail
Line 27193: [ 1.664513] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_6_percent fail
Line 27193: [ 1.664513] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_6_percent fail
Line 27194: [ 1.674136] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_7_percent fail
Line 27194: [ 1.674136] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_7_percent fail
Line 27195: [ 1.683754] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_8_percent fail
Line 27195: [ 1.683754] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_8_percent fail
Line 27196: [ 1.693373] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_9_percent fail
Line 27196: [ 1.693373] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_9_percent fail
Line 27197: [ 1.702994] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_10_percent fail
Line 27197: [ 1.702994] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_10_percent fail
Line 27198: [ 1.712701] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_11_percent fail
Line 27198: [ 1.712701] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_11_percent fail
Line 27199: [ 1.722409] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_12_percent fail
Line 27199: [ 1.722409] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_12_percent fail
Line 27200: [ 1.732115] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_13_percent fail
Line 27200: [ 1.732115] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_13_percent fail
Line 27201: [ 1.741821] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_14_percent fail
Line 27201: [ 1.741821] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_14_percent fail
Line 27202: [ 1.751526] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_15_percent fail
Line 27202: [ 1.751526] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_15_percent fail
Line 27203: [ 1.761234] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_16_percent fail
Line 27203: [ 1.761234] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_16_percent fail
Line 27204: [ 1.770941] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_17_percent fail
Line 27204: [ 1.770941] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_17_percent fail
Line 27205: [ 1.780648] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_18_percent fail
Line 27205: [ 1.780648] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_18_percent fail
Line 27206: [ 1.790355] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_19_percent fail
Line 27206: [ 1.790355] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_19_percent fail
Line 27207: [ 1.800061] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_20_percent fail
Line 27207: [ 1.800061] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_20_percent fail
Line 27208: [ 1.809767] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_21_percent fail
Line 27208: [ 1.809767] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_21_percent fail
Line 27209: [ 1.819474] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_22_percent fail
Line 27209: [ 1.819474] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_22_percent fail
Line 27210: [ 1.829180] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_23_percent fail
Line 27210: [ 1.829180] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_23_percent fail
Line 27211: [ 1.838888] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_24_percent fail
Line 27211: [ 1.838888] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_24_percent fail
Line 27212: [ 1.848594] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_25_percent fail
Line 27212: [ 1.848594] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_25_percent fail
Line 27213: [ 1.858313] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_26_percent fail
Line 27213: [ 1.858313] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_26_percent fail
Line 27214: [ 1.868006] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_27_percent fail
Line 27214: [ 1.868006] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_27_percent fail
Line 27215: [ 1.877714] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_28_percent fail
Line 27215: [ 1.877714] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_28_percent fail
Line 27216: [ 1.887422] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_29_percent fail
Line 27216: [ 1.887422] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_29_percent fail
Line 27217: [ 1.897133] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_30_percent fail
Line 27217: [ 1.897133] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_30_percent fail
Line 27218: [ 1.906835] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_31_percent fail
Line 27218: [ 1.906835] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_31_percent fail
Line 27219: [ 1.916540] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_32_percent fail
Line 27219: [ 1.916540] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_32_percent fail
Line 27220: [ 1.926247] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_33_percent fail
Line 27220: [ 1.926247] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_33_percent fail
Line 27221: [ 1.935955] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_34_percent fail
Line 27221: [ 1.935955] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_34_percent fail
Line 27222: [ 1.945661] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_35_percent fail
Line 27222: [ 1.945661] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_35_percent fail
Line 27223: [ 1.955366] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_36_percent fail
Line 27223: [ 1.955366] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_36_percent fail
Line 27224: [ 1.965074] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_37_percent fail
Line 27224: [ 1.965074] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_37_percent fail
Line 27225: [ 1.974778] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_38_percent fail
Line 27225: [ 1.974778] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_38_percent fail
Line 27226: [ 1.984487] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_39_percent fail
Line 27226: [ 1.984487] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_39_percent fail
Line 27227: [ 1.994196] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_40_percent fail
Line 27227: [ 1.994196] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_40_percent fail
Line 27228: [ 2.003900] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_41_percent fail
Line 27228: [ 2.003900] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_41_percent fail
Line 27229: [ 2.013608] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_42_percent fail
Line 27229: [ 2.013608] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_42_percent fail
Line 27230: [ 2.023314] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_43_percent fail
Line 27230: [ 2.023314] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_43_percent fail
Line 27231: [ 2.033021] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_44_percent fail
Line 27231: [ 2.033021] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_44_percent fail
Line 27232: [ 2.042729] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_45_percent fail
Line 27232: [ 2.042729] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_45_percent fail
Line 27233: [ 2.052435] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_46_percent fail
Line 27233: [ 2.052435] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_46_percent fail
Line 27234: [ 2.062141] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_47_percent fail
Line 27234: [ 2.062141] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_47_percent fail
Line 27235: [ 2.071848] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_48_percent fail
Line 27235: [ 2.071848] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_48_percent fail
Line 27236: [ 2.081566] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_49_percent fail
Line 27236: [ 2.081566] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_49_percent fail
Line 27237: [ 2.091259] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_50_percent fail
Line 27237: [ 2.091259] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_50_percent fail
Line 27238: [ 2.100969] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_51_percent fail
Line 27238: [ 2.100969] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_51_percent fail
Line 27239: [ 2.110674] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_52_percent fail
Line 27239: [ 2.110674] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_52_percent fail
Line 27240: [ 2.120381] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_53_percent fail
Line 27240: [ 2.120381] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_53_percent fail
Line 27241: [ 2.130087] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_54_percent fail
Line 27241: [ 2.130087] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_54_percent fail
Line 27242: [ 2.139794] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_55_percent fail
Line 27242: [ 2.139794] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_55_percent fail
Line 27243: [ 2.149500] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_56_percent fail
Line 27243: [ 2.149500] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_56_percent fail
Line 27244: [ 2.159207] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_57_percent fail
Line 27244: [ 2.159207] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_57_percent fail
Line 27245: [ 2.168914] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_58_percent fail
Line 27245: [ 2.168914] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_58_percent fail
Line 27246: [ 2.178620] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_59_percent fail
Line 27246: [ 2.178620] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_59_percent fail
Line 27247: [ 2.188340] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_60_percent fail
Line 27247: [ 2.188340] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_60_percent fail
Line 27248: [ 2.198032] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_61_percent fail
Line 27248: [ 2.198032] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_61_percent fail
Line 27249: [ 2.207740] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_62_percent fail
Line 27249: [ 2.207740] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_62_percent fail
Line 27250: [ 2.217447] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_63_percent fail
Line 27250: [ 2.217447] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_63_percent fail
Line 27251: [ 2.227154] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_64_percent fail
Line 27251: [ 2.227154] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_64_percent fail
Line 27252: [ 2.236860] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_65_percent fail
Line 27252: [ 2.236860] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_65_percent fail
Line 27253: [ 2.246568] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_66_percent fail
Line 27253: [ 2.246568] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_66_percent fail
Line 27254: [ 2.256274] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_67_percent fail
Line 27254: [ 2.256274] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_67_percent fail
Line 27255: [ 2.265981] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_68_percent fail
Line 27255: [ 2.265981] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_68_percent fail
Line 27256: [ 2.275687] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_69_percent fail
Line 27256: [ 2.275687] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_69_percent fail
Line 27257: [ 2.285394] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_70_percent fail
Line 27257: [ 2.285394] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_70_percent fail
Line 27258: [ 2.295107] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_71_percent fail
Line 27258: [ 2.295107] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_71_percent fail
Line 27259: [ 2.304808] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_72_percent fail
Line 27259: [ 2.304808] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_72_percent fail
Line 27260: [ 2.314516] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_73_percent fail
Line 27260: [ 2.314516] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_73_percent fail
Line 27261: [ 2.324220] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_74_percent fail
Line 27261: [ 2.324220] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_74_percent fail
Line 27262: [ 2.333928] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_75_percent fail
Line 27262: [ 2.333928] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_75_percent fail
Line 27263: [ 2.343633] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_76_percent fail
Line 27263: [ 2.343633] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_76_percent fail
Line 27264: [ 2.353340] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_77_percent fail
Line 27264: [ 2.353340] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_77_percent fail
Line 27265: [ 2.363050] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_78_percent fail
Line 27265: [ 2.363050] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_78_percent fail
Line 27266: [ 2.372754] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_79_percent fail
Line 27266: [ 2.372754] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_79_percent fail
Line 27267: [ 2.382462] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_80_percent fail
Line 27267: [ 2.382462] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_80_percent fail
Line 27268: [ 2.392168] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_81_percent fail
Line 27268: [ 2.392168] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_81_percent fail
Line 27269: [ 2.401875] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_82_percent fail
Line 27269: [ 2.401875] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_82_percent fail
Line 27270: [ 2.411592] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_83_percent fail
Line 27270: [ 2.411592] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_83_percent fail
Line 27271: [ 2.421287] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_84_percent fail
Line 27271: [ 2.421287] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_84_percent fail
Line 27272: [ 2.430996] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_85_percent fail
Line 27272: [ 2.430996] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_85_percent fail
Line 27273: [ 2.440700] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_86_percent fail
Line 27273: [ 2.440700] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_86_percent fail
Line 27274: [ 2.450408] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_87_percent fail
Line 27274: [ 2.450408] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_87_percent fail
Line 27275: [ 2.460112] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_88_percent fail
Line 27275: [ 2.460112] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_88_percent fail
Line 27276: [ 2.469821] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_89_percent fail
Line 27276: [ 2.469821] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_89_percent fail
Line 27277: [ 2.479528] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_90_percent fail
Line 27277: [ 2.479528] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_90_percent fail
Line 27278: [ 2.489236] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_91_percent fail
Line 27278: [ 2.489236] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_91_percent fail
Line 27279: [ 2.498940] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_92_percent fail
Line 27279: [ 2.498940] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_92_percent fail
Line 27280: [ 2.508647] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_93_percent fail
Line 27280: [ 2.508647] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_93_percent fail
Line 27281: [ 2.518365] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_94_percent fail
Line 27281: [ 2.518365] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_94_percent fail
Line 27282: [ 2.528060] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_95_percent fail
Line 27282: [ 2.528060] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_95_percent fail
Line 27283: [ 2.537768] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_96_percent fail
Line 27283: [ 2.537768] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_96_percent fail
Line 27284: [ 2.547474] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_97_percent fail
Line 27284: [ 2.547474] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_97_percent fail
Line 27285: [ 2.557179] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_98_percent fail
Line 27285: [ 2.557179] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_98_percent fail
Line 27286: [ 2.566888] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_99_percent fail
Line 27286: [ 2.566888] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_bl_99_percent fail
Line 27287: [ 2.576763] [DISP] lcd_get_sys_config,line:490:lcd0 sys config: used=1, bl_en_used=1, bl_en_power=, backlight=50
Line 27287: [ 2.576763] [DISP] lcd_get_sys_config,line:490:lcd0 sys config: used=1, bl_en_used=1, bl_en_power=, backlight=50
Line 27288: [ 2.586566] [DISP] lcd_get_sys_config,line:496:lcd0 power[0]: used=1 name=cldo4, fix_used=0 fix=
Line 27288: [ 2.586566] [DISP] lcd_get_sys_config,line:496:lcd0 power[0]: used=1 name=cldo4, fix_used=0 fix=
Line 27289: [ 2.595319] [DISP] lcd_get_sys_config,line:496:lcd0 power[1]: used=1 name=cldo3, fix_used=0 fix=
Line 27289: [ 2.595319] [DISP] lcd_get_sys_config,line:496:lcd0 power[1]: used=1 name=cldo3, fix_used=0 fix=
Line 27290: [ 2.604072] [DISP] lcd_get_sys_config,line:496:lcd0 power[2]: used=1 name=cldo1, fix_used=0 fix=
Line 27290: [ 2.604072] [DISP] lcd_get_sys_config,line:496:lcd0 power[2]: used=1 name=cldo1, fix_used=0 fix=
Line 27291: [ 2.612826] [DISP] lcd_get_sys_config,line:496:lcd0 power[3]: used=0 name=, fix_used=0 fix=
Line 27291: [ 2.612826] [DISP] lcd_get_sys_config,line:496:lcd0 power[3]: used=0 name=, fix_used=0 fix=
Line 27292: [ 2.621146] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[0] used=1
Line 27292: [ 2.621146] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[0] used=1
Line 27293: [ 2.627288] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[1] used=1
Line 27293: [ 2.627288] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[1] used=1
Line 27294: [ 2.633442] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[2] used=1
Line 27294: [ 2.633442] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[2] used=1
Line 27295: [ 2.639606] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[3] used=1
Line 27295: [ 2.639606] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[3] used=1
Line 27296: [ 2.645759] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[4] used=0
Line 27296: [ 2.645759] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[4] used=0
Line 27297: [ 2.651912] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[5] used=0
Line 27297: [ 2.651912] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[5] used=0
Line 27298: [ 2.658055] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[6] used=0
Line 27298: [ 2.658055] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[6] used=0
Line 27299: [ 2.664208] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[7] used=0
Line 27299: [ 2.664208] [DISP] lcd_get_sys_config,line:501:lcd0 gpio[7] used=0
Line 27300: [ 2.670361] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[0]= pin_power[0]=
Line 27300: [ 2.670361] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[0]= pin_power[0]=
Line 27301: [ 2.677739] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[1]= pin_power[1]=
Line 27301: [ 2.677739] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[1]= pin_power[1]=
Line 27302: [ 2.685106] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[2]= pin_power[2]=
Line 27302: [ 2.685106] [DISP] lcd_get_sys_config,line:507:lcd0 gpio_power[2]= pin_power[2]=
Line 27303: [ 2.694294] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_div fail
Line 27303: [ 2.694294] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_div fail
Line 27304: [ 2.702576] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_if fail
Line 27304: [ 2.702576] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_if fail
Line 27305: [ 2.711254] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_if fail
Line 27305: [ 2.711254] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_if fail
Line 27306: [ 2.720112] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_mode fail
Line 27306: [ 2.720112] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_mode fail
Line 27307: [ 2.729472] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_colordepth fail
Line 27307: [ 2.729472] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_colordepth fail
Line 27308: [ 2.739353] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_io_polarity fail
Line 27308: [ 2.739353] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_lvds_io_polarity fail
Line 27309: [ 2.749319] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_if fail
Line 27309: [ 2.749319] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_if fail
Line 27310: [ 2.758420] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_te fail
Line 27310: [ 2.758420] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_te fail
Line 27311: [ 2.767519] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_mode fail
Line 27311: [ 2.767519] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_cpu_mode fail
Line 27312: [ 2.777791] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_dsi_port_num fail
Line 27312: [ 2.777791] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_dsi_port_num fail
Line 27313: [ 2.786416] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_mode fail
Line 27313: [ 2.786416] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_mode fail
Line 27314: [ 2.795774] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_tcon_num fail
Line 27314: [ 2.795774] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_tcon_num fail
Line 27315: [ 2.805565] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_stop_pos fail
Line 27315: [ 2.805565] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_slave_stop_pos fail
Line 27316: [ 2.815360] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_pixel_num fail
Line 27316: [ 2.815360] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_pixel_num fail
Line 27317: [ 2.825152] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_line_num fail
Line 27317: [ 2.825152] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_sync_line_num fail
Line 27318: [ 2.834860] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_en_odd_even_div fail
Line 27318: [ 2.834860] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_tcon_en_odd_even_div fail
Line 27319: [ 2.845174] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_en fail
Line 27319: [ 2.845174] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_en fail
Line 27320: [ 2.854446] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_act_time fail
Line 27320: [ 2.854446] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_act_time fail
Line 27321: [ 2.864239] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_dis_time fail
Line 27321: [ 2.864239] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_dis_time fail
Line 27322: [ 2.874033] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_pol fail
Line 27322: [ 2.874033] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_fsync_pol fail
Line 27323: [ 2.883393] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_clk_phase fail
Line 27323: [ 2.883393] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_clk_phase fail
Line 27324: [ 2.893014] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_sync_polarity fail
Line 27324: [ 2.893014] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_sync_polarity fail
Line 27325: [ 2.902980] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_srgb_seq fail
Line 27325: [ 2.902980] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_srgb_seq fail
Line 27326: [ 2.912513] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_rb_swap fail
Line 27326: [ 2.912513] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_rb_swap fail
Line 27327: [ 2.921710] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_seq fail
Line 27327: [ 2.921710] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_seq fail
Line 27328: [ 2.931234] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_fdly fail
Line 27328: [ 2.931234] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_hv_syuv_fdly fail
Line 27329: [ 2.941184] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_xtal_freq fail
Line 27329: [ 2.941184] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd0.lcd_xtal_freq fail
Line 27330: [ 2.950214] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_size fail
Line 27330: [ 2.950214] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_size fail
Line 27331: [ 2.958878] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_model_name fail
Line 27331: [ 2.958878] [DISP] disp_sys_script_get_item,line:214:of_property_read_string lcd0.lcd_model_name fail
Line 27334: [ 2.984460] [DISP] lcd_clk_init,line:521:lcd 0 clk init
Line 27334: [ 2.984460] [DISP] lcd_clk_init,line:521:lcd 0 clk init
Line 27335: [ 2.989816] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd1.lcd_used fail
Line 27335: [ 2.989816] [DISP] disp_sys_script_get_item,line:206:of_property_read_u32_array lcd1.lcd_used fail
Line 27375: [ 3.231010] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name default_lcd
Line 27375: [ 3.231010] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name default_lcd
Line 27375: [ 3.231010] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name default_lcd
Line 27376: [ 3.241935] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt070me05000
Line 27376: [ 3.241935] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt070me05000
Line 27377: [ 3.252940] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name wtq05027d01
Line 27377: [ 3.252940] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name wtq05027d01
Line 27378: [ 3.263859] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name t27p06
Line 27378: [ 3.263859] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name t27p06
Line 27379: [ 3.274346] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name dx0960be40a1
Line 27379: [ 3.274346] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name dx0960be40a1
Line 27380: [ 3.285353] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name tft720x1280
Line 27380: [ 3.285353] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name tft720x1280
Line 27381: [ 3.296274] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name S6D7AA0X01
Line 27381: [ 3.296274] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name S6D7AA0X01
Line 27382: [ 3.307105] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name gg1p4062utsw
Line 27382: [ 3.307105] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name gg1p4062utsw
Line 27383: [ 3.318112] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name ls029b3sx02
Line 27383: [ 3.318112] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name ls029b3sx02
Line 27384: [ 3.329032] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name he0801a068
Line 27384: [ 3.329032] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name he0801a068
Line 27385: [ 3.339867] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name inet_dsi_panel
Line 27385: [ 3.339867] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name inet_dsi_panel
Line 27386: [ 3.351046] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lq101r1sx03
Line 27386: [ 3.351046] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lq101r1sx03
Line 27387: [ 3.361965] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name WilliamLcd
Line 27387: [ 3.361965] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name WilliamLcd
Line 27387: [ 3.361965] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name WilliamLcd
Line 27388: [ 3.372799] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name fx070
Line 27388: [ 3.372799] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name fx070
Line 27389: [ 3.383201] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name FX070_DHM18BOEL2_1024X600
Line 27389: [ 3.383201] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name FX070_DHM18BOEL2_1024X600
Line 27390: [ 3.395332] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name bp101wx1
Line 27390: [ 3.395332] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name bp101wx1
Line 27391: [ 3.405994] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56
Line 27391: [ 3.405994] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56
Line 27392: [ 3.416566] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56_two
Line 27392: [ 3.416566] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name m133x56_two
Line 27393: [ 3.427487] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2qa04
Line 27393: [ 3.427487] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2qa04
Line 27394: [ 3.438407] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2byl02l
Line 27394: [ 3.438407] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k101im2byl02l
Line 27395: [ 3.449500] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt8911ex
Line 27395: [ 3.449500] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name lt8911ex
Line 27396: [ 3.460159] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K101_IM2BYL02_L_800X1280
Line 27396: [ 3.460159] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K101_IM2BYL02_L_800X1280
Line 27397: [ 3.472206] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name kd080d24
Line 27397: [ 3.472206] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name kd080d24
Line 27398: [ 3.482868] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k080_im2b801_h
Line 27398: [ 3.482868] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name k080_im2b801_h
Line 27399: [ 3.494045] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K080_IM2HYL802R_800X1280
Line 27399: [ 3.494045] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name K080_IM2HYL802R_800X1280
Line 27400: [ 3.506094] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name CC08021801_310_800X1280
Line 27400: [ 3.506094] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name CC08021801_310_800X1280
Line 27401: [ 3.518053] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name AXS1832_055FS01_720X1280
Line 27401: [ 3.518053] [DISP] disp_lcd_set_panel_funs,line:2328:lcd 0, driver_name AXS1832_055FS01_720X1280, panel_name AXS1832_055FS01_720X1280
Line 27402: [ 3.529933] [LCD] LCD_cfg_panel_info: enter
Line 27402: [ 3.529933] [LCD] LCD_cfg_panel_info: enter
Line 27403: [ 3.534096] [LCD] LCD_cfg_panel_info: exit
Line 27403: [ 3.534096] [LCD] LCD_cfg_panel_info: exit
Line 27404: [ 3.538167] [DISP] bsp_disp_lcd_set_panel_funs,line:1565:panel driver AXS1832_055FS01_720X1280 register
Line 27525: [ 3.957207] [DISP] lcd_clk_config,line:684:clk_set_rate:dsi's 0 th clk with 150000000
Line 27526: [ 3.957214] [DISP] lcd_clk_config,line:699:[ 3.957221] disp 0, clk: pll(384000000),clk(384000000),dclk(64000000) dsi_rate(64000000)
Line 27528: [ 3.957265] [DISP] cal_real_frame_period,line:605:lcd frame period:16770250
Line 27533: [ 3.962337] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_0, gpio=118, <1,0,3,1>ret=0
Line 27534: [ 3.962391] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_1, gpio=39, <1,0,3,1>ret=0
Line 27535: [ 3.962416] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_2, gpio=37, <1,0,3,1>ret=0
Line 27536: [ 3.962440] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_3, gpio=38, <1,0,3,1>ret=0
Line 27537: [ 3.962466] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_bl_en, gpio=119, <1,0,3,1>ret=0
Line 43967: [ 264.585556] [DISP] disp_lcd_disable,line:2042:lcd 0
Line 43967: [ 264.585556] [DISP] disp_lcd_disable,line:2042:lcd 0
Line 43968: [ 264.591138] LCD_close_flow
Line 43969: [ 264.594251] LCD_bl_close
Line 43972: [ 264.637362] [DISP] disp_lcd_panel_close,line:1754:close flow:step 0 finish, to delay 200
Line 43973: [ 264.915205] [DISP] disp_lcd_panel_close,line:1754:close flow:step 1 finish, to delay 20
Line 43974: [ 265.051867] [DISP] disp_lcd_panel_close,line:1754:close flow:step 2 finish, to delay 10
Line 43975: [ 265.071857] LCD_power_off
Line 43976: [ 265.074908] [DISP] disp_lcd_pin_cfg,line:1004:lcd 0 pin config, state off, 0
Line 43976: [ 265.074908] [DISP] disp_lcd_pin_cfg,line:1004:lcd 0 pin config, state off, 0
Line 43999: [ 265.238754] [DISP] disp_lcd_panel_close,line:1754:close flow:step 3 finish, to delay 500
Line 44041: [ 265.755115] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_0, gpio=118, <7,0,3,1>ret=0
Line 44042: [ 265.755250] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_1, gpio=39, <7,0,3,1>ret=0
Line 44043: [ 265.755338] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_2, gpio=37, <7,0,3,1>ret=0
Line 44044: [ 265.755424] [DISP] disp_sys_gpio_request,line:280:disp_sys_gpio_request, gpio_name=lcd_gpio_3, gpio=38, <7,0,3,1>ret=0屏幕是mipi的720*1280的NV3052_BV055HDL_NB6型号
你提供的信息很有限,没法分析。
完整报错信息:
[ 107.311165] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3)
[ 107.320956] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4)
[ 107.330676] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5)
[ 107.340367] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6)
[ 107.350250] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x7)
[ 107.359835] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x8)
[ 107.369453] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x9)
[ 107.379070] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xa)
[ 107.388751] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xb)
[ 107.398379] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xc)
[ 107.407991] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xd)
[ 107.417682] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xe)
[ 107.427290] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xf)
[ 107.437429] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x10)
[ 107.447131] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x11)
[ 107.456932] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x12)
[ 107.466689] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x13)
[ 107.476443] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x14)
[ 107.486187] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x15)
[ 107.495887] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x16)
[ 107.505627] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x17)
[ 107.515488] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x18)
[ 107.525335] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x19)
[ 107.535075] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1a)
[ 107.544771] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1b)
[ 107.554712] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1c)
[ 107.564565] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1d)
[ 107.574809] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1e)
[ 107.584560] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1f)
[ 107.594328] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x20)
[ 107.599813] healthd: battery l=79 v=4003 t=30.0 h=2 st=2 fc=1771 chg=u
[ 107.611603] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x21)
[ 107.621483] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x22)
[ 107.631398] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x23)
[ 107.641359] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x24)
[ 107.651147] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x25)
[ 107.660840] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x26)
[ 107.670569] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x27)
[ 107.680301] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x28)
[ 107.690746] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x29)
[ 107.700783] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2a)
[ 107.710488] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2b)
[ 107.720374] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2c)
[ 107.730071] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2d)
[ 107.739777] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2e)
[ 107.749500] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.759010] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.764648] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2f)
[ 107.774298] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.783673] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.789257] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 107.798948] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.808392] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.814000] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x31)
[ 107.823651] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.833054] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.838659] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x32)
[ 107.848292] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.857735] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.863393] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x33)
[ 107.873097] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.882583] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.882836] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x34)
[ 107.883142] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x35)
[ 107.883424] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x36)
[ 107.883699] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x37)
[ 107.883968] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x38)
[ 107.884241] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x39)
[ 107.884581] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3a)
[ 107.884880] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3c)
[ 107.885151] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3d)
[ 107.885420] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3e)
[ 107.885689] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3f)
[ 107.885991] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x40)
[ 107.886260] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x41)
[ 107.886529] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x42)
[ 107.886798] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x43)
[ 107.887066] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x44)
[ 107.887335] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x45)
[ 107.887611] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x46)
[ 107.887880] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x47)
[ 107.888148] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x48)
[ 107.888420] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x49)
[ 107.888708] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4a)
[ 107.888977] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4b)
[ 107.889239] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 107.889501] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4d)
[ 107.889771] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4e)
[ 107.890038] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4f)
[ 107.890340] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x50)
[ 107.890607] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 107.890886] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x52)
[ 107.891155] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x53)
[ 107.891422] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x54)
[ 107.891687] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x55)
[ 107.891952] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x56)
[ 107.892219] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x57)
[ 107.892484] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x58)
[ 107.892749] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x59)
[ 107.893016] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5a)
[ 107.893282] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5b)
[ 107.893548] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5c)
[ 107.893814] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 107.894079] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5e)
[ 107.894399] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5f)
[ 107.894702] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x60)
[ 107.894973] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x61)
[ 107.895241] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x62)
[ 107.895509] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x63)
[ 107.895778] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x64)
[ 107.896048] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x65)
[ 107.896317] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x66)
[ 107.896584] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x67)
[ 107.896853] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x68)
[ 107.897122] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x69)
[ 107.897391] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6a)
[ 107.897666] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6b)
[ 107.897938] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6c)
[ 107.898208] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6d)
[ 107.898476] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6e)
[ 107.898744] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6f)
[ 107.899045] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x70)
[ 107.899313] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x71)
[ 107.899581] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x72)
[ 107.899850] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x73)
[ 107.900118] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x74)
[ 107.900386] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x75)
[ 107.900656] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x76)
[ 107.900928] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x77)
[ 108.516483] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.525921] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.531723] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.541209] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.546989] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.556390] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.562104] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.571472] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.577197] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.586569] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.592297] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.601670] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.607396] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.616769] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.622474] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.632107] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.637920] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.647337] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.653059] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.662524] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.668299] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.677696] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.683468] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.692978] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.698772] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.708168] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.713881] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.723296] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.729010] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.738384] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.744121] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.753495] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.759232] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.768662] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.774445] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.783824] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.789573] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.798964] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.804677] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.814068] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.819784] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.829172] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.834884] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.844356] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.850192] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.867975] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.875015] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.884979] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.893156] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.903009] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.909402] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.918950] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.924824] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.934287] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.940130] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.949631] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.955409] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.964898] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.971172] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.980763] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.986597] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.996107] msg ft5x_i2c_rxdata i2c read error: -70
[ 117.627842] healthd: battery l=79 v=4006 t=30.0 h=2 st=2 fc=1771 chg=u
[ 127.075858] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 127.083902] [DISP] de_smbl_apply,line:241:sel0, en=1, win=<0,0,720,1280>
[ 127.091597] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 127.646667] healthd: battery l=79 v=3999 t=30.0 h=2 st=2 fc=1771 chg=u
[ 134.125838] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 134.133961] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 134.142416] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 134.149711] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 134.156975] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 134.164266] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 134.171540] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 134.178839] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 134.186180] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 134.193462] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 134.200636] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 134.207889] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 134.215142] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 134.222370] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 134.229576] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 134.236797] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 134.243963] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 134.251209] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 134.258528] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 134.264479] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 134.272459] [DISP] de_al_lyr_apply,line:484:ch0 z 0 en
[ 134.278302] [DISP] de_al_lyr_apply,line:484:ch1 z 1 dis
[ 134.284236] [DISP] de_al_lyr_apply,line:484:ch2 z 0 dis
[ 134.290131] [DISP] de_al_lyr_apply,line:484:ch3 z 0 dis
[ 134.296061] [DISP] de_al_lyr_apply,line:487:pipe0 z 0 en
[ 134.302118] [DISP] de_al_lyr_apply,line:487:pipe1 z 0 dis
[ 134.308244] [DISP] de_al_lyr_apply,line:487:pipe2 z 0 dis
[ 134.314350] [DISP] de_al_lyr_apply,line:487:pipe3 z 0 dis
[ 134.320462] [DISP] de_al_lyr_apply,line:502:format[0]=0
[ 134.326366] [DISP] de_al_lyr_apply,line:502:format[1]=0
[ 134.332259] [DISP] de_calc_ovl_coord,line:389:half_shift_xy=<40000,19,0>
[ 134.339901] [DISP] de_calc_ovl_coord,line:389:half_shift_xy=<40000,19,0>
[ 134.347474] [DISP] de_rtmx_calc_chnrect,line:1729:layernum=4, i=0
[ 134.354411] [DISP] de_rtmx_calc_chnrect,line:1731:crop=<0,0,720,1280>
[ 134.361726] [DISP] de_rtmx_calc_chnrect,line:1733:layer=<0,0,720,1280>
[ 134.369133] [DISP] de_rtmx_calc_chnrect,line:1742:ovl_rect=<0,0,720,1280>
[ 134.376778] [DISP] de_rtmx_calc_chnrect,line:1744:bld_rect=<0,0,720,1280>
[ 134.384477] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[0]=<720,1280>
[ 134.392684] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[0]=<0,0,720,1280>
[ 134.401259] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[1]=<0,0>
[ 134.408971] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[1]=<0,0,0,0>
[ 134.417044] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[2]=<0,0>
[ 134.424774] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[2]=<0,0,0,0>
[ 134.432399] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=3
[ 134.432407] [DISP] de_smbl_apply,line:241:sel0, en=1, win=<0,0,720,1280>
[ 134.432413] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=2
[ 134.456337] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[3]=<0,0>
[ 134.464041] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[3]=<0,0,0,0>
[ 134.472183] [DISP] de_calc_overlay_scaler_para,line:187:fmt[0]=0, ovlw[0]=720,ovlh[0]=1280, bld_rect[0].w=720, bld_rect[0].h=1280
[ 134.485376] [DISP] de_vsu_set_para,line:274:sel0, ch 0, en=0, in<720x1280>,out<720x1280>
[ 134.494596] [DISP] de_calc_overlay_scaler_para,line:187:fmt[1]=0, ovlw[1]=0,ovlh[1]=0, bld_rect[1].w=0, bld_rect[1].h=0
[ 134.506828] [DISP] de_vsu_set_para,line:274:sel0, ch 1, en=0, in<0x0>,out<0x0>
[ 134.515145] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[0]=<0,0,720,1280>
[ 134.523367] [DISP] de_rtmx_set_route,line:1539:sel0, pno0, zorder0, route:0x0
[ 134.531458] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 134.539763] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[1]=<0,0,0,0>
[ 134.547420] [DISP] de_rtmx_set_route,line:1539:sel0, pno1, zorder0, route:0x0
[ 134.555526] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 134.563824] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[2]=<0,0,0,0>
[ 134.571520] [DISP] de_rtmx_set_route,line:1539:sel0, pno2, zorder0, route:0x0
[ 134.579609] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 134.587901] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[3]=<0,0,0,0>
[ 134.595647] [DISP] de_rtmx_set_route,line:1539:sel0, pno3, zorder0, route:0x0
[ 134.603782] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 134.612122] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 134.620219] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 134.633735] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 134.641887] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 134.650108] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 134.657416] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 134.664726] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 134.672025] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 134.679368] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 134.686700] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 134.693890] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 134.701152] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 134.708403] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 134.715669] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 134.722930] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 134.730227] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 134.737455] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 134.744715] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 134.752005] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 134.759267] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 134.766654] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 134.772658] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 134.780713] [DISP] de_al_lyr_apply,line:484:ch0 z 0 en
[ 134.786580] [DISP] de_al_lyr_apply,line:484:ch1 z 1 dis
[ 134.792500] [DISP] de_al_lyr_apply,line:484:ch2 z 0 dis
[ 134.798439] [DISP] de_al_lyr_apply,line:484:ch3 z 0 dis
[ 134.804382] [DISP] de_al_lyr_apply,line:487:pipe0 z 0 en
[ 134.810417] [DISP] de_al_lyr_apply,line:487:pipe1 z 0 dis
[ 134.816546] [DISP] de_al_lyr_apply,line:487:pipe2 z 0 dis
[ 134.822644] [DISP] de_al_lyr_apply,line:487:pipe3 z 0 dis
[ 134.828854] [DISP] de_al_lyr_apply,line:502:format[0]=0
[ 134.834836] [DISP] de_al_lyr_apply,line:502:format[1]=0
[ 134.840816] [DISP] de_calc_ovl_coord,line:389:half_shift_xy=<40000,19,0>
[ 134.848506] [DISP] de_calc_ovl_coord,line:389:half_shift_xy=<40000,19,0>
[ 134.856168] [DISP] de_rtmx_calc_chnrect,line:1729:layernum=4, i=0
[ 134.863072] [DISP] de_rtmx_calc_chnrect,line:1731:crop=<0,0,720,1280>
[ 134.870358] [DISP] de_rtmx_calc_chnrect,line:1733:layer=<0,0,720,1280>
[ 134.877762] [DISP] de_rtmx_calc_chnrect,line:1742:ovl_rect=<0,0,720,1280>
[ 134.885476] [DISP] de_rtmx_calc_chnrect,line:1744:bld_rect=<0,0,720,1280>
[ 134.893215] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[0]=<720,1280>
[ 134.901401] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[0]=<0,0,720,1280>
[ 134.910012] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[1]=<0,0>
[ 134.917711] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[1]=<0,0,0,0>
[ 134.925779] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[2]=<0,0>
[ 134.933405] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[2]=<0,0,0,0>
[ 134.941421] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[3]=<0,0>
[ 134.949046] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[3]=<0,0,0,0>
[ 134.957052] [DISP] de_calc_overlay_scaler_para,line:187:fmt[0]=0, ovlw[0]=720,ovlh[0]=1280, bld_rect[0].w=720, bld_rect[0].h=1280
[ 134.970130] [DISP] de_vsu_set_para,line:274:sel0, ch 0, en=0, in<720x1280>,out<720x1280>
[ 134.979216] [DISP] de_calc_overlay_scaler_para,line:187:fmt[1]=0, ovlw[1]=0,ovlh[1]=0, bld_rect[1].w=0, bld_rect[1].h=0
[ 134.991326] [DISP] de_vsu_set_para,line:274:sel0, ch 1, en=0, in<0x0>,out<0x0>
[ 134.999467] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[0]=<0,0,720,1280>
[ 135.007583] [DISP] de_rtmx_set_route,line:1539:sel0, pno0, zorder0, route:0x0
[ 135.015667] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.023877] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[1]=<0,0,0,0>
[ 135.031511] [DISP] de_rtmx_set_route,line:1539:sel0, pno1, zorder0, route:0x0
[ 135.039526] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.047736] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[2]=<0,0,0,0>
[ 135.055360] [DISP] de_rtmx_set_route,line:1539:sel0, pno2, zorder0, route:0x0
[ 135.063378] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.071599] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[3]=<0,0,0,0>
[ 135.079232] [DISP] de_rtmx_set_route,line:1539:sel0, pno3, zorder0, route:0x0
[ 135.087265] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.095464] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 135.103384] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 135.119815] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 135.127754] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 135.135847] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 135.142970] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 135.150083] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 135.157265] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 135.164406] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 135.171524] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 135.178638] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 135.185751] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 135.192866] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 135.199979] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 135.207081] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 135.214196] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 135.221310] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 135.228421] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 135.235536] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 135.242650] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 135.249819] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 135.255663] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 135.263544] [DISP] de_al_lyr_apply,line:484:ch0 z 0 en
[ 135.269289] [DISP] de_al_lyr_apply,line:484:ch1 z 1 dis
[ 135.275141] [DISP] de_al_lyr_apply,line:484:ch2 z 0 dis
[ 135.280991] [DISP] de_al_lyr_apply,line:484:ch3 z 0 dis
[ 135.286831] [DISP] de_al_lyr_apply,line:487:pipe0 z 0 en
[ 135.292770] [DISP] de_al_lyr_apply,line:487:pipe1 z 0 dis
[ 135.298823] [DISP] de_al_lyr_apply,line:487:pipe2 z 0 dis
[ 135.304886] [DISP] de_al_lyr_apply,line:487:pipe3 z 0 dis
[ 135.310955] [DISP] de_al_lyr_apply,line:502:format[0]=0
[ 135.316819] [DISP] de_al_lyr_apply,line:502:format[1]=0
[ 135.322694] [DISP] de_calc_ovl_coord,line:389:half_shift_xy=<40000,19,0>
[ 135.330223] [DISP] de_calc_ovl_coord,line:389:half_shift_xy=<40000,19,0>
[ 135.337752] [DISP] de_rtmx_calc_chnrect,line:1729:layernum=4, i=0
[ 135.344599] [DISP] de_rtmx_calc_chnrect,line:1731:crop=<0,0,720,1280>
[ 135.351833] [DISP] de_rtmx_calc_chnrect,line:1733:layer=<0,0,720,1280>
[ 135.359165] [DISP] de_rtmx_calc_chnrect,line:1742:ovl_rect=<0,0,720,1280>
[ 135.366782] [DISP] de_rtmx_calc_chnrect,line:1744:bld_rect=<0,0,720,1280>
[ 135.374418] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[0]=<720,1280>
[ 135.382534] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[0]=<0,0,720,1280>
[ 135.391033] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[1]=<0,0>
[ 135.398656] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[1]=<0,0,0,0>
[ 135.406663] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[2]=<0,0>
[ 135.414287] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[2]=<0,0,0,0>
[ 135.422300] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[3]=<0,0>
[ 135.429913] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[3]=<0,0,0,0>
[ 135.437930] [DISP] de_calc_overlay_scaler_para,line:187:fmt[0]=0, ovlw[0]=720,ovlh[0]=1280, bld_rect[0].w=720, bld_rect[0].h=1280
[ 135.451003] [DISP] de_vsu_set_para,line:274:sel0, ch 0, en=0, in<720x1280>,out<720x1280>
[ 135.460087] [DISP] de_calc_overlay_scaler_para,line:187:fmt[1]=0, ovlw[1]=0,ovlh[1]=0, bld_rect[1].w=0, bld_rect[1].h=0
[ 135.472185] [DISP] de_vsu_set_para,line:274:sel0, ch 1, en=0, in<0x0>,out<0x0>
[ 135.480316] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[0]=<0,0,720,1280>
[ 135.488431] [DISP] de_rtmx_set_route,line:1539:sel0, pno0, zorder0, route:0x0
[ 135.496449] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.504658] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[1]=<0,0,0,0>
[ 135.512281] [DISP] de_rtmx_set_route,line:1539:sel0, pno1, zorder0, route:0x0
[ 135.520297] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.528507] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[2]=<0,0,0,0>
[ 135.536131] [DISP] de_rtmx_set_route,line:1539:sel0, pno2, zorder0, route:0x0
[ 135.544138] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.552348] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[3]=<0,0,0,0>
[ 135.559968] [DISP] de_rtmx_set_route,line:1539:sel0, pno3, zorder0, route:0x0
[ 135.567995] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.576215] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 135.584250] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 135.592391] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 135.600347] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 135.608470] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 135.615617] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 135.622758] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 135.629905] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 135.637037] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 135.644169] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 135.651309] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 135.658447] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 135.665587] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 135.672728] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 135.679867] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 135.686998] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 135.694126] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 135.701264] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 135.708406] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 135.715544] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 135.722686] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 135.728563] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 135.736484] [DISP] de_al_lyr_apply,line:484:ch0 z 0 dis
[ 135.742350] [DISP] de_al_lyr_apply,line:484:ch1 z 1 dis
[ 135.748224] [DISP] de_al_lyr_apply,line:484:ch2 z 0 dis
[ 135.754089] [DISP] de_al_lyr_apply,line:484:ch3 z 0 dis
[ 135.759956] [DISP] de_al_lyr_apply,line:487:pipe0 z 0 dis
[ 135.766016] [DISP] de_al_lyr_apply,line:487:pipe1 z 0 dis
[ 135.772082] [DISP] de_al_lyr_apply,line:487:pipe2 z 0 dis
[ 135.778150] [DISP] de_al_lyr_apply,line:487:pipe3 z 0 dis
[ 135.784216] [DISP] de_al_lyr_apply,line:502:format[0]=0
[ 135.790141] [DISP] de_al_lyr_apply,line:502:format[1]=0
[ 135.796030] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[0]=<0,0>
[ 135.803646] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[0]=<0,0,0,0>
[ 135.811662] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[1]=<0,0>
[ 135.819286] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[1]=<0,0,0,0>
[ 135.827315] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[2]=<0,0>
[ 135.835044] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[2]=<0,0,0,0>
[ 135.843113] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[3]=<0,0>
[ 135.850805] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[3]=<0,0,0,0>
[ 135.858916] [DISP] de_calc_overlay_scaler_para,line:187:fmt[0]=0, ovlw[0]=0,ovlh[0]=0, bld_rect[0].w=0, bld_rect[0].h=0
[ 135.871110] [DISP] de_vsu_set_para,line:274:sel0, ch 0, en=0, in<0x0>,out<0x0>
[ 135.879267] [DISP] de_calc_overlay_scaler_para,line:187:fmt[1]=0, ovlw[1]=0,ovlh[1]=0, bld_rect[1].w=0, bld_rect[1].h=0
[ 135.891400] [DISP] de_vsu_set_para,line:274:sel0, ch 1, en=0, in<0x0>,out<0x0>
[ 135.899542] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[0]=<0,0,0,0>
[ 135.907172] [DISP] de_rtmx_set_route,line:1539:sel0, pno0, zorder0, route:0x0
[ 135.915191] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.923407] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[1]=<0,0,0,0>
[ 135.931035] [DISP] de_rtmx_set_route,line:1539:sel0, pno1, zorder0, route:0x0
[ 135.939053] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.947263] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[2]=<0,0,0,0>
[ 135.954898] [DISP] de_rtmx_set_route,line:1539:sel0, pno2, zorder0, route:0x0
[ 135.962913] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.971125] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[3]=<0,0,0,0>
[ 135.978755] [DISP] de_rtmx_set_route,line:1539:sel0, pno3, zorder0, route:0x0
[ 135.986771] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 135.994992] [DISP] de_enhance_apply,line:203:disp 0, en=1, sharp=0
[ 136.001950] [DISP] de_peak_enable,line:122:sel=0, chno=0, en=0
[ 136.008519] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 136.016496] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 136.025404] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 136.033387] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 136.041518] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 136.048665] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 136.055806] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 136.062941] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 136.070078] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 136.077211] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 136.084350] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 136.091490] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 136.098626] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 136.105771] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 136.112912] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 136.120050] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 136.127183] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 136.134324] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 136.141468] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 136.148607] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 136.155751] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 136.161625] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 136.169542] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 136.177465] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 136.193225] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 136.201217] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 136.209345] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 136.216490] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 136.223621] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 136.230753] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 136.237973] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 136.245137] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 136.252277] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 136.259420] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 136.266559] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 136.273693] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 136.280829] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 136.287970] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 136.295111] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 136.302251] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 136.309391] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 136.316530] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 136.323665] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 136.329532] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 136.337441] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 136.345375] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 136.360677] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=1
[ 136.368622] [DISP] disp_mgr_set_layer_config2,line:1867:mgr0, config 16 layers
[ 136.376739] [DISP] disp_get_layer,line:97:0,0,0, name=mgr0 chn0 lyr0
[ 136.383872] [DISP] disp_get_layer,line:97:0,0,1, name=mgr0 chn0 lyr1
[ 136.391016] [DISP] disp_get_layer,line:97:0,0,2, name=mgr0 chn0 lyr2
[ 136.398155] [DISP] disp_get_layer,line:97:0,0,3, name=mgr0 chn0 lyr3
[ 136.405296] [DISP] disp_get_layer,line:97:0,1,0, name=mgr0 chn1 lyr0
[ 136.412434] [DISP] disp_get_layer,line:97:0,1,1, name=mgr0 chn1 lyr1
[ 136.419574] [DISP] disp_get_layer,line:97:0,1,2, name=mgr0 chn1 lyr2
[ 136.426796] [DISP] disp_get_layer,line:97:0,1,3, name=mgr0 chn1 lyr3
[ 136.433941] [DISP] disp_get_layer,line:97:0,2,0, name=mgr0 chn2 lyr0
[ 136.441084] [DISP] disp_get_layer,line:97:0,2,1, name=mgr0 chn2 lyr1
[ 136.448229] [DISP] disp_get_layer,line:97:0,2,2, name=mgr0 chn2 lyr2
[ 136.455383] [DISP] disp_get_layer,line:97:0,2,3, name=mgr0 chn2 lyr3
[ 136.462525] [DISP] disp_get_layer,line:97:0,3,0, name=mgr0 chn3 lyr0
[ 136.469665] [DISP] disp_get_layer,line:97:0,3,1, name=mgr0 chn3 lyr1
[ 136.476805] [DISP] disp_get_layer,line:97:0,3,2, name=mgr0 chn3 lyr2
[ 136.483935] [DISP] disp_get_layer,line:97:0,3,3, name=mgr0 chn3 lyr3
[ 136.491081] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 136.496943] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:1, cnt=2
[ 136.504866] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=1
[ 136.512823] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 136.528567] [DISP] disp_mgr_apply,line:2371:mgr 0 apply
[ 136.534487] [DISP] bsp_disp_shadow_protect,line:688:[ 136.539875] disp_runtime_idle
[ 136.543224] sel=0, protect:1, cnt=1
[ 136.547465] [DISP] de_al_lyr_apply,line:484:ch0 z 0 dis
[ 136.553371] [DISP] de_al_lyr_apply,line:484:ch1 z 1 dis
[ 136.559239] [DISP] de_al_lyr_apply,line:484:ch2 z 0 dis
[ 136.565125] [DISP] de_al_lyr_apply,line:484:ch3 z 0 dis
[ 136.571000] [DISP] de_al_lyr_apply,line:487:pipe0 z 0 dis
[ 136.577061] [DISP] de_al_lyr_apply,line:487:pipe1 z 0 dis
[ 136.583148] [DISP] de_al_lyr_apply,line:487:pipe2 z 0 dis
[ 136.589215] [DISP] de_al_lyr_apply,line:487:pipe3 z 0 dis
[ 136.595325] [DISP] de_al_lyr_apply,line:502:format[0]=0
[ 136.601179] [DISP] de_al_lyr_apply,line:502:format[1]=0
[ 136.607040] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[0]=<0,0>
[ 136.614677] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[0]=<0,0,0,0>
[ 136.622693] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[1]=<0,0>
[ 136.630320] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[1]=<0,0,0,0>
[ 136.638337] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[2]=<0,0>
[ 136.645972] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[2]=<0,0,0,0>
[ 136.653978] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[3]=<0,0>
[ 136.661600] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[3]=<0,0,0,0>
[ 136.669625] [DISP] de_calc_overlay_scaler_para,line:187:fmt[0]=0, ovlw[0]=0,ovlh[0]=0, bld_rect[0].w=0, bld_rect[0].h=0
[ 136.681789] [DISP] de_vsu_set_para,line:274:sel0, ch 0, en=0, in<0x0>,out<0x0>
[ 136.689903] [DISP] de_calc_overlay_scaler_para,line:187:fmt[1]=0, ovlw[1]=0,ovlh[1]=0, bld_rect[1].w=0, bld_rect[1].h=0
[ 136.702011] [DISP] de_vsu_set_para,line:274:sel0, ch 1, en=0, in<0x0>,out<0x0>
[ 136.710140] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[0]=<0,0,0,0>
[ 136.717779] [DISP] de_rtmx_set_route,line:1539:sel0, pno0, zorder0, route:0x0
[ 136.725794] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 136.734011] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[1]=<0,0,0,0>
[ 136.741786] [DISP] de_rtmx_set_route,line:1539:sel0, pno1, zorder0, route:0x0
[ 136.749831] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 136.758051] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[2]=<0,0,0,0>
[ 136.765692] [DISP] de_rtmx_set_route,line:1539:sel0, pno2, zorder0, route:0x0
[ 136.773706] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 136.781932] [DISP] de_al_lyr_apply,line:694:sel=0, pipe_rect[3]=<0,0,0,0>
[ 136.789560] [DISP] de_rtmx_set_route,line:1539:sel0, pno3, zorder0, route:0x0
[ 136.797589] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040580, reg=0x0
[ 136.805813] [DISP] bsp_disp_shadow_protect,line:688:sel=0, protect:0, cnt=0
[ 136.813822] [DISP] disp_mgr_apply,line:2371:mgr 1 apply
[ 136.819692] [DISP] bsp_disp_shadow_protect,line:688:sel=1, protect:1, cnt=1
[ 136.827623] [DISP] de_al_lyr_apply,line:484:ch0 z 0 dis
[ 136.833506] [DISP] de_al_lyr_apply,line:484:ch1 z 1 dis
[ 136.839373] [DISP] de_al_lyr_apply,line:484:ch2 z 0 dis
[ 136.845251] [DISP] de_al_lyr_apply,line:487:pipe0 z 0 dis
[ 136.851331] [DISP] de_al_lyr_apply,line:487:pipe1 z 0 dis
[ 136.857389] [DISP] de_al_lyr_apply,line:487:pipe2 z 0 dis
[ 136.863450] [DISP] de_al_lyr_apply,line:502:format[0]=0
[ 136.869337] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[0]=<0,0>
[ 136.876952] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[0]=<0,0,0,0>
[ 136.884983] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[1]=<0,0>
[ 136.892607] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[1]=<0,0,0,0>
[ 136.900626] [DISP] de_calc_overlay_scaler_para,line:178:ovl_rect[2]=<0,0>
[ 136.908250] [DISP] de_calc_overlay_scaler_para,line:180:bld_rect[2]=<0,0,0,0>
[ 136.916287] [DISP] de_calc_overlay_scaler_para,line:187:fmt[0]=0, ovlw[0]=0,ovlh[0]=0, bld_rect[0].w=0, bld_rect[0].h=0
[ 136.928394] [DISP] de_vsu_set_para,line:274:sel1, ch 0, en=0, in<0x0>,out<0x0>
[ 136.936531] [DISP] de_al_lyr_apply,line:694:sel=1, pipe_rect[0]=<0,0,0,0>
[ 136.944192] [DISP] de_rtmx_set_route,line:1539:sel1, pno0, zorder0, route:0x0
[ 136.952224] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040180, reg=0x0
[ 136.960435] [DISP] de_al_lyr_apply,line:694:sel=1, pipe_rect[1]=<0,0,0,0>
[ 136.968083] [DISP] de_rtmx_set_route,line:1539:sel1, pno1, zorder0, route:0x0
[ 136.976101] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040180, reg=0x0
[ 136.984431] [DISP] de_al_lyr_apply,line:694:sel=1, pipe_rect[2]=<0,0,0,0>
[ 136.992076] [DISP] de_rtmx_set_route,line:1539:sel1, pno2, zorder0, route:0x0
[ 137.000104] [DISP] de_rtmx_set_route,line:1543:addr=0xffffffc07b040180, reg=0x0
[ 137.008319] [DISP] bsp_disp_shadow_protect,line:688:sel=1, protect:0, cnt=0
[ 137.681568] healthd: battery l=79 v=4052 t=30.0 h=2 st=2 fc=1771 chg=u
[ 141.701236] disp_runtime_suspend
[ 141.704979] [DISP] disp_lcd_disable,line:2042:lcd 0
[ 141.710646] LCD_close_flow
[ 141.713762] LCD_bl_close
[ 141.738393] [DISP] disp_sys_pwm_disable,line:607:disp_sys_pwm_Disable pwm 0
[ 141.746399] [DISP] disp_sys_pwm_set_polarity,line:643:disp_sys_pwm_Set_Polarity pwm 0, active high
[ 141.756631] [DISP] disp_lcd_panel_close,line:1754:close flow:step 0 finish, to delay 200
[ 142.034341] [DISP] disp_lcd_panel_close,line:1754:close flow:step 1 finish, to delay 20
[ 142.171220] [DISP] disp_lcd_panel_close,line:1754:close flow:step 2 finish, to delay 10
[ 142.191207] LCD_power_off
[ 142.194256] [DISP] disp_lcd_pin_cfg,line:1004:lcd 0 pin config, state off, 0
[ 142.203349] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.212555] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.221751] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.230980] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.240180] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.249382] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.258569] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.267780] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.276877] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.285943] sun50iw10p1-pinctrl pio: expect_func as:dsi4lane, but muxsel(4) is func:dsi0
[ 142.296582] twi_start()481 - [i2c0] START can't sendout!
[ 142.302565] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.309220] twi_start()481 - [i2c0] START can't sendout!
[ 142.315176] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.321853] twi_start()481 - [i2c0] START can't sendout!
[ 142.327904] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.331677] [DISP] disp_sys_power_disable,line:530:suceess to disable regulator cldo1!
[ 142.343576] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.344726] [DISP] disp_sys_power_disable,line:530:suceess to disable regulator cldo3!
[ 142.357638] 6000000.disp supply cldo4 not found, using dummy regulator
[ 142.357918] [DISP] disp_sys_power_disable,line:530:suceess to disable regulator cldo4!
[ 142.358097] [DISP] disp_lcd_panel_close,line:1754:close flow:step 3 finish, to delay 500
[ 142.383688] twi_start()481 - [i2c0] START can't sendout!
[ 142.389657] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.396292] twi_start()481 - [i2c0] START can't sendout!
[ 142.402269] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.408947] twi_start()481 - [i2c0] START can't sendout!
[ 142.414951] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.421440] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.427247] twi_start()481 - [i2c0] START can't sendout!
[ 142.433245] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.439942] twi_start()481 - [i2c0] START can't sendout!
[ 142.445928] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.452606] twi_start()481 - [i2c0] START can't sendout!
[ 142.458598] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.465088] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.470910] twi_start()481 - [i2c0] START can't sendout!
[ 142.476887] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.483557] twi_start()481 - [i2c0] START can't sendout!
[ 142.489530] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.496200] twi_start()481 - [i2c0] START can't sendout!
[ 142.502163] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.508628] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.514412] twi_start()481 - [i2c0] START can't sendout!
[ 142.520359] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.526978] twi_start()481 - [i2c0] START can't sendout!
[ 142.532935] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.539571] twi_start()481 - [i2c0] START can't sendout!
[ 142.545580] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.552031] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.557790] twi_start()481 - [i2c0] START can't sendout!
[ 142.563749] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.570386] twi_start()481 - [i2c0] START can't sendout!
[ 142.576345] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.582980] twi_start()481 - [i2c0] START can't sendout!
[ 142.588939] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.595394] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.601154] twi_start()481 - [i2c0] START can't sendout!
[ 142.607115] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.613749] twi_start()481 - [i2c0] START can't sendout!
[ 142.619710] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.626342] twi_start()481 - [i2c0] START can't sendout!
[ 142.632304] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.638754] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.644513] twi_start()481 - [i2c0] START can't sendout!
[ 142.650468] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.657108] twi_start()481 - [i2c0] START can't sendout!
[ 142.663066] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.669700] twi_start()481 - [i2c0] START can't sendout!
[ 142.675659] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.682185] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.688006] twi_start()481 - [i2c0] START can't sendout!
[ 142.693989] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.700621] twi_start()481 - [i2c0] START can't sendout!
[ 142.706585] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.713220] twi_start()481 - [i2c0] START can't sendout!
[ 142.719184] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.725634] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.731399] twi_start()481 - [i2c0] START can't sendout!
[ 142.737355] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.744085] twi_start()481 - [i2c0] START can't sendout!
[ 142.750112] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.756750] twi_start()481 - [i2c0] START can't sendout!
[ 142.762711] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.769171] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.774925] twi_start()481 - [i2c0] START can't sendout!
[ 142.780892] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.787535] twi_start()481 - [i2c0] START can't sendout!
[ 142.793495] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.800141] twi_start()481 - [i2c0] START can't sendout!
[ 142.806099] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.812555] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.818311] twi_start()481 - [i2c0] START can't sendout!
[ 142.824272] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.830921] twi_start()481 - [i2c0] START can't sendout!
[ 142.836882] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.843518] twi_start()481 - [i2c0] START can't sendout!
[ 142.849519] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.855996] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.861755] twi_start()481 - [i2c0] START can't sendout!
[ 142.867714] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.874292] [DISP] disp_sys_gpio_request,line:280:[ 142.874369] twi_start()481 - [i2c0] START can't sendout!
[ 142.874372] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.874680] twi_start()481 - [i2c0] START can't sendout!
[ 142.874682] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.874786] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.874995] twi_start()481 - [i2c0] START can't sendout!
[ 142.874997] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.875308] twi_start()481 - [i2c0] START can't sendout!
[ 142.875310] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.875620] twi_start()481 - [i2c0] START can't sendout!
[ 142.875623] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.875727] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.875936] twi_start()481 - [i2c0] START can't sendout!
[ 142.875938] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.876245] twi_start()481 - [i2c0] START can't sendout!
[ 142.876248] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.876558] twi_start()481 - [i2c0] START can't sendout!
[ 142.876560] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.876665] msg ft5x_i2c_rxdata i2c read error: -121
[ 142.876874] twi_start()481 - [i2c0] START can't sendout!
[ 142.876877] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 142.877184] twi_start()481 - [i2c0] START can't sendout!
[ 142.877186] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 3 printk messages dropped ** [ 142.877821] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 142.886769] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 142.896195] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 142.905916] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 142.915019] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 142.924428] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 142.934160] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 142.943257] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 142.952724] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 142.962456] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 142.971548] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 142.980956] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 142.990693] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.000109] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.009837] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.019247] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.028980] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.038390] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.048119] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.057223] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.066631] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.076375] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.085471] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.094896] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 143.104627] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.114032] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.123763] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.133184] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.142911] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.152347] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.162076] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.171172] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.180578] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 143.190305] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.199735] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.209439] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.218847] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.228559] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.237978] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.247703] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.256792] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.266196] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.275925] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.285026] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.294755] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.303836] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.313245] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.322968] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.332062] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.341494] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 143.351226] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.360628] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.370343] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.379753] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.389473] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.398890] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.408622] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.417708] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.427112] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.436837] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.445935] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.455340] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.465055] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.474140] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.483857] twi_start()481 - [i2c0] START can't sendout!
** 46 printk messages dropped ** [ 143.490128] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 64 printk messages dropped ** [ 143.498908] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.508011] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.517741] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.526839] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.536573] twi_start()481 - [i2c0] START can't sendout!
** 60 printk messages dropped ** [ 143.544727] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 64 printk messages dropped ** [ 143.553541] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.562628] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.572361] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.581467] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.591193] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.600280] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.610023] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.619130] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 143.628874] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.642326] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.651678] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.661345] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.671005] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.680039] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.690659] twi_start()481 - [i2c0] START can't sendout!
** 67 printk messages dropped ** [ 143.700703] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 143.710366] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.720023] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.729379] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.739036] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 72 printk messages dropped ** [ 143.748699] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.758358] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 69 printk messages dropped ** [ 143.767719] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.777371] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
** 71 printk messages dropped ** [ 143.787022] twi_start()481 - [i2c0] START can't sendout!驱动:
/*
* drivers/input/touchscreen/ft5x0x_ts.c
*
* FocalTech ft5x TouchScreen driver.
*
* Copyright (c) 2010 Focal tech Ltd.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* 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.
*
*
* note: only support mulititouch Wenfs 2010-10-01
* for this touchscreen to work, it's slave addr must be set to 0x7e | 0x70
*/
#include <linux/i2c.h>
#include <linux/input.h>
#include "ft5x_ts.h"
#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/pm.h>
#include <linux/earlysuspend.h>
#endif
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/async.h>
#include <linux/hrtimer.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/gpio.h>
#include <asm/irq.h>
#include <linux/io.h>
#include <linux/uaccess.h>
#include "../../init-input.h"
#define CONFIG_SUPPORT_FTS_CTP_UPG
#define FOR_TSLIB_TEST
#ifdef TOUCH_KEY_SUPPORT
#define TOUCH_KEY_FOR_EVB13
#ifdef TOUCH_KEY_FOR_ANGDA
#define TOUCH_KEY_X_LIMIT (60000)
#define TOUCH_KEY_NUMBER (4)
#endif
#ifdef TOUCH_KEY_FOR_EVB13
#define TOUCH_KEY_LOWER_X_LIMIT (848)
#define TOUCH_KEY_HIGHER_X_LIMIT (852)
#define TOUCH_KEY_NUMBER (5)
#endif
#endif
/* FT5X02_CONFIG */
#define FT5X02_CONFIG_NAME "fttpconfig_5x02public.ini"
extern int ft5x02_Init_IC_Param(struct i2c_client *client);
extern int ft5x02_get_ic_param(struct i2c_client *client);
extern int ft5x02_Get_Param_From_Ini(char *config_name);
struct i2c_dev{
struct list_head list;
struct i2c_adapter *adap;
struct device *dev;
};
static struct class *i2c_dev_class;
static LIST_HEAD (i2c_dev_list);
static DEFINE_SPINLOCK(i2c_dev_list_lock);
struct Upgrade_Info {
u16 delay_aa; /*delay of write FT_UPGRADE_AA */
u16 delay_55; /*delay of write FT_UPGRADE_55 */
u8 upgrade_id_1; /*upgrade id 1 */
u8 upgrade_id_2; /*upgrade id 2 */
u16 delay_readid; /*delay of read id */
};
#define FT5X_NAME "ft5x_ts"
static struct i2c_client *this_client;
#ifdef TOUCH_KEY_SUPPORT
static int key_tp = 0;
static int key_val = 0;
#endif
/*********************************************************************************************/
#define CTP_IRQ_NUMBER (config_info.int_number)
#define CTP_IRQ_MODE (IRQF_TRIGGER_LOW | IRQF_ONESHOT)
#define SCREEN_MAX_X (screen_max_x)
#define SCREEN_MAX_Y (screen_max_y)
#define CTP_NAME FT5X_NAME
#define PRESS_MAX (255)
static int screen_max_x = 0;
static int screen_max_y = 0;
static int revert_x_flag = 0;
static int revert_y_flag = 0;
static int exchange_x_y_flag = 0;
static __u32 twi_id = 0;
static struct ctp_config_info config_info = {
.input_type = CTP_TYPE,
.name = NULL,
.int_number = 0,
};
static u32 debug_mask = 0;
enum{
DEBUG_INIT = 1U << 0,
DEBUG_SUSPEND = 1U << 1,
DEBUG_INT_INFO = 1U << 2,
DEBUG_X_Y_INFO = 1U << 3,
DEBUG_KEY_INFO = 1U << 4,
DEBUG_WAKEUP_INFO = 1U << 5,
DEBUG_OTHERS_INFO = 1U << 6,
};
#define dprintk(level_mask,fmt,arg...) if(unlikely(debug_mask & level_mask)) \
printk("***CTP***"fmt, ## arg)
module_param_named(debug_mask,debug_mask,int,S_IRUGO | S_IWUSR | S_IWGRP);
/*********************************************************************************************/
/*------------------------------------------------------------------------------------------*/
/* Addresses to scan */
static const unsigned short normal_i2c[2] = {0x38,I2C_CLIENT_END};
static const int chip_id_value[] = {0x55,0x06,0x08,0x02,0xa3};
static int chip_id = 0;
static void ft5x_resume_events(struct work_struct *work);
struct workqueue_struct *ft5x_resume_wq;
static DECLARE_WORK(ft5x_resume_work, ft5x_resume_events);
static void ft5x_init_events(struct work_struct *work);
struct workqueue_struct *ft5x_wq;
static DECLARE_WORK(ft5x_init_work, ft5x_init_events);
/*------------------------------------------------------------------------------------------*/
static int ctp_detect(struct i2c_client *client, struct i2c_board_info *info)
{
struct i2c_adapter *adapter = client->adapter;
int ret = 0;
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
return -ENODEV;
if(twi_id == adapter->nr){
ret = i2c_smbus_read_byte_data(client,0xA3);
if(ret == -70) {
msleep(10);
ret = i2c_smbus_read_byte_data(client,0xA3);
}
dprintk(DEBUG_INIT,"addr:0x%x,chip_id_value:0x%x\n",client->addr,ret);
if(ret < 0){
printk("%s:I2C connection might be something wrong ! \n",__func__);
return -ENODEV;
} else {
strlcpy(info->type, CTP_NAME, I2C_NAME_SIZE);
chip_id = ret;
return 0;
}
}else{
return -ENODEV;
}
}
/**
* ctp_print_info - sysconfig print function
* return value:
*
*/
static void ctp_print_info(struct ctp_config_info info,int debug_level)
{
if(debug_level == DEBUG_INIT)
{
dprintk(DEBUG_INIT,"info.ctp_used:%d\n",info.ctp_used);
dprintk(DEBUG_INIT,"info.twi_id:%d\n",info.twi_id);
dprintk(DEBUG_INIT,"info.screen_max_x:%d\n",info.screen_max_x);
dprintk(DEBUG_INIT,"info.screen_max_y:%d\n",info.screen_max_y);
dprintk(DEBUG_INIT,"info.revert_x_flag:%d\n",info.revert_x_flag);
dprintk(DEBUG_INIT,"info.revert_y_flag:%d\n",info.revert_y_flag);
dprintk(DEBUG_INIT,"info.exchange_x_y_flag:%d\n",info.exchange_x_y_flag);
dprintk(DEBUG_INIT,"info.irq_gpio_number:%d\n",info.irq_gpio.gpio);
dprintk(DEBUG_INIT,"info.wakeup_gpio_number:%d\n",info.wakeup_gpio.gpio);
}
}
/**
* ctp_wakeup - function
*
*/
static int ctp_wakeup(int status,int ms)
{
dprintk(DEBUG_INIT,"***CTP*** %s:status:%d,ms = %d\n",__func__,status,ms);
if (status == 0) {
if(ms == 0) {
__gpio_set_value(config_info.wakeup_gpio.gpio, 0);
}else {
__gpio_set_value(config_info.wakeup_gpio.gpio, 0);
msleep(ms);
__gpio_set_value(config_info.wakeup_gpio.gpio, 1);
}
}
if (status == 1) {
if(ms == 0) {
__gpio_set_value(config_info.wakeup_gpio.gpio, 1);
}else {
__gpio_set_value(config_info.wakeup_gpio.gpio, 1);
msleep(ms);
__gpio_set_value(config_info.wakeup_gpio.gpio, 0);
}
}
msleep(5);
return 0;
}
int fts_ctpm_fw_upgrade_with_i_file(void);
static struct i2c_dev *i2c_dev_get_by_minor(unsigned index)
{
struct i2c_dev *i2c_dev = NULL;
spin_lock(&i2c_dev_list_lock);
list_for_each_entry(i2c_dev,&i2c_dev_list,list){
dprintk(DEBUG_OTHERS_INFO,"--line = %d ,i2c_dev->adapt->nr = %d,index = %d.\n",\
__LINE__,i2c_dev->adap->nr,index);
if(i2c_dev->adap->nr == index){
goto found;
}
}
i2c_dev = NULL;
found:
spin_unlock(&i2c_dev_list_lock);
return i2c_dev ;
}
static struct i2c_dev *get_free_i2c_dev(struct i2c_adapter *adap)
{
struct i2c_dev *i2c_dev;
if (adap->nr >= I2C_MINORS){
dprintk(DEBUG_OTHERS_INFO,"i2c-dev:out of device minors (%d) \n",adap->nr);
return ERR_PTR (-ENODEV);
}
i2c_dev = kzalloc(sizeof(*i2c_dev), GFP_KERNEL);
if (!i2c_dev){
return ERR_PTR(-ENOMEM);
}
i2c_dev->adap = adap;
spin_lock(&i2c_dev_list_lock);
list_add_tail(&i2c_dev->list, &i2c_dev_list);
spin_unlock(&i2c_dev_list_lock);
return i2c_dev;
}
static int ft5x_i2c_rxdata(char *rxdata, int length);
struct ts_event {
u16 x1;
u16 y1;
u16 x2;
u16 y2;
u16 x3;
u16 y3;
u16 x4;
u16 y4;
u16 x5;
u16 y5;
u16 pressure;
s16 touch_ID1;
s16 touch_ID2;
s16 touch_ID3;
s16 touch_ID4;
s16 touch_ID5;
u8 touch_point;
};
struct ft5x_ts_data {
struct input_dev *input_dev;
struct ts_event event;
struct work_struct pen_event_work;
struct workqueue_struct *ts_workqueue;
#ifdef CONFIG_HAS_EARLYSUSPEND
struct early_suspend early_suspend;
#endif
bool is_suspended;
};
/* ---------------------------------------------------------------------
*
* Focal Touch panel upgrade related driver
*
*
----------------------------------------------------------------------*/
typedef enum
{
ERR_OK,
ERR_MODE,
ERR_READID,
ERR_ERASE,
ERR_STATUS,
ERR_ECC,
ERR_DL_ERASE_FAIL,
ERR_DL_PROGRAM_FAIL,
ERR_DL_VERIFY_FAIL
}E_UPGRADE_ERR_TYPE;
typedef unsigned char FTS_BYTE; //8 bit
typedef unsigned short FTS_WORD; //16 bit
typedef unsigned int FTS_DWRD; //16 bit
typedef unsigned char FTS_BOOL; //8 bit
#define FTS_NULL 0x0
#define FTS_TRUE 0x01
#define FTS_FALSE 0x0
#define I2C_CTPM_ADDRESS (0x3b)
static void delay_ms(FTS_WORD w_ms)
{
//platform related, please implement this function
msleep( w_ms );
}
void delay_qt_ms(unsigned long w_ms)
{
unsigned long i;
unsigned long j;
for (i = 0; i < w_ms; i++)
{
for (j = 0; j < 1000; j++)
{
udelay(1);
}
}
}
/*
[function]:
callback: read data from ctpm by i2c interface,implemented by special user;
[parameters]:
bt_ctpm_addr[in] :the address of the ctpm;
pbt_buf[out] :data buffer;
dw_lenth[in] :the length of the data buffer;
[return]:
FTS_TRUE :success;
FTS_FALSE :fail;
*/
int i2c_read_interface(u8 bt_ctpm_addr, u8* pbt_buf, u16 dw_lenth)
{
int ret;
ret = i2c_master_recv(this_client, pbt_buf, dw_lenth);
if(ret != dw_lenth){
printk("ret = %d. \n", ret);
printk("i2c_read_interface error\n");
return FTS_FALSE;
}
return FTS_TRUE;
}
/*
[function]:
callback: write data to ctpm by i2c interface,implemented by special user;
[parameters]:
bt_ctpm_addr[in] :the address of the ctpm;
pbt_buf[in] :data buffer;
dw_lenth[in] :the length of the data buffer;
[return]:
FTS_TRUE :success;
FTS_FALSE :fail;
*/
int i2c_write_interface(u8 bt_ctpm_addr, u8* pbt_buf, u16 dw_lenth)
{
int ret;
ret=i2c_master_send(this_client, pbt_buf, dw_lenth);
if(ret != dw_lenth){
printk("i2c_write_interface error\n");
return FTS_FALSE;
}
return FTS_TRUE;
}
/***************************************************************************************/
/*
[function]:
read out the register value.
[parameters]:
e_reg_name[in] :register name;
pbt_buf[out] :the returned register value;
bt_len[in] :length of pbt_buf, should be set to 2;
[return]:
FTS_TRUE :success;
FTS_FALSE :io fail;
*/
u8 fts_register_read(u8 e_reg_name, u8* pbt_buf, u8 bt_len)
{
u8 read_cmd[3]= {0};
u8 cmd_len = 0;
read_cmd[0] = e_reg_name;
cmd_len = 1;
/*call the write callback function*/
// if(!i2c_write_interface(I2C_CTPM_ADDRESS, &read_cmd, cmd_len))
// {
// return FTS_FALSE;
// }
if(!i2c_write_interface(I2C_CTPM_ADDRESS, read_cmd, cmd_len)) {//change by zhengdixu
return FTS_FALSE;
}
/*call the read callback function to get the register value*/
if(!i2c_read_interface(I2C_CTPM_ADDRESS, pbt_buf, bt_len)){
return FTS_FALSE;
}
return FTS_TRUE;
}
/*
[function]:
write a value to register.
[parameters]:
e_reg_name[in] :register name;
pbt_buf[in] :the returned register value;
[return]:
FTS_TRUE :success;
FTS_FALSE :io fail;
*/
int fts_register_write(u8 e_reg_name, u8 bt_value)
{
FTS_BYTE write_cmd[2] = {0};
write_cmd[0] = e_reg_name;
write_cmd[1] = bt_value;
/*call the write callback function*/
//return i2c_write_interface(I2C_CTPM_ADDRESS, &write_cmd, 2);
return i2c_write_interface(I2C_CTPM_ADDRESS, write_cmd, 2); //change by zhengdixu
}
/*
[function]:
send a command to ctpm.
[parameters]:
btcmd[in] :command code;
btPara1[in] :parameter 1;
btPara2[in] :parameter 2;
btPara3[in] :parameter 3;
num[in] :the valid input parameter numbers, if only command code needed and no parameters followed,then the num is 1;
[return]:
FTS_TRUE :success;
FTS_FALSE :io fail;
*/
int cmd_write(u8 btcmd,u8 btPara1,u8 btPara2,u8 btPara3,u8 num)
{
FTS_BYTE write_cmd[4] = {0};
write_cmd[0] = btcmd;
write_cmd[1] = btPara1;
write_cmd[2] = btPara2;
write_cmd[3] = btPara3;
//return i2c_write_interface(I2C_CTPM_ADDRESS, &write_cmd, num);
return i2c_write_interface(I2C_CTPM_ADDRESS, write_cmd, num);//change by zhengdixu
}
/*
[function]:
write data to ctpm , the destination address is 0.
[parameters]:
pbt_buf[in] :point to data buffer;
bt_len[in] :the data numbers;
[return]:
FTS_TRUE :success;
FTS_FALSE :io fail;
*/
int byte_write(u8* pbt_buf, u16 dw_len)
{
return i2c_write_interface(I2C_CTPM_ADDRESS, pbt_buf, dw_len);
}
/*
[function]:
read out data from ctpm,the destination address is 0.
[parameters]:
pbt_buf[out] :point to data buffer;
bt_len[in] :the data numbers;
[return]:
FTS_TRUE :success;
FTS_FALSE :io fail;
*/
int byte_read(u8* pbt_buf, u8 bt_len)
{
return i2c_read_interface(I2C_CTPM_ADDRESS, pbt_buf, bt_len);
//ft5x_i2c_rxdata
}
/*
[function]:
burn the FW to ctpm.
[parameters]:(ref. SPEC)
pbt_buf[in] :point to Head+FW ;
dw_lenth[in]:the length of the FW + 6(the Head length);
bt_ecc[in] :the ECC of the FW
[return]:
ERR_OK :no error;
ERR_MODE :fail to switch to UPDATE mode;
ERR_READID :read id fail;
ERR_ERASE :erase chip fail;
ERR_STATUS :status error;
ERR_ECC :ecc error.
*/
#define FTS_PACKET_LENGTH 128 //2//4//8//16//32//64//128//256
static unsigned char CTPM_FW[]=
{
#include "ft_app.i"
};
unsigned char fts_ctpm_get_i_file_ver(void)
{
unsigned int ui_sz;
ui_sz = sizeof(CTPM_FW);
if (ui_sz > 2){
return CTPM_FW[ui_sz - 2];
}else{
//TBD, error handling?
return 0xff; //default value
}
}
/*
*get upgrade information depend on the ic type
*/
static void fts_get_upgrade_info(struct Upgrade_Info *upgrade_info)
{
#ifdef WILLIAM_DEBUG
printk("####ft5x chip_id=%d####\n", chip_id);
#endif
switch (chip_id) {
case 0x55: //IC_FT5X06:
upgrade_info->delay_55 = FT5X06_UPGRADE_55_DELAY;
upgrade_info->delay_aa = FT5X06_UPGRADE_AA_DELAY;
upgrade_info->upgrade_id_1 = FT5X06_UPGRADE_ID_1;
upgrade_info->upgrade_id_2 = FT5X06_UPGRADE_ID_2;
upgrade_info->delay_readid = FT5X06_UPGRADE_READID_DELAY;
break;
case 0x08: //IC_FT5606IC_FT5506
upgrade_info->delay_55 = FT5606_UPGRADE_55_DELAY;
upgrade_info->delay_aa = FT5606_UPGRADE_AA_DELAY;
upgrade_info->upgrade_id_1 = FT5606_UPGRADE_ID_1;
upgrade_info->upgrade_id_2 = FT5606_UPGRADE_ID_2;
upgrade_info->delay_readid = FT5606_UPGRADE_READID_DELAY;
break;
case 0x00: //IC FT5316
case 0x0a: //IC FT5316
upgrade_info->delay_55 = FT5316_UPGRADE_55_DELAY;
upgrade_info->delay_aa = FT5316_UPGRADE_AA_DELAY;
upgrade_info->upgrade_id_1 = FT5316_UPGRADE_ID_1;
upgrade_info->upgrade_id_2 = FT5316_UPGRADE_ID_2;
upgrade_info->delay_readid = FT5316_UPGRADE_READID_DELAY;
break;
default:
break;
}
}
E_UPGRADE_ERR_TYPE ft5x06_ctpm_fw_upgrade(u8* pbt_buf, u16 dw_lenth)
{
u8 reg_val[2] = {0};
FTS_BOOL i_ret = 0;
u16 i = 0;
u16 packet_number;
u16 j;
u16 temp;
u16 lenght;
u8 packet_buf[FTS_PACKET_LENGTH + 6];
//u8 auc_i2c_write_buf[10];
u8 bt_ecc;
struct Upgrade_Info upgradeinfo = {0, 0, 0, 0 , 0};
fts_get_upgrade_info(&upgradeinfo);
/*********Step 1:Reset CTPM *****/
/*write 0xaa to register 0xfc*/
//delay_ms(100);//µԴȥʱ
fts_register_write(0xfc,0xaa);
delay_ms(upgradeinfo.delay_aa);
/*write 0x55 to register 0xfc*/
fts_register_write(0xfc,0x55);
printk("Step 1: Reset CTPM test\n");
delay_ms(upgradeinfo.delay_55);
/*********Step 2:Enter upgrade mode *****/
//auc_i2c_write_buf[0] = 0x55;
//auc_i2c_write_buf[1] = 0xaa;
i = 0;
do{
i++;
//i_ret = i2c_write_interface(I2C_CTPM_ADDRESS, auc_i2c_write_buf, 2);
cmd_write(0x55,0xaa,0x00,0x00,2);
printk("Step 2: Enter update mode. \n");
delay_ms(5);
}while((FTS_FALSE == i_ret) && i<5);
/*********Step 3:check READ-ID***********************/
/*send the opration head*/
msleep(upgradeinfo.delay_readid);
cmd_write(0x90,0x00,0x00,0x00,4);
byte_read(reg_val,2);
if (reg_val[0] == upgradeinfo.upgrade_id_1&& reg_val[1] == upgradeinfo.upgrade_id_2) {
printk("Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
}
else {
printk("Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
return ERR_READID;
}
cmd_write(0xcd,0x00,0x00,0x00,1);
byte_read(reg_val,1);
/*Step 4:erase app and panel paramenter area*/
cmd_write(0x61,0x00,0x00,0x00,1);
msleep(2000);
cmd_write(0x63,0x00,0x00,0x00,1);
msleep(100);
printk("Step 4: erase. \n");
/*********Step 5:write firmware(FW) to ctpm flash*********/
bt_ecc = 0;
printk("Step 5: start upgrade. \n");
dw_lenth = dw_lenth - 8;
packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
packet_buf[0] = 0xbf;
packet_buf[1] = 0x00;
for (j=0;j<packet_number;j++){
temp = j * FTS_PACKET_LENGTH;
packet_buf[2] = (FTS_BYTE)(temp>>8);
packet_buf[3] = (FTS_BYTE)temp;
lenght = FTS_PACKET_LENGTH;
packet_buf[4] = (FTS_BYTE)(lenght>>8);
packet_buf[5] = (FTS_BYTE)lenght;
for (i=0;i<FTS_PACKET_LENGTH;i++){
packet_buf[6+i] = pbt_buf[j*FTS_PACKET_LENGTH + i];
bt_ecc ^= packet_buf[6+i];
}
byte_write(&packet_buf[0],FTS_PACKET_LENGTH + 6);
//delay_ms(FTS_PACKET_LENGTH/6 + 1);
msleep(FTS_PACKET_LENGTH/6 + 1);
if ((j * FTS_PACKET_LENGTH % 1024) == 0){
printk("upgrade the 0x%x th byte.\n", ((unsigned int)j) * FTS_PACKET_LENGTH);
}
}
if ((dw_lenth) % FTS_PACKET_LENGTH > 0){
temp = packet_number * FTS_PACKET_LENGTH;
packet_buf[2] = (FTS_BYTE)(temp>>8);
packet_buf[3] = (FTS_BYTE)temp;
temp = (dw_lenth) % FTS_PACKET_LENGTH;
packet_buf[4] = (FTS_BYTE)(temp>>8);
packet_buf[5] = (FTS_BYTE)temp;
for (i=0;i<temp;i++){
packet_buf[6+i] = pbt_buf[ packet_number*FTS_PACKET_LENGTH + i];
bt_ecc ^= packet_buf[6+i];
}
byte_write(&packet_buf[0],temp+6);
//delay_ms(20);
msleep(20);
}
//send the last six byte
for (i = 0; i<6; i++){
temp = 0x6ffa + i;
packet_buf[2] = (FTS_BYTE)(temp>>8);
packet_buf[3] = (FTS_BYTE)temp;
temp =1;
packet_buf[4] = (FTS_BYTE)(temp>>8);
packet_buf[5] = (FTS_BYTE)temp;
packet_buf[6] = pbt_buf[ dw_lenth + i];
bt_ecc ^= packet_buf[6];
byte_write(&packet_buf[0],7);
//delay_ms(20);
msleep(20);
}
/*********Step 6: read out checksum***********************/
/*send the opration head*/
//cmd_write(0xcc,0x00,0x00,0x00,1);//0xccĴַȥһֽ
// byte_read(reg_val,1);//change by zhengdixu
fts_register_read(0xcc, reg_val,1);
printk("Step 6: ecc read 0x%x, new firmware 0x%x. \n", reg_val[0], bt_ecc);
if(reg_val[0] != bt_ecc){
//cmd_write(0x07,0x00,0x00,0x00,1);
printk("ecc error! \n");
return ERR_ECC;
}
/*********Step 7: reset the new FW***********************/
cmd_write(0x07,0x00,0x00,0x00,1);
msleep(300);
return ERR_OK;
}
E_UPGRADE_ERR_TYPE ft5x02_ctpm_fw_upgrade(u8* pbt_buf, u32 dw_lenth)
{
u8 reg_val[2] = {0};
u32 i = 0;
u32 packet_number;
u32 j;
u32 temp;
u32 lenght;
u8 packet_buf[FTS_PACKET_LENGTH + 6];
//u8 auc_i2c_write_buf[10];
u8 bt_ecc;
//struct timeval begin_tv, end_tv;
//do_gettimeofday(&begin_tv);
for (i=0; i<16; i++) {
/*********Step 1:Reset CTPM *****/
/*write 0xaa to register 0xfc*/
fts_register_write(0xfc,0xaa);
msleep(30);
/*write 0x55 to register 0xfc*/
fts_register_write(0xfc,0x55);
//delay_qt_ms(18);
delay_qt_ms(25);
/*********Step 2:Enter upgrade mode *****/
#if 0
//auc_i2c_write_buf[0] = 0x55;
//auc_i2c_write_buf[1] = 0xaa;
do
{
i ++;
//i_ret = ft5x02_i2c_Write(client, auc_i2c_write_buf, 2);
//i_ret = i2c_write_interface(I2C_CTPM_ADDRESS, auc_i2c_write_buf, 2);
cmd_write(0x55,0xaa,0x00,0x00,2);
delay_qt_ms(5);
}while(i_ret <= 0 && i < 5 );
#else
//auc_i2c_write_buf[0] = 0x55;
//ft5x02_i2c_Write(client, auc_i2c_write_buf, 1);
cmd_write(0x55,0x00,0x00,0x00,1);
delay_qt_ms(1);
//auc_i2c_write_buf[0] = 0xaa;
//ft5x02_i2c_Write(client, auc_i2c_write_buf, 1);
cmd_write(0xaa,0x00,0x00,0x00,1);
#endif
/*********Step 3:check READ-ID***********************/
delay_qt_ms(1);
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//auc_i2c_write_buf[0] = 0x90;
//auc_i2c_write_buf[1] = auc_i2c_write_buf[2] = auc_i2c_write_buf[3] = 0x00;
//ft5x02_i2c_Read(client, auc_i2c_write_buf, 4, reg_val, 2);
cmd_write(0x90,0x00,0x00,0x00,4);
byte_read(reg_val,2);
if (reg_val[0] == 0x79
&& reg_val[1] == 0x02) {
//dev_dbg(&client->dev, "[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
printk("[FTS] Step 3: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
break;
} else {
printk("[FTS] Step 3 ERROR: CTPM ID,ID1 = 0x%x,ID2 = 0x%x\n",reg_val[0],reg_val[1]);
//delay_qt_ms(1);
}
}
if (i >= 6)
return ERR_READID;
/********Step 4:enable write function*/
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//auc_i2c_write_buf[0] = 0x06;
//ft5x02_i2c_Write(client, auc_i2c_write_buf, 1);
cmd_write(0x06,0x00,0x00,0x00,1);
/*********Step 5:write firmware(FW) to ctpm flash*********/
bt_ecc = 0;
packet_number = (dw_lenth) / FTS_PACKET_LENGTH;
packet_buf[0] = 0xbf;
packet_buf[1] = 0x00;
for (j=0; j<packet_number; j++) {
temp = j * FTS_PACKET_LENGTH;
packet_buf[2] = (u8)(temp>>8);
packet_buf[3] = (u8)temp;
lenght = FTS_PACKET_LENGTH;
packet_buf[4] = (u8)(lenght>>8);
packet_buf[5] = (u8)lenght;
if(temp>=0x4c00 && temp <(0x4c00+512))
continue;
for (i=0; i<FTS_PACKET_LENGTH; i++) {
packet_buf[6+i] = pbt_buf[j*FTS_PACKET_LENGTH + i];
bt_ecc ^= packet_buf[6+i];
}
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//ft5x02_i2c_Write(client, packet_buf, FTS_PACKET_LENGTH+6);
byte_write(&packet_buf[0],FTS_PACKET_LENGTH + 6);
delay_qt_ms(2);
}
if ((dw_lenth) % FTS_PACKET_LENGTH > 0) {
temp = packet_number * FTS_PACKET_LENGTH;
packet_buf[2] = (u8)(temp>>8);
packet_buf[3] = (u8)temp;
temp = (dw_lenth) % FTS_PACKET_LENGTH;
packet_buf[4] = (u8)(temp>>8);
packet_buf[5] = (u8)temp;
for (i=0; i<temp; i++) {
packet_buf[6+i] = pbt_buf[ packet_number*FTS_PACKET_LENGTH + i];
bt_ecc ^= packet_buf[6+i];
}
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//ft5x02_i2c_Write(client, packet_buf, temp+6);
byte_write(&packet_buf[0],temp + 6);
delay_qt_ms(2);
}
/********Disable write function*/
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//auc_i2c_write_buf[0] = 0x04;
//ft5x02_i2c_Write(client, auc_i2c_write_buf, 1);
cmd_write(0x04,0x00,0x00,0x00,1);
delay_qt_ms(1);
/*********Step 6: read out checksum***********************/
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//auc_i2c_write_buf[0] = 0xcc;
//ft5x02_i2c_Read(client, auc_i2c_write_buf, 1, reg_val, 1);
cmd_write(0xcc,0x00,0x00,0x00,1);
byte_read(reg_val,1);
if (reg_val[0] != bt_ecc) {
printk("[FTS]--ecc error! FW=%02x bt_ecc=%02x\n", reg_val[0], bt_ecc);
//return -EIO;
return ERR_READID;
}
/*********Step 7: reset the new FW***********************/
//ft5x02_upgrade_send_head(client);
cmd_write(0xFA,0xFA,0x00,0x00,2);//ft5x02_upgrade_send_head
//auc_i2c_write_buf[0] = 0x07;
//ft5x02_i2c_Write(client, auc_i2c_write_buf, 1);
cmd_write(0x07,0x00,0x00,0x00,1);
msleep(200); /*make sure CTP startup normally*/
//DBG("-------upgrade successful-----\n");
//do_gettimeofday(&end_tv);
//DBG("cost time=%lu.%lu\n", end_tv.tv_sec-begin_tv.tv_sec,
// end_tv.tv_usec-begin_tv.tv_usec);
return ERR_OK;
}
int fts_ctpm_auto_clb(void)
{
unsigned char uc_temp;
unsigned char i ;
printk("[FTS] start auto CLB.\n");
msleep(200);
fts_register_write(0, 0x40);
//delay_ms(100); //make sure already enter factory mode
msleep(100);
fts_register_write(2, 0x4); //write command to start calibration
//delay_ms(300);
msleep(300);
for(i=0;i<100;i++){
fts_register_read(0,&uc_temp,1);
if (((uc_temp&0x70)>>4) == 0x0){ //return to normal mode, calibration finish
break;
}
//delay_ms(200);
msleep(200);
printk("[FTS] waiting calibration %d\n",i);
}
printk("[FTS] calibration OK.\n");
msleep(300);
fts_register_write(0, 0x40); //goto factory mode
delay_ms(100); //make sure already enter factory mode
fts_register_write(2, 0x5); //store CLB result
delay_ms(300);
fts_register_write(0, 0x0); //return to normal mode
msleep(300);
printk("[FTS] store CLB result OK.\n");
return 0;
}
void getVerNo(u8* buf, int len)
{
u8 start_reg=0x0;
int ret = -1;
//int status = 0;
int i = 0;
start_reg = 0xa6;
(void)i;
#if 0
printk("read 0xa6 one time. \n");
if(FTS_FALSE == fts_register_read(0xa6, buf, len)){
return ;
}
for (i=0; i< len; i++) {
printk("=========buf[%d] = 0x%x \n", i, buf);
}
printk("read 0xa8. \n");
if(FTS_FALSE == fts_register_read(0xa8, buf, len)){
return ;
}
for (i=0; i< len; i++) {
printk("=========buf[%d] = 0x%x \n", i, buf);
}
ft5x_i2c_rxdata(buf, len);
for (i=0; i< len; i++) {
printk("=========buf[%d] = 0x%x \n", i, buf);
}
byte_read(buf, len);
for (i=0; i< len; i++) {
printk("=========buf[%d] = 0x%x \n", i, buf);
}
#endif
ret =fts_register_read(0xa6, buf, len);
//et = ft5406_read_regs(ft5x0x_ts_data_test->client,start_reg, buf, 2);
if (ret < 0) {
printk("%s read_data i2c_rxdata failed: %d\n", __func__, ret);
return;
}
#if 0
for (i=0; i<2; i++) {
printk("=========buf[%d] = 0x%x \n", i, buf);
}
return;
#endif
}
int fts_ctpm_fw_upgrade_with_i_file(void)
{
FTS_BYTE* pbt_buf = FTS_NULL;
int i_ret = 0;
unsigned char a;
unsigned char b;
#define BUFFER_LEN (2) //len == 2
unsigned char buf[BUFFER_LEN] = {0};
//=========FW upgrade========================*/
printk("%s. \n", __func__);
pbt_buf = CTPM_FW;
//msleep(200);
// cmd_write(0x07,0x00,0x00,0x00,1);
msleep(100);
getVerNo(buf, BUFFER_LEN);
a = buf[0];
b = fts_ctpm_get_i_file_ver();
/* printk("a == %hu, b== %hu \n",a, b);*/
/*
* when the firmware in touch panel maybe corrupted,
* or the firmware in host flash is new, need upgrade
*/
if ( 0xa6 == a || a != b ){
/*call the upgrade function*/
if(chip_id == 0x55 || chip_id == 0x08 || chip_id == 0x00 || chip_id == 0x0a){
i_ret = ft5x06_ctpm_fw_upgrade(&pbt_buf[0],sizeof(CTPM_FW));
if (i_ret != 0){
printk("[FTS] upgrade failed i_ret = %d.\n", i_ret);
}
else {
printk("[FTS] upgrade successfully.\n");
#ifdef AUTO_CLB
fts_ctpm_auto_clb(); //start auto CLB
#endif
}
}
}
return i_ret;
}
unsigned char fts_ctpm_get_upg_ver(void)
{
unsigned int ui_sz;
ui_sz = sizeof(CTPM_FW);
if (ui_sz > 2){
return CTPM_FW[0];
}
else{
return 0xff; //default value
}
}
static int ft5x_i2c_rxdata(char *rxdata, int length)
{
int ret;
struct i2c_msg msgs[] = {
{
.addr = this_client->addr,
.flags = 0,
.len = 1,
.buf = rxdata,
},
{
.addr = this_client->addr,
.flags = I2C_M_RD,
.len = length,
.buf = rxdata,
},
};
ret = i2c_transfer(this_client->adapter, msgs, 2);
if (ret < 0)
printk("msg %s i2c read error: %d\n", __func__, ret);
return ret;
}
static int ft5x_i2c_txdata(char *txdata, int length)
{
int ret;
struct i2c_msg msg[] = {
{
.addr = this_client->addr,
.flags = 0,
.len = length,
.buf = txdata,
},
};
//msleep(1);
ret = i2c_transfer(this_client->adapter, msg, 1);
if (ret < 0)
pr_err("%s i2c write error: %d\n", __func__, ret);
return ret;
}
static int ft5x_set_reg(u8 addr, u8 para)
{
u8 buf[3];
int ret = -1;
buf[0] = addr;
buf[1] = para;
ret = ft5x_i2c_txdata(buf, 2);
if (ret < 0) {
pr_err("write reg failed! %#x ret: %d", buf[0], ret);
return -1;
}
return 0;
}
static void ft5x_ts_release(void)
{
struct ft5x_ts_data *data = i2c_get_clientdata(this_client);
#ifdef CONFIG_FT5X0X_MULTITOUCH
#ifdef TOUCH_KEY_SUPPORT
if(1 == key_tp){
input_report_key(data->input_dev, key_val, 0);
dprintk(DEBUG_KEY_INFO,"Release Key = %d\n",key_val);
} else{
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, 0);
}
#else
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, 0);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 0);
#endif
input_report_key(data->input_dev, BTN_TOUCH, 0);
#else
input_report_abs(data->input_dev, ABS_PRESSURE, 0);
input_report_key(data->input_dev, BTN_TOUCH, 0);
#endif
input_sync(data->input_dev);
return;
}
static int ft5x_read_data(void)
{
struct ft5x_ts_data *data = i2c_get_clientdata(this_client);
struct ts_event *event = &data->event;
unsigned char buf[32]={0};
int ret = -1;
#ifdef CONFIG_FT5X0X_MULTITOUCH
ret = ft5x_i2c_rxdata(buf, 31);
#else
ret = ft5x_i2c_rxdata(buf, 31);
#endif
if (ret < 0) {
dprintk(DEBUG_X_Y_INFO,"%s read_data i2c_rxdata failed: %d\n", __func__, ret);
return ret;
}
memset(event, 0, sizeof(struct ts_event));
event->touch_point = buf[2] & 0x07;// 000 0111
dprintk(DEBUG_X_Y_INFO,"touch point = %d\n",event->touch_point);
if (event->touch_point == 0) {
ft5x_ts_release();
return 1;
}
switch (event->touch_point) {
case 5:
event->x5 = (s16)(buf[0x1b] & 0x0F)<<8 | (s16)buf[0x1c];
event->y5 = (s16)(buf[0x1d] & 0x0F)<<8 | (s16)buf[0x1e];
dprintk(DEBUG_X_Y_INFO,"source data:event->x5 = %d, event->y5 = %d. \n", event->x5, event->y5);
if(1 == exchange_x_y_flag){
swap(event->x5, event->y5);
}
if(1 == revert_x_flag){
event->x5 = SCREEN_MAX_X - event->x5;
}
if(1 == revert_y_flag){
event->y5 = SCREEN_MAX_Y - event->y5;
}
event->touch_ID5=(s16)(buf[0x1d] & 0xF0)>>4;
dprintk(DEBUG_X_Y_INFO,"touch id : %d. \n",event->touch_ID5);
case 4:
event->x4 = (s16)(buf[0x15] & 0x0F)<<8 | (s16)buf[0x16];
event->y4 = (s16)(buf[0x17] & 0x0F)<<8 | (s16)buf[0x18];
dprintk(DEBUG_X_Y_INFO,"source data:event->x4 = %d, event->y4 = %d. \n", event->x4, event->y4);
if(1 == exchange_x_y_flag){
swap(event->x4, event->y4);
}
if(1 == revert_x_flag){
event->x4 = SCREEN_MAX_X - event->x4;
}
if(1 == revert_y_flag){
event->y4 = SCREEN_MAX_Y - event->y4;
}
event->touch_ID4=(s16)(buf[0x17] & 0xF0)>>4;
dprintk(DEBUG_X_Y_INFO,"touch id : %d. \n",event->touch_ID4);
case 3:
event->x3 = (s16)(buf[0x0f] & 0x0F)<<8 | (s16)buf[0x10];
event->y3 = (s16)(buf[0x11] & 0x0F)<<8 | (s16)buf[0x12];
dprintk(DEBUG_X_Y_INFO,"source data:event->x3 = %d, event->y3 = %d. \n", event->x3, event->y3);
if(1 == exchange_x_y_flag){
swap(event->x3, event->y3);
}
if(1 == revert_x_flag){
event->x3 = SCREEN_MAX_X - event->x3;
}
if(1 == revert_y_flag){
event->y3 = SCREEN_MAX_Y - event->y3;
}
event->touch_ID3=(s16)(buf[0x11] & 0xF0)>>4;
dprintk(DEBUG_X_Y_INFO,"touch id : %d. \n",event->touch_ID3);
case 2:
event->x2 = (s16)(buf[9] & 0x0F)<<8 | (s16)buf[10];
event->y2 = (s16)(buf[11] & 0x0F)<<8 | (s16)buf[12];
dprintk(DEBUG_X_Y_INFO,"source data:event->x2 = %d, event->y2 = %d. \n", event->x2, event->y2);
if(1 == exchange_x_y_flag){
swap(event->x2, event->y2);
}
if(1 == revert_x_flag){
event->x2 = SCREEN_MAX_X - event->x2;
}
if(1 == revert_y_flag){
event->y2 = SCREEN_MAX_Y - event->y2;
}
event->touch_ID2=(s16)(buf[0x0b] & 0xF0)>>4;
dprintk(DEBUG_X_Y_INFO,"touch id : %d. \n",event->touch_ID2);
case 1:
event->x1 = (s16)(buf[3] & 0x0F)<<8 | (s16)buf[4];
event->y1 = (s16)(buf[5] & 0x0F)<<8 | (s16)buf[6];
dprintk(DEBUG_X_Y_INFO,"source data:event->x1 = %d, event->y1 = %d. \n", event->x1, event->y1);
if(1 == exchange_x_y_flag){
swap(event->x1, event->y1);
}
if(1 == revert_x_flag){
event->x1 = SCREEN_MAX_X - event->x1;
}
if(1 == revert_y_flag){
event->y1 = SCREEN_MAX_Y - event->y1;
}
event->touch_ID1=(s16)(buf[0x05] & 0xF0)>>4;
dprintk(DEBUG_X_Y_INFO,"touch id : %d. \n",event->touch_ID1);
break;
default:
return -1;
}
event->pressure = 20;
return 0;
}
#ifdef TOUCH_KEY_LIGHT_SUPPORT
static void ft5x_lighting(void)
{
ctp_key_light(1,15);
return;
}
#endif
static void ft5x_report_multitouch(void)
{
struct ft5x_ts_data *data = i2c_get_clientdata(this_client);
struct ts_event *event = &data->event;
#ifdef WILLIAM_DEBUG
printk("####%s####\n", __func__);
#endif
#ifdef TOUCH_KEY_SUPPORT
if(1 == key_tp){
return;
}
#endif
if (event->touch_point)
input_report_key(data->input_dev, BTN_TOUCH, 1);
else
input_report_key(data->input_dev, BTN_TOUCH, 0);
switch(event->touch_point) {
case 5:
input_report_abs(data->input_dev, ABS_MT_TRACKING_ID, event->touch_ID5);
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x5);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y5);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 30);
input_mt_sync(data->input_dev);
dprintk(DEBUG_X_Y_INFO,"report data:===x5 = %d,y5 = %d ====\n",event->x5,event->y5);
case 4:
input_report_abs(data->input_dev, ABS_MT_TRACKING_ID, event->touch_ID4);
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x4);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y4);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 30);
input_mt_sync(data->input_dev);
dprintk(DEBUG_X_Y_INFO,"report data:===x4 = %d,y4 = %d ====\n",event->x4,event->y4);
case 3:
input_report_abs(data->input_dev, ABS_MT_TRACKING_ID, event->touch_ID3);
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x3);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y3);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 30);
input_mt_sync(data->input_dev);
dprintk(DEBUG_X_Y_INFO,"report data:===x3 = %d,y3 = %d ====\n",event->x3,event->y3);
case 2:
input_report_abs(data->input_dev, ABS_MT_TRACKING_ID, event->touch_ID2);
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x2);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y2);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 30);
input_mt_sync(data->input_dev);
dprintk(DEBUG_X_Y_INFO,"report data:===x2 = %d,y2 = %d ====\n",event->x2,event->y2);
case 1:
input_report_abs(data->input_dev, ABS_MT_TRACKING_ID, event->touch_ID1);
input_report_abs(data->input_dev, ABS_MT_TOUCH_MAJOR, event->pressure);
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x1);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y1);
input_report_abs(data->input_dev, ABS_MT_WIDTH_MAJOR, 30);
input_mt_sync(data->input_dev);
dprintk(DEBUG_X_Y_INFO,"report data:===x1 = %d,y1 = %d ====\n",event->x1,event->y1);
break;
default:
dprintk(DEBUG_X_Y_INFO,"report data:==touch_point default =\n");
break;
}
input_sync(data->input_dev);
return;
}
#ifndef CONFIG_FT5X0X_MULTITOUCH
static void ft5x_report_singletouch(void)
{
struct ft5x_ts_data *data = i2c_get_clientdata(this_client);
struct ts_event *event = &data->event;
if (event->touch_point == 1) {
input_report_abs(data->input_dev, ABS_MT_POSITION_X, event->x1);
input_report_abs(data->input_dev, ABS_MT_POSITION_Y, event->y1);
input_report_abs(data->input_dev, ABS_PRESSURE, event->pressure);
}
dprintk(DEBUG_X_Y_INFO,"report:===x1 = %d,y1 = %d ====\n",event->x1,event->y1);
input_report_key(data->input_dev, BTN_TOUCH, 1);
input_sync(data->input_dev);
return;
}
#endif
#ifdef TOUCH_KEY_SUPPORT
static void ft5x_report_touchkey(void)
{
struct ft5x_ts_data *data = i2c_get_clientdata(this_client);
struct ts_event *event = &data->event;
#ifdef TOUCH_KEY_FOR_ANGDA
if((1==event->touch_point)&&(event->x1 > TOUCH_KEY_X_LIMIT)){
key_tp = 1;
if(event->y1 < 40){
key_val = 1;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 1====\n");
}else if(event->y1 < 90){
key_val = 2;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 2 ====\n");
}else{
key_val = 3;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 3====\n");
}
} else{
key_tp = 0;
}
#endif
#ifdef TOUCH_KEY_FOR_EVB13
if((1==event->touch_point)&&((event->x1 > TOUCH_KEY_LOWER_X_LIMIT)&&(event->x1<TOUCH_KEY_HIGHER_X_LIMIT))){
key_tp = 1;
if(event->y1 < 5){
key_val = 1;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 1====\n");
}else if((event->y1 < 45)&&(event->y1>35)){
key_val = 2;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 2 ====\n");
}else if((event->y1 < 75)&&(event->y1>65)){
key_val = 3;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 3====\n");
}else if ((event->y1 < 105)&&(event->y1>95)) {
key_val = 4;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);
dprintk(DEBUG_KEY_INFO,"===KEY 4====\n");
}
}else{
key_tp = 0;
}
#endif
#ifdef TOUCH_KEY_LIGHT_SUPPORT
ft5x_lighting();
#endif
return;
}
#endif
static void ft5x_report_value(void)
{
#ifdef TOUCH_KEY_SUPPORT
ft5x_report_touchkey();
#endif
#ifdef CONFIG_FT5X0X_MULTITOUCH
ft5x_report_multitouch();
#else /* CONFIG_FT5X0X_MULTITOUCH*/
ft5x_report_singletouch();
#endif /* CONFIG_FT5X0X_MULTITOUCH*/
return;
}
static void ft5x_ts_pen_irq_work(struct work_struct *work)
{
int ret = -1;
ret = ft5x_read_data();
if (ret == 0) {
ft5x_report_value();
}
dprintk(DEBUG_INT_INFO,"%s:ret:%d\n",__func__,ret);
}
irqreturn_t ft5x_ts_interrupt(int irq, void *dev_id)
{
struct ft5x_ts_data *ft5x_ts = (struct ft5x_ts_data *)dev_id;
dprintk(DEBUG_INT_INFO,"==========ft5x_ts TS Interrupt============\n");
queue_work(ft5x_ts->ts_workqueue, &ft5x_ts->pen_event_work);
return IRQ_HANDLED;
}
static void ft5x_resume_events (struct work_struct *work)
{
int i = 0;
int ret = 0;
ctp_wakeup(0, 20);
#ifdef CONFIG_HAS_EARLYSUSPEND
if(STANDBY_WITH_POWER_OFF != standby_level){
goto standby_with_power_on;
}
#endif
if(chip_id == 0x02 ){
#ifdef FT5X02_CONFIG_INI
if (ft5x02_Get_Param_From_Ini(FT5X02_CONFIG_NAME) >= 0)
ft5x02_Init_IC_Param(this_client);
else
printk("Get ft5x02 param from INI file failed\n");
#else
msleep(200); /*wait...*/
while(i<5){
dprintk(DEBUG_INIT,"-----------------------------------------Init ic param\r\n");
if (ft5x02_Init_IC_Param(this_client) >=0 ){
dprintk(DEBUG_INIT,"---------------------------------------get ic param\r\n");
if(ft5x02_get_ic_param(this_client) >=0)
break;
}
i++;
}
#endif
}
#ifdef CONFIG_HAS_EARLYSUSPEND
standby_with_power_on:
#endif
ret = input_set_int_enable(&(config_info.input_type), 1);
if (ret < 0)
dprintk(DEBUG_SUSPEND,"%s irq disable failed\n", __func__);
}
static int ft5x_ts_suspend(struct device *dev, pm_message_t mesg)
{
struct i2c_client *client = to_i2c_client(dev);
struct ft5x_ts_data *data = i2c_get_clientdata(client);
int ret = 0;
dprintk(DEBUG_SUSPEND,"==ft5x_ts_suspend=\n");
dprintk(DEBUG_SUSPEND,"CONFIG_PM: write FT5X0X_REG_PMODE .\n");
#ifndef CONFIG_HAS_EARLYSUSPEND
data->is_suspended = true;
#endif
if (data->is_suspended == true) {
//ft5x_ts_release();
flush_workqueue(ft5x_resume_wq);
ret = input_set_int_enable(&(config_info.input_type), 0);
if (ret < 0)
dprintk(DEBUG_SUSPEND,"%s irq disable failed\n", __func__);
cancel_work_sync(&data->pen_event_work);
flush_workqueue(data->ts_workqueue);
ft5x_set_reg(FT5X0X_REG_PMODE, PMODE_HIBERNATE);
msleep(5);
input_set_power_enable(&(config_info.input_type), 0);
}
return 0;
}
static int ft5x_ts_resume(struct device *dev)
{
struct i2c_client *client = to_i2c_client(dev);
struct ft5x_ts_data *data = i2c_get_clientdata(client);
dprintk(DEBUG_SUSPEND,"==CONFIG_PM:ft5x_ts_resume== \n");
data->is_suspended = true;
input_set_power_enable(&(config_info.input_type), 1);
msleep(5);
queue_work(ft5x_resume_wq, &ft5x_resume_work);
return 0;
}
#ifdef CONFIG_HAS_EARLYSUSPEND
static void ft5x_ts_early_suspend(struct early_suspend *handler)
{
int ret = 0;
struct ft5x_ts_data *data = i2c_get_clientdata(this_client);
dprintk(DEBUG_SUSPEND,"==ft5x_ts_suspend=\n");
dprintk(DEBUG_SUSPEND,"CONFIG_HAS_EARLYSUSPEND: write FT5X0X_REG_PMODE .\n");
ft5x_ts_release();
data->is_suspended = false;
flush_workqueue(ft5x_resume_wq);
ret = input_set_int_enable(&(config_info.input_type), 0);
if (ret < 0)
dprintk(DEBUG_SUSPEND,"%s irq disable failed\n", __func__);
cancel_work_sync(&data->pen_event_work);
flush_workqueue(data->ts_workqueue);
ft5x_set_reg(FT5X0X_REG_PMODE, PMODE_HIBERNATE);
msleep(5);
input_set_power_enable(&(config_info.input_type), 0);
}
static void ft5x_ts_late_resume(struct early_suspend *handler)
{
struct ft5x_ts_data *data = container_of(handler, struct ft5x_ts_data, early_suspend);
dprintk(DEBUG_SUSPEND,"==CONFIG_HAS_EARLYSUSPEND:ft5x_ts_resume== \n");
if (data->is_suspended == false) {
input_set_power_enable(&(config_info.input_type), 1);
msleep(5);
queue_work(ft5x_resume_wq, &ft5x_resume_work);
}
printk("ts->is_suspended:%d\n",data->is_suspended);
}
#endif
static void ft5x_init_events (struct work_struct *work)
{
int i = 0;
int ret;
dprintk(DEBUG_INIT,"====%s begin=====. \n", __func__);
while((chip_id == 0x00) || (chip_id == 0xa3)){
delay_ms(5);
ret = i2c_smbus_read_byte_data(this_client,0xA3);
dprintk(DEBUG_INIT,"addr:0x%x,chip_id_value:0x%x\n",this_client->addr,ret);
if((ret != 0x00) && (ret != 0xa3)) {
chip_id = ret;
break;
}
if((i++)>10) {
break;
}
}
dprintk(DEBUG_INIT,"read chip_id timers,timers=%d\n",i);
i = 0;
#ifdef CONFIG_SUPPORT_FTS_CTP_UPG
fts_ctpm_fw_upgrade_with_i_file();
#endif
if(chip_id == 0x02 ){
#ifdef FT5X02_CONFIG_INI
if (ft5x02_Get_Param_From_Ini(FT5X02_CONFIG_NAME) >= 0)
ft5x02_Init_IC_Param(this_client);
else
printk("Get ft5x02 param from INI file failed\n");
#else
msleep(1000); /*wait...*/
while(i<5){
dprintk(DEBUG_INIT,"-----------------------------------------Init ic param\r\n");
if (ft5x02_Init_IC_Param(this_client) >=0 ){
dprintk(DEBUG_INIT,"---------------------------------------get ic param\r\n");
if(ft5x02_get_ic_param(this_client) >=0)
break;
}
i++;
}
#endif
}
}
static int ft5x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id)
{
printk("==ft5x_ts_probe==\n");
struct ft5x_ts_data *ft5x_ts;
struct input_dev *input_dev;
struct device *dev;
struct i2c_dev *i2c_dev;
int err = 0;
#ifdef TOUCH_KEY_SUPPORT
int i = 0;
#endif
dprintk(DEBUG_INIT,"====%s begin=====. \n", __func__);
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
err = -ENODEV;
printk("check_functionality_failed\n");
goto exit_check_functionality_failed;
}
ft5x_ts = kzalloc(sizeof(*ft5x_ts), GFP_KERNEL);
if (!ft5x_ts) {
err = -ENOMEM;
printk("alloc_data_failed\n");
goto exit_alloc_data_failed;
}
this_client = client;
i2c_set_clientdata(client, ft5x_ts);
ft5x_wq = create_singlethread_workqueue("ft5x_init");
if (ft5x_wq == NULL) {
printk("create ft5x_wq fail!\n");
return -ENOMEM;
}
queue_work(ft5x_wq, &ft5x_init_work);
INIT_WORK(&ft5x_ts->pen_event_work, ft5x_ts_pen_irq_work);
ft5x_ts->ts_workqueue = create_singlethread_workqueue(dev_name(&client->dev));
if (!ft5x_ts->ts_workqueue) {
err = -ESRCH;
printk("ts_workqueue fail!\n");
goto exit_create_singlethread;
}
input_dev = input_allocate_device();
if (!input_dev) {
err = -ENOMEM;
dev_err(&client->dev, "failed to allocate input device\n");
goto exit_input_dev_alloc_failed;
}
ft5x_ts->input_dev = input_dev;
#ifdef CONFIG_FT5X0X_MULTITOUCH
set_bit(ABS_MT_TOUCH_MAJOR, input_dev->absbit);
set_bit(ABS_MT_POSITION_X, input_dev->absbit);
set_bit(ABS_MT_POSITION_Y, input_dev->absbit);
set_bit(ABS_MT_WIDTH_MAJOR, input_dev->absbit);
#ifdef FOR_TSLIB_TEST
set_bit(BTN_TOUCH, input_dev->keybit);
#endif
input_set_abs_params(input_dev,
ABS_MT_POSITION_X, 0, SCREEN_MAX_X, 0, 0);
input_set_abs_params(input_dev,
ABS_MT_POSITION_Y, 0, SCREEN_MAX_Y, 0, 0);
input_set_abs_params(input_dev,
ABS_MT_TOUCH_MAJOR, 0, PRESS_MAX, 0, 0);
input_set_abs_params(input_dev,
ABS_MT_WIDTH_MAJOR, 0, 200, 0, 0);
input_set_abs_params(input_dev,
ABS_MT_TRACKING_ID, 0, 4, 0, 0);
#ifdef TOUCH_KEY_SUPPORT
key_tp = 0;
input_dev->evbit[0] = BIT_MASK(EV_KEY);
for (i = 1; i < TOUCH_KEY_NUMBER; i++)
set_bit(i, input_dev->keybit);
#endif
#else
set_bit(ABS_MT_POSITION_X, input_dev->absbit);
set_bit(ABS_MT_POSITION_Y, input_dev->absbit);
set_bit(ABS_PRESSURE, input_dev->absbit);
set_bit(BTN_TOUCH, input_dev->keybit);
input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0, SCREEN_MAX_X, 0, 0);
input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0, SCREEN_MAX_Y, 0, 0);
input_set_abs_params(input_dev,
ABS_PRESSURE, 0, PRESS_MAX, 0 , 0);
#endif
set_bit(EV_ABS, input_dev->evbit);
set_bit(EV_KEY, input_dev->evbit);
set_bit(INPUT_PROP_DIRECT, input_dev->propbit);
input_dev->name = CTP_NAME; //dev_name(&client->dev)
err = input_register_device(input_dev);
if (err) {
dev_err(&client->dev,"ft5x_ts_probe: failed to register input device: %s\n",
dev_name(&client->dev));
goto exit_input_register_device_failed;
}
ft5x_ts->is_suspended = false;
ft5x_resume_wq = create_singlethread_workqueue("ft5x_resume");
if (ft5x_resume_wq == NULL) {
printk("create ft5x_resume_wq fail!\n");
return -ENOMEM;
}
#ifdef CONFIG_HAS_EARLYSUSPEND
printk("==register_early_suspend =\n");
ft5x_ts->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN + 1;
ft5x_ts->early_suspend.suspend = ft5x_ts_early_suspend;
ft5x_ts->early_suspend.resume = ft5x_ts_late_resume;
register_early_suspend(&ft5x_ts->early_suspend);
#endif
#ifdef CONFIG_FT5X0X_MULTITOUCH
dprintk(DEBUG_INIT,"CONFIG_FT5X0X_MULTITOUCH is defined. \n");
#endif
config_info.dev = &(ft5x_ts->input_dev->dev);
err = input_request_int(&(config_info.input_type), ft5x_ts_interrupt,
CTP_IRQ_MODE, ft5x_ts);
if (err) {
pr_info( "goodix_probe: request irq failed\n");
goto exit_irq_request_failed;
}
i2c_dev = get_free_i2c_dev(client->adapter);
if (IS_ERR(i2c_dev)){
err = PTR_ERR(i2c_dev);
printk("i2c_dev fail!");
return err;
}
dev = device_create(i2c_dev_class, &client->adapter->dev, MKDEV(I2C_MAJOR,client->adapter->nr),
NULL, "aw_i2c_ts%d", client->adapter->nr);
if (IS_ERR(dev)) {
err = PTR_ERR(dev);
printk("dev fail!\n");
return err;
}
device_enable_async_suspend(&client->dev);
dprintk(DEBUG_INIT,"==%s over =\n", __func__);
return 0;
exit_irq_request_failed:
cancel_work_sync(&ft5x_resume_work);
destroy_workqueue(ft5x_resume_wq);
exit_input_register_device_failed:
input_free_device(input_dev);
exit_input_dev_alloc_failed:
input_free_int(&(config_info.input_type), ft5x_ts);
i2c_set_clientdata(client, NULL);
cancel_work_sync(&ft5x_ts->pen_event_work);
destroy_workqueue(ft5x_ts->ts_workqueue);
exit_create_singlethread:
kfree(ft5x_ts);
exit_alloc_data_failed:
exit_check_functionality_failed:
cancel_work_sync(&ft5x_init_work);
destroy_workqueue(ft5x_wq);
return err;
}
static int ft5x_ts_remove(struct i2c_client *client)
{
struct ft5x_ts_data *ft5x_ts = i2c_get_clientdata(client);
ft5x_set_reg(FT5X0X_REG_PMODE, PMODE_HIBERNATE);
printk("==ft5x_ts_remove=\n");
device_destroy(i2c_dev_class, MKDEV(I2C_MAJOR,client->adapter->nr));
input_free_int(&(config_info.input_type), ft5x_ts);
#ifdef CONFIG_HAS_EARLYSUSPEND
unregister_early_suspend(&ft5x_ts->early_suspend);
#endif
cancel_work_sync(&ft5x_resume_work);
destroy_workqueue(ft5x_resume_wq);
input_unregister_device(ft5x_ts->input_dev);
input_free_device(ft5x_ts->input_dev);
cancel_work_sync(&ft5x_ts->pen_event_work);
destroy_workqueue(ft5x_ts->ts_workqueue);
input_set_power_enable(&(config_info.input_type), 0);
kfree(ft5x_ts);
i2c_set_clientdata(this_client, NULL);
return 0;
}
static const struct i2c_device_id ft5x_ts_id[] = {
{ CTP_NAME, 0 },
{}
};
MODULE_DEVICE_TABLE(i2c, ft5x_ts_id);
static struct i2c_driver ft5x_ts_driver = {
.class = I2C_CLASS_HWMON,
.probe = ft5x_ts_probe,
.remove = ft5x_ts_remove,
.id_table = ft5x_ts_id,
.driver = {
.name = CTP_NAME,
.owner = THIS_MODULE,
.suspend = ft5x_ts_suspend,
.resume = ft5x_ts_resume,
},
.address_list = normal_i2c,
};
static int aw_open(struct inode *inode, struct file *file)
{
int subminor;
struct i2c_client *client;
struct i2c_adapter *adapter;
struct i2c_dev *i2c_dev;
printk("====%s======.\n", __func__);
dprintk(DEBUG_OTHERS_INFO,"enter aw_open function\n");
subminor = iminor(inode);
dprintk(DEBUG_OTHERS_INFO,"subminor=%d\n",subminor);
i2c_dev = i2c_dev_get_by_minor(2);
if (!i2c_dev) {
printk("error i2c_dev\n");
return -ENODEV;
}
adapter = i2c_get_adapter(i2c_dev->adap->nr);
if (!adapter) {
return -ENODEV;
}
client = kzalloc(sizeof(*client), GFP_KERNEL);
if (!client) {
i2c_put_adapter(adapter);
return -ENOMEM;
}
snprintf(client->name, I2C_NAME_SIZE, "pctp_i2c_ts%d", adapter->nr);
//client->driver = &ft5x_ts_driver;
client->adapter = adapter;
file->private_data = client;
return 0;
}
static long aw_ioctl(struct file *file, unsigned int cmd,unsigned long arg )
{
dprintk(DEBUG_OTHERS_INFO,"====%s====\n",__func__);
dprintk(DEBUG_OTHERS_INFO,"line :%d,cmd = %d,arg = %ld.\n",__LINE__,cmd,arg);
switch (cmd) {
case UPGRADE:
dprintk(DEBUG_OTHERS_INFO,"==UPGRADE_WORK=\n");
fts_ctpm_fw_upgrade_with_i_file();
// calibrate();
break;
default:
break;
}
return 0;
}
static int aw_release (struct inode *inode, struct file *file)
{
struct i2c_client *client = file->private_data;
dprintk(DEBUG_OTHERS_INFO,"enter aw_release function.\n");
i2c_put_adapter(client->adapter);
kfree(client);
file->private_data = NULL;
return 0;
}
static const struct file_operations aw_i2c_ts_fops ={
.owner = THIS_MODULE,
.open = aw_open,
.unlocked_ioctl = aw_ioctl,
.release = aw_release,
};
static int ctp_get_system_config(void)
{
ctp_print_info(config_info,DEBUG_INIT);
twi_id = config_info.twi_id;
screen_max_x = config_info.screen_max_x;
screen_max_y = config_info.screen_max_y;
revert_x_flag = config_info.revert_x_flag;
revert_y_flag = config_info.revert_y_flag;
exchange_x_y_flag = config_info.exchange_x_y_flag;
if((screen_max_x == 0) || (screen_max_y == 0)){
printk("%s:read config error!\n",__func__);
return 0;
}
return 1;
}
static int __init ft5x_ts_init(void)
{
printk("==ft5x_ts_init==\n");
int ret = -1;
dprintk(DEBUG_INIT,"***************************init begin*************************************\n");
#ifdef WILLIAM_DEBUG
printk("####%s start####\n", __func__);
#endif
if (input_sensor_startup(&(config_info.input_type))) {
printk("%s: ctp_fetch_sysconfig_para err.\n", __func__);
return 0;
} else {
ret = input_sensor_init(&(config_info.input_type));
if (0 != ret) {
printk("%s:ctp_ops.init_platform_resource err. \n", __func__);
}
}
if(config_info.ctp_used == 0){
printk("*** ctp_used set to 0 !\n");
printk("*** if use ctp,please put the sys_config.fex ctp_used set to 1. \n");
return 0;
}
if(!ctp_get_system_config()){
printk("%s:read config fail!\n",__func__);
return ret;
}
input_set_power_enable(&(config_info.input_type), 1);
msleep(10);
ctp_wakeup(0, 10);
ft5x_ts_driver.detect = ctp_detect;
ret= register_chrdev(I2C_MAJOR,"aw_i2c_ts",&aw_i2c_ts_fops );
if(ret) {
printk("%s:register chrdev failed\n",__FILE__);
return ret;
}
i2c_dev_class = class_create(THIS_MODULE,"aw_i2c_dev");
if (IS_ERR(i2c_dev_class)) {
ret = PTR_ERR(i2c_dev_class);
class_destroy(i2c_dev_class);
}
ret = i2c_add_driver(&ft5x_ts_driver);
dprintk(DEBUG_INIT,"****************************init end************************************\n");
#ifdef WILLIAM_DEBUG
printk("####%s end####\n", __func__);
#endif
return ret;
}
static void __exit ft5x_ts_exit(void)
{
printk("==ft5x_ts_exit==\n");
i2c_del_driver(&ft5x_ts_driver);
class_destroy(i2c_dev_class);
unregister_chrdev(I2C_MAJOR, "aw_i2c_ts");
input_sensor_free(&(config_info.input_type));
}
late_initcall(ft5x_ts_init);
module_exit(ft5x_ts_exit);
MODULE_AUTHOR("<wenfs@Focaltech-systems.com>");
MODULE_DESCRIPTION("FocalTech ft5x TouchScreen driver");
MODULE_LICENSE("GPL");设备树配置:
twi0: twi@0x05002000{
clock-frequency = <100000>;
pinctrl-0 = <&twi0_pins_a>;
pinctrl-1 = <&twi0_pins_b>;
status = "okay";
ctp@3b {
compatible = "ft5x_ts";
reg = <0x3b>;
device_type = "ctp";
status = "okay";
ctp_name = "ft5x_ts";
ctp_twi_id = <0x0>;
ctp_twi_addr = <0x3b>;
ctp_screen_max_x = <0x02D0>;
ctp_screen_max_y = <0x0500>;
ctp_revert_x_flag = <1>;
ctp_revert_y_flag = <1>;
ctp_exchange_x_y_flag = <0x1>;
ctp_int_port = <&pio PH 15 6 0xffffffff 0xffffffff 0>;
ctp_wakeup = <&pio PH 14 1 0xffffffff 0xffffffff 1>;
ctp_power_io = <&pio PB 5 1 0xffffffff 0xffffffff 1>;
ctp-supply = <®_cldo2>;
ctp_power_ldo_vol = <3300>;
};
};
pio: pinctrl@0300b000 {
twi0_pins_a: twi0@0 {
allwinner,pins = "PH0", "PH1";
allwinner,pname = "twi0_scl", "twi0_sda";
allwinner,function = "twi0";
allwinner,muxsel = <2>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
twi0_pins_b: twi0@1 {
allwinner,pins = "PH0", "PH1";
allwinner,function = "io_disabled";
allwinner,muxsel = <7>;
allwinner,drive = <1>;
allwinner,pull = <0>;
};
}报错信息:
[ 107.311165] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3)
[ 107.320956] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4)
[ 107.330676] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5)
[ 107.340367] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6)
[ 107.350250] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x7)
[ 107.359835] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x8)
[ 107.369453] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x9)
[ 107.379070] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xa)
[ 107.388751] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xb)
[ 107.398379] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xc)
[ 107.407991] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xd)
[ 107.417682] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xe)
[ 107.427290] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0xf)
[ 107.437429] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x10)
[ 107.447131] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x11)
[ 107.456932] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x12)
[ 107.466689] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x13)
[ 107.476443] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x14)
[ 107.486187] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x15)
[ 107.495887] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x16)
[ 107.505627] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x17)
[ 107.515488] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x18)
[ 107.525335] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x19)
[ 107.535075] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1a)
[ 107.544771] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1b)
[ 107.554712] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1c)
[ 107.564565] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1d)
[ 107.574809] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1e)
[ 107.584560] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x1f)
[ 107.594328] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x20)
[ 107.599813] healthd: battery l=79 v=4003 t=30.0 h=2 st=2 fc=1771 chg=u
[ 107.611603] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x21)
[ 107.621483] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x22)
[ 107.631398] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x23)
[ 107.641359] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x24)
[ 107.651147] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x25)
[ 107.660840] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x26)
[ 107.670569] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x27)
[ 107.680301] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x28)
[ 107.690746] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x29)
[ 107.700783] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2a)
[ 107.710488] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2b)
[ 107.720374] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2c)
[ 107.730071] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2d)
[ 107.739777] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2e)
[ 107.749500] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.759010] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.764648] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x2f)
[ 107.774298] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.783673] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.789257] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x30)
[ 107.798948] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.808392] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.814000] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x31)
[ 107.823651] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.833054] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.838659] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x32)
[ 107.848292] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.857735] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.863393] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x33)
[ 107.873097] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 107.882583] msg ft5x_i2c_rxdata i2c read error: -70
[ 107.882836] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x34)
[ 107.883142] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x35)
[ 107.883424] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x36)
[ 107.883699] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x37)
[ 107.883968] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x38)
[ 107.884241] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x39)
[ 107.884581] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3a)
[ 107.884880] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3c)
[ 107.885151] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3d)
[ 107.885420] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3e)
[ 107.885689] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3f)
[ 107.885991] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x40)
[ 107.886260] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x41)
[ 107.886529] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x42)
[ 107.886798] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x43)
[ 107.887066] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x44)
[ 107.887335] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x45)
[ 107.887611] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x46)
[ 107.887880] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x47)
[ 107.888148] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x48)
[ 107.888420] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x49)
[ 107.888708] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4a)
[ 107.888977] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4b)
[ 107.889239] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4c)
[ 107.889501] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4d)
[ 107.889771] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4e)
[ 107.890038] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x4f)
[ 107.890340] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x50)
[ 107.890607] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x51)
[ 107.890886] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x52)
[ 107.891155] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x53)
[ 107.891422] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x54)
[ 107.891687] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x55)
[ 107.891952] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x56)
[ 107.892219] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x57)
[ 107.892484] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x58)
[ 107.892749] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x59)
[ 107.893016] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5a)
[ 107.893282] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5b)
[ 107.893548] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5c)
[ 107.893814] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5d)
[ 107.894079] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5e)
[ 107.894399] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x5f)
[ 107.894702] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x60)
[ 107.894973] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x61)
[ 107.895241] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x62)
[ 107.895509] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x63)
[ 107.895778] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x64)
[ 107.896048] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x65)
[ 107.896317] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x66)
[ 107.896584] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x67)
[ 107.896853] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x68)
[ 107.897122] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x69)
[ 107.897391] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6a)
[ 107.897666] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6b)
[ 107.897938] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6c)
[ 107.898208] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6d)
[ 107.898476] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6e)
[ 107.898744] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x6f)
[ 107.899045] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x70)
[ 107.899313] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x71)
[ 107.899581] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x72)
[ 107.899850] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x73)
[ 107.900118] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x74)
[ 107.900386] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x75)
[ 107.900656] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x76)
[ 107.900928] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x77)
[ 108.516483] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.525921] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.531723] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.541209] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.546989] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.556390] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.562104] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.571472] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.577197] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.586569] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.592297] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.601670] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.607396] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.616769] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.622474] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.632107] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.637920] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.647337] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.653059] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.662524] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.668299] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.677696] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.683468] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.692978] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.698772] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.708168] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.713881] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.723296] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.729010] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.738384] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.744121] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.753495] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.759232] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.768662] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.774445] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.783824] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.789573] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.798964] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.804677] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.814068] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.819784] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.829172] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.834884] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.844356] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.850192] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.867975] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.875015] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.884979] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.893156] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.903009] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.909402] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.918950] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.924824] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.934287] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.940130] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.949631] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.955409] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.964898] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.971172] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.980763] msg ft5x_i2c_rxdata i2c read error: -70
[ 108.986597] sunxi_i2c_do_xfer()1951 - [i2c0] incomplete xfer (status: 0x20, dev addr: 0x3b)
[ 108.996107] msg ft5x_i2c_rxdata i2c read error: -70
[ 117.627842] healthd: battery l=79 v=4006 t=30.0 h=2 st=2 fc=1771 chg=u\ceres-b6:/ # dmesg
[ 206.502538] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.502847] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.503154] twi_start()481 - [i2c0] START can't sendout!
[ 206.503157] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.503261] msg ft5x_i2c_rxdata i2c read error: -121
[ 206.503468] twi_start()481 - [i2c0] START can't sendout!
[ 206.503470] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.503777] twi_start()481 - [i2c0] START can't sendout!
[ 206.503779] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.504087] twi_start()481 - [i2c0] START can't sendout!
[ 206.504089] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.504193] msg ft5x_i2c_rxdata i2c read error: -121
[ 206.504401] twi_start()481 - [i2c0] START can't sendout!
[ 206.504403] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.504710] twi_start()481 - [i2c0] START can't sendout!
[ 206.504712] sunxi_i2c_do_xfer()1928 - [i2c0] twi_regulator:
[ 206.505020] twi_start()481 - [i2c0] START can't sendout!static void LCD_bl_open(u32 sel)
{
pr_info("[LCD] %s: screen %u\n", __func__, sel);
sunxi_lcd_pwm_enable(sel);
sunxi_lcd_delay_ms(50);
sunxi_lcd_backlight_enable(sel);//config lcd_bl_en pin to open lcd backlight
}
static void LCD_bl_close(u32 sel)
{
pr_info("[LCD] %s: screen %u\n", __func__, sel);
sunxi_lcd_backlight_disable(sel);//config lcd_bl_en pin to close lcd backlight
sunxi_lcd_delay_ms(20);
sunxi_lcd_pwm_disable(sel);
}
#define REGFLAG_DELAY 0XFE
#define REGFLAG_END_OF_TABLE 0xFD // END OF REGISTERS MARKER
struct LCM_setting_table {
u8 cmd;
u32 count;
u8 para_list[64];
};
/*add panel initialization below*/
static struct LCM_setting_table lcm_initialization_setting[] = {
{REGFLAG_DELAY, REGFLAG_DELAY, {120}}, /* 120 ms after reset */
/* Page-1 (0x3001) */
{0xFF, 1, {0x30}},
{0xFF, 1, {0x52}},
{0xFF, 1, {0x01}},
{0xE3, 1, {0x04}},
{0x08, 1, {0x0E}},
{0x25, 1, {0x10}},
{0x28, 1, {0x5F}},
{0x2C, 1, {0x22}},
{0x30, 1, {0x58}},
{0x45, 1, {0x91}},
{0x37, 1, {0x9C}},
{0x38, 1, {0xA7}},
{0x39, 1, {0x27}},
{0x44, 1, {0x00}},
{0x49, 1, {0x1C}},
{0x59, 1, {0xFE}},
{0x5C, 1, {0x00}},
{0x91, 1, {0x77}},
{0x92, 1, {0x77}},
{0xA0, 1, {0x55}},
{0xA1, 1, {0x50}},
{0xA3, 1, {0x58}},
{0xA4, 1, {0x9C}},
{0xA7, 1, {0x02}},
{0xA8, 1, {0x01}},
{0xA9, 1, {0x01}},
{0xAA, 1, {0xFC}},
{0xAB, 1, {0x28}},
{0xAC, 1, {0x06}},
{0xAD, 1, {0x06}},
{0xAE, 1, {0x06}},
{0xAF, 1, {0x03}},
{0xB0, 1, {0x08}},
{0xB1, 1, {0x26}},
{0xB2, 1, {0x28}},
{0xB3, 1, {0x28}},
{0xB4, 1, {0x03}},
{0xB5, 1, {0x08}},
{0xB6, 1, {0x26}},
{0xB7, 1, {0x08}},
{0xB8, 1, {0x26}},
{0xC0, 1, {0x00}},
{0xC1, 1, {0x00}},
{0xC3, 1, {0x0F}},
/* Page-2 (0x3002) */
{0xFF, 1, {0x30}},
{0xFF, 1, {0x52}},
{0xFF, 1, {0x02}},
{0xB0, 1, {0x00}},
{0xB1, 1, {0x05}},
{0xB2, 1, {0x02}},
{0xB3, 1, {0x24}},
{0xB4, 1, {0x25}},
{0xB5, 1, {0x30}},
{0xB6, 1, {0x0C}},
{0xB7, 1, {0x27}},
{0xB8, 1, {0x0F}},
{0xB9, 1, {0x05}},
{0xBA, 1, {0x11}},
{0xBB, 1, {0x10}},
{0xBC, 1, {0x11}},
{0xBD, 1, {0x12}},
{0xBE, 1, {0x17}},
{0xBF, 1, {0x0C}},
{0xC0, 1, {0x14}},
{0xC1, 1, {0x0A}},
{0xD0, 1, {0x08}},
{0xD1, 1, {0x0F}},
{0xD2, 1, {0x09}},
{0xD3, 1, {0x35}},
{0xD4, 1, {0x38}},
{0xD5, 1, {0x3D}},
{0xD6, 1, {0x1B}},
{0xD7, 1, {0x3B}},
{0xD8, 1, {0x0F}},
{0xD9, 1, {0x05}},
{0xDA, 1, {0x11}},
{0xDB, 1, {0x10}},
{0xDC, 1, {0x11}},
{0xDD, 1, {0x14}},
{0xDE, 1, {0x19}},
{0xDF, 1, {0x11}},
{0xE0, 1, {0x19}},
{0xE1, 1, {0x09}},
/* Page-3 (0x3003) */
{0xFF, 1, {0x30}},
{0xFF, 1, {0x52}},
{0xFF, 1, {0x03}},
{0x08, 1, {0x8B}},
{0x09, 1, {0x8A}},
{0x0A, 1, {0x89}},
{0x0B, 1, {0x88}},
{0x34, 1, {0x61}},
{0x35, 1, {0xD4}},
{0x36, 1, {0x24}},
{0x37, 1, {0x03}},
{0x40, 1, {0x8B}},
{0x41, 1, {0x8A}},
{0x42, 1, {0x89}},
{0x43, 1, {0x88}},
{0x45, 1, {0x01}},
{0x46, 1, {0x02}},
{0x48, 1, {0x03}},
{0x49, 1, {0x04}},
{0x50, 1, {0x87}},
{0x51, 1, {0x86}},
{0x52, 1, {0x85}},
{0x53, 1, {0x84}},
{0x55, 1, {0x05}},
{0x56, 1, {0x06}},
{0x58, 1, {0x07}},
{0x59, 1, {0x08}},
{0x80, 1, {0x0F}},
{0x81, 1, {0x0E}},
{0x82, 1, {0x07}},
{0x83, 1, {0x06}},
{0x84, 1, {0x05}},
{0x85, 1, {0x04}},
{0x92, 1, {0x0E}},
{0x93, 1, {0x0F}},
{0x94, 1, {0x01}},
{0x95, 1, {0x00}},
{0x96, 1, {0x0F}},
{0x97, 1, {0x0E}},
{0x98, 1, {0x07}},
{0x99, 1, {0x06}},
{0x9A, 1, {0x05}},
{0x9B, 1, {0x04}},
{0xA8, 1, {0x0E}},
{0xA9, 1, {0x0F}},
{0xAA, 1, {0x01}},
{0xAB, 1, {0x00}},
{0xE0, 1, {0x02}},
{0xE1, 1, {0x52}},
/* Page-0 (0x3000) */
{0xFF, 1, {0x30}},
{0xFF, 1, {0x52}},
{0xFF, 1, {0x00}},
{0x35, 1, {0x00}},
{0x36, 1, {0x02}},
{0x53, 1, {0x2C}},
/* Display ON sequence */
//SLP OUT
{0x11, 0, {0x00} }, // SLPOUT
{REGFLAG_DELAY, REGFLAG_DELAY, {120} },
//DISP ON
{0x29, 0, {0x00} }, // DSPON
{REGFLAG_DELAY, REGFLAG_DELAY, {100} },
{REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {} }
};
/*static void LCD_panel_try_switch(u32 sel)
{
u8 result[16] = {0};
u32 num = 0;
sunxi_lcd_delay_ms(100);
sunxi_lcd_dsi_dcs_read(sel, 0x04, result, &num);
printf("get lcd id 0x%x\n", result[0]);
if (result[0] == 0x93) {
LCD_power_off(sel);
sunxi_lcd_switch_compat_panel(sel, 1);
return;
}
}*/
static void LCD_panel_init(u32 sel)
{
__u32 i;
pr_info("[LCD] %s: screen %u - start init table\n", __func__, sel);
sunxi_lcd_dsi_clk_enable(sel);
sunxi_lcd_delay_ms(20);
pr_info("[LCD] %s: sending SW reset\n", __func__);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_SOFT_RESET);
//sunxi_lcd_delay_ms(10);
sunxi_lcd_delay_ms(120);
pr_info("[LCD] %s: entering init table loop\n", __func__);
for (i = 0; ; i++) {
if (lcm_initialization_setting[i ].count == REGFLAG_END_OF_TABLE)
break;
else if (lcm_initialization_setting[i ].count == REGFLAG_DELAY)
sunxi_lcd_delay_ms(lcm_initialization_setting[i ].para_list[0]);
#ifdef SUPPORT_DSI
else
dsi_dcs_wr(sel, lcm_initialization_setting[i ].cmd, lcm_initialization_setting[i ].para_list, lcm_initialization_setting[i ].count);
#endif
//break;
}
pr_info("[LCD] %s: screen %u - init table done\n", __func__, sel);
return;
}
static void LCD_panel_exit(u32 sel)
{
pr_info("[LCD] %s: screen %u\n", __func__, sel);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_SET_DISPLAY_OFF);
sunxi_lcd_delay_ms(20);
sunxi_lcd_dsi_dcs_write_0para(sel, DSI_DCS_ENTER_SLEEP_MODE);
sunxi_lcd_delay_ms(80);
return ;
}
disp: disp@06000000 {
disp_init_enable = <1>;
disp_mode = <0>;
screen0_output_type = <1>;
screen0_output_mode = <4>;
screen1_output_type = <1>;
screen1_output_mode = <4>;
screen1_output_format = <0>;
screen1_output_bits = <0>;
screen1_output_eotf = <4>;
screen1_output_cs = <257>;
screen1_output_dvi_hdmi = <2>;
screen1_output_range = <2>;
screen1_output_scan = <0>;
screen1_output_aspect_ratio = <8>;
dev0_output_type = <1>;
dev0_output_mode = <4>;
dev0_screen_id = <0>;
dev0_do_hpd = <0>;
dev1_output_type = <4>;
dev1_output_mode = <10>;
dev1_screen_id = <1>;
dev1_do_hpd = <1>;
def_output_dev = <0>;
hdmi_mode_check = <1>;
fb0_format = <0>;
fb0_width = <720>;
fb0_height = <1280>;
fb1_format = <0>;
fb1_width = <0>;
fb1_height = <0>;
chn_cfg_mode = <1>;
disp_para_zone = <1>;
/*VCC-LCD*/
cldo4-supply = <®_cldo4>;
/*VCC-LVDS-1.8V*/
cldo1-supply = <®_cldo1>;
/*VCC-DSI*/
/*VCC-PD-3.3V*/
cldo3-supply = <®_cldo3>;
};
lcd0: lcd0@01c0c000 {
lcd_used = <1>;
lcd_driver_name = "K080_IM2HYL802R_800X1280";
lcd_backlight = <50>;
lcd_if = <4>;
lcd_x = <720>;
lcd_y = <1280>;
lcd_width = <150>;
lcd_height = <36>;
lcd_dclk_freq = <58>;
/* PWM for backlight */
lcd_pwm_used = <1>;
lcd_pwm_ch = <0>;
lcd_pwm_freq = <50000>;
lcd_pwm_pol = <1>;
lcd_pwm_max_limit = <255>;
lcd_hbp = <30>;
lcd_ht = <770>;
lcd_hspw = <6>;
lcd_vbp = <16>;
lcd_vt = <1311>;
lcd_vspw = <4>;
lcd_frm = <0>;
lcd_gamma_en = <0>;
lcd_bright_curve_en = <0>;
lcd_cmap_en = <0>;
deu_mode = <0>;
lcdgamma4iep = <22>;
smart_color = <90>;
lcd_dsi_if = <0>;
lcd_dsi_lane = <4>;
lcd_dsi_format = <0>;
lcd_dsi_te = <0>;
lcd_dsi_eotp = <0>;
lcd_pin_power = "cldo3"; // VCC-PD (3.3 V)
lcd_power1 = "cldo1"; // VCC-LVDS (1.8 V)
lcd_power2 = "cldo4"; // VCC-LCD (3.3 V)
lcd_gpio_1 = <&pio PD 22 1 0 3 1>; /* RESET */
pinctrl-0 = <&dsi4lane_pins_a>;
pinctrl-1 = <&dsi4lane_pins_b>;
lcd_bl_en = <&pio PD 23 1 1 0 3 1>;
lcd_bl_0_percent = <15>;
lcd_bl_100_percent = <100>;
};
页次: 1