页次: 1
Ubuntu18.04 可以编译并安装ko成功,
sudo modprobe aic_load_fw && sleep 2 && sudo modprobe aic8800_fdrv && sleep 2 && sudo modprobe aic_btusb
sudo rmmod aic_btusb && sudo rmmod aic8800_fdrv && sudo rmmod aic_load_fw
蓝牙wifi均OK
您好 我想请问一下 我现在用的AW869C的 我wifi是正常的 但是我蓝牙一直处于崩溃是什么情况 bluetooth keeps stopping 一直报这个错误
配置如下:
sdc1: sdmmc@04021000 {
bus-width = <4>;
no-mmc;
no-sd;
cap-sd-highspeed;
/*sd-uhs-sdr12;*/
/*sd-uhs-sdr25;*/
sd-uhs-sdr50;
sd-uhs-sdr50;
sd-uhs-sdr104;
/*sunxi-power-save-mode;*/
/*sunxi-dis-signal-vol-sw;*/
cap-sdio-irq;
keep-power-in-suspend;
ignore-pm-notify;
sdio-used-1v8;
max-frequency = <100000000>;
ctl-spec-caps = <0x8>;
status = "okay";
};
wlan: wlan@0 {
compatible = "allwinner,sunxi-wlan";
/*
clocks = <&clk_losc_out>, <&clk_dcxo_out>;
pinctrl-0;
pinctrl-names;
*/
wlan_busnum = <0x1>;
wlan_power = "axp803-dldo1";
wlan_io_regulator;
wlan_regon = <&r_pio PL 5 1 0xffffffff 0xffffffff 0>;
wlan_hostwake = <&r_pio PL 6 6 0xffffffff 0xffffffff 0>;
chip_en;
power_en;
status = "okay";
};
bt: bt@0 {
compatible = "allwinner,sunxi-bt";
/*
clocks = <&clk_losc_out>, <&clk_dcxo_out>;
*/
bt_power = "axp803-dldo1";
bt_io_regulator;
bt_rst_n = <&pio PH 11 1 0xffffffff 0xffffffff 0>;
status = "okay";
};
btlpm: btlpm@0 {
compatible = "allwinner,sunxi-btlpm";
uart_index = <0x1>;
bt_wake = <&r_pio PL 4 1 0xffffffff 0xffffffff 1>;
bt_hostwake = <&r_pio PL 3 6 0xffffffff 0xffffffff 1>;
status = "okay";
};
# wifi and bt configuration
# 1. Wifi Configuration
BOARD_WIFI_VENDOR := aic
BOARD_USR_WIFI := aic8800
WIFI_DRIVER_MODULE_PATH := "/vendor/modules/aic8800_fdrv.ko"
WIFI_DRIVER_MODULE_NAME := "aic8800_fdrv"
WIFI_DRIVER_MODULE_ARG := ""
# 2. Bluetooth Configuration
BOARD_BLUETOOTH_VENDOR := aic
BOARD_HAVE_BLUETOOTH_NAME := aic8800
失败的日志:
[ 71.081910] >>> rwnx_mod_init()
[ 71.089499] rwnx 20220606-005-6.4.3.0 - - 241c091M (master)
[ 71.096158] Driver Release Tag: aic-rwnx-sdio-20220606-005-6.4.3.0
[ 71.103603] aicbsp: aicbsp_set_subsys, subsys: AIC_WIFI, state to: 1
[ 71.111288] aicbsp: aicbsp_set_subsys, power state change to 1 dure to AIC_WIFI
[ 71.120873] aicbsp: aicbsp_platform_power_on
[ 71.127326] sunxi-wlan soc@03000000:wlan@0: bus_index: 1
[ 71.134990] sunxi-wlan soc@03000000:wlan@0: check wlan wlan_power voltage: 3300000
[ 71.211840] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.222845] sunxi-mmc sdc1: no vqmmc,Check if there is regulator
[ 71.243899] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.271401] sunxi-mmc sdc1: smc 2 p1 err, cmd 52, RTO !!
[ 71.278355] sunxi-mmc sdc1: smc 2 p1 err, cmd 52, RTO !!
[ 71.284391] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.297896] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.320225] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[ 71.331064] sunxi-mmc sdc1: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 1 timing SD-HS(SDR25) dt B
[ 71.333170] init: starting service 'vendor.ril-daemon'...
[ 71.348318] sunxi-mmc sdc1: sdc set ios:clk 50000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
[ 71.361605] mmc2: new high speed SDIO card at address 390b
[ 71.389638] aicbsp: aicbsp_sdio_probe:1
[ 71.394323] aicbsp: aicbsp_sdio_probe:2
[ 71.399372] aicbsp: aicbsp_sdio_probe after replace:1
[ 71.405313] sunxi-mmc sdc1: sdc set ios:clk 70000000Hz bm PP pm ON vdd 21 width 4 timing SD-HS(SDR25) dt B
[ 71.416584] aicbsp: Set SDIO Clock 66 MHz
[ 71.421250] aicbsp: sdio_err:<aicwf_sdio_func_init,1194>: reg:11 write failed!
[ 71.429411] aicbsp: sdio_err:<aicbsp_sdio_probe,185>: sdio func init fail
[ 71.437446] aicbsp_sdio: probe of mmc2:390b:2 failed with error -34
[ 71.547320] aicbsp: aicbsp_platform_power_off
[ 71.547377] sunxi-mmc sdc1: smc 2 p1 err, cmd 7, RTO !!
[ 71.552380] sunxi-mmc sdc1: smc 2 p1 err, cmd 7, RTO !!
[ 71.558313] sunxi-mmc sdc1: smc 2 p1 err, cmd 7, RTO !!
[ 71.564320] sunxi-mmc sdc1: smc 2 p1 err, cmd 7, RTO !!
[ 71.565035] mmc2: card 390b removed
[ 71.565200] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 71.566312] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm UP vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.566385] sunxi-mmc sdc1: no vqmmc,Check if there is regulator
[ 71.582917] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.605618] sunxi-mmc sdc1: smc 2 p1 err, cmd 52, RTO !!
[ 71.612520] sunxi-mmc sdc1: smc 2 p1 err, cmd 52, RTO !!
[ 71.622714] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.631115] sunxi-mmc sdc1: sdc set ios:clk 400000Hz bm PP pm ON vdd 21 width 1 timing LEGACY(SDR12) dt B
[ 71.633389] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 71.639465] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 71.650490] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 71.654425] sunxi-mmc sdc1: smc 2 p1 err, cmd 5, RTO !!
[ 71.654472] sunxi-mmc sdc1: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B
[ 71.705786] aicbsp: aicbsp_set_subsys, fail to set AIC_WIFI power state to 1
[ 71.717450] logd: logdr: UID=1001 GID=1001 PID=4129 n tail=50 logMask=8 pid=4118 start=0ns timeout=0ns
[ 71.724115] logd: logdr: UID=1001 GID=1001 PID=4129 n tail=50 logMask=1 pid=4118 start=0ns timeout=0ns
[ 71.738994] rwnx_mod_init, set power on fail!
[ 71.750136] logd: logdr: UID=1001 GID=1001 PID=4129 n tail=0 logMask=8 pid=4118 start=0ns timeout=0ns
[ 71.769514] logd: logdr: UID=1001 GID=1001 PID=4129 n tail=0 logMask=1 pid=4118 start=0ns timeout=0ns
[ 71.909975] init: Untracked pid 4131 exited with status 0
[ 71.919893] init: Service 'vendor.ril-daemon' (pid 4118) received signal 6
[ 71.930838] init: Sending signal 9 to service 'vendor.ril-daemon' (pid 4118) process group...
[ 71.942383] libprocessgroup: Successfully killed process cgroup uid 1001 pid 4118 in 0ms
[ 71.953677] init: updatable process 'vendor.ril-daemon' exited 4 times in 4 minutes
现在就是打开wifi就报这个错误,lsmod只有蓝牙的驱动加载了,wifi的没有,电压规定如下:
symbol Parameter Minimum Typical Maximum Units
VDD 3.3V supply voltage 3.0 3.3 3.6 V
VDDIO I/O supply voltage 1.7/3.0 1.8/3.3 1.9/3.6 V
Current 3.3V rating current -- -- 1000 mA
日志卡在kernel是什么情况:
[BEGIN] 2026/3/27 10:22:14
962]fes begin:54b5c2f5b3
[965]set pll start
[967]periph0 has been enabled
[970]set pll end
[972]PL gpio voltage : 3.3V
[975][pmu]: bus read error
[978]PMU: AXP803
[980][pmu]: bus read error
[1026]vaild para:1 select dram para0
[1029]board init ok, set sys_vol to 920mv!
[1034]beign to init dram
[1036]DRAM BOOT DRIVE INFO: V0.697
[1040]the chip id is 0x1400
[1042]the chip id is 0x1400
[1045]the chip id is 0x1400
[1048]the chip id is 0x1400
[1051]the chip id is 0x1400
[1054]chip id check OK
[1080]DRAM_VCC set to 1500 mv
[1127]DRAM retraining ten
[1135][AUTO DEBUG]32bit,1 ranks training success!
[1149]DRAM CLK =576 MHZ
[1151]DRAM Type =3 (3:DDR3,4:DDR4,6:LPDDR2,7:LPDDR3,8:LPDDR4)
[1161]DRAM SIZE =1024 MBytes, para1 = 30fa, para2 = 4000000, tpr13 = 6001
[1179]DRAM simple test OK.
[1181]init dram ok
U-Boot 2018.05 (Feb 02 2026 - 02:07:18 +0000) Allwinner Technology
[08.991]CPU: Allwinner Family
[08.994]Model: sun50iw10
I2C: ready
[09.121]DRAM: 512 MiB
[09.125]Relocation Offset is: 15f03000
[09.158]secure enable bit: 0
[09.162]pmu_axp806_probe pmic_bus_read fail
[09.166]PMU: AXP803
[09.168]PMU: pmu_axp81X found
[09.171]PMU: AXP803
[09.173]BMU: bmu_axp81X found
FDT ERROR:fdt_get_regulator_name:get property handle twi-for-pmu-supply error:FDT_ERR_INTERNAL
[09.193]gpio_bias, pc_bias: 1800, pc_supply: not set
[09.198]gpio_bias, pl_bias: -1, pl_supply: not set
[09.205]dcdc1_vol = 3300, onoff=1
[09.210]aldo1_vol = 1800, onoff=1
[09.215]aldo2_vol = 1800, onoff=1
[09.220]aldo3_vol = 3300, onoff=1
[09.225]dldo1_vol = 0, onoff=0
[09.230]dldo2_vol = 1800, onoff=1
[09.235]dldo3_vol = 1800, onoff=1
[09.240]dldo4_vol = 1800, onoff=1
[09.245]eldo1_vol = 1800, onoff=1
[09.251]eldo2_vol = 1800, onoff=1
[09.256]eldo3_vol = 1800, onoff=1
[09.261]fldo1_vol = 900, onoff=1
[09.266]dc1sw_vol = 0, onoff=1
bias_name:pc_bias bias_vol:1800
[09.277]bat_vol=2764, ratio=0
[09.280]safe_vol=3500, safe_ratio=1
[09.284]TCS: TCS_probe
[09.286]pmu_tcs4838_probe pmic_bus_read fail
[09.289]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=400Mhz
[09.299]gic: normal mode
[09.301]flash init start
[09.303]workmode = 16,storage type = 0
try card 2
set card number 2
get card number 2
[09.311][mmc]: mmc driver ver uboot2018:2020-5-25 9:26:00-2021-09-17 14:45:00
[09.319][mmc]: get sdc_type fail and use default host:tm4.
[09.330][mmc]: Is not Boot mode!
[09.333][mmc]: SUNXI SDMMC Controller Version:0x50300
[09.344][mmc]: ************Try SD card 2************
[09.349][mmc]: mmc 2 cmd timeout 100 status 100
[09.353][mmc]: smc 2 err, cmd 8, RTO
[09.357][mmc]: mmc 2 close bus gating and reset
[09.362][mmc]: mmc 2 cmd timeout 100 status 100
[09.366][mmc]: smc 2 err, cmd 55, RTO
[09.370][mmc]: mmc 2 close bus gating and reset
[09.374][mmc]: ************Try MMC card 2************
[09.402][mmc]: mmc 2 cmd timeout 100 status 100
[09.406][mmc]: smc 2 err, cmd 8, RTO
[09.410][mmc]: mmc 2 close bus gating and reset
[09.415][mmc]: mmc 2 cmd timeout 100 status 100
[09.419][mmc]: smc 2 err, cmd 55, RTO
[09.422][mmc]: mmc 2 close bus gating and reset
[09.438][mmc]: gen_tuning_blk_bus8: total blk 10
[09.442][mmc]: gen_tuning_blk_bus4: total blk 6
[09.446][mmc]: Using 8 bit tuning now
[09.451][mmc]: write_tuning_try_freq: write ok
[09.456][mmc]: Pattern compare ok
[09.459][mmc]: Write tuning pattern ok
[09.462][mmc]: ================== HSSDR52_SDR25...
[09.467][mmc]: skip freq 400000
[09.470][mmc]: skip freq 25000000
[09.473][mmc]: freq: 2-50000000-64-4
[10.207][mmc]: [0-42|43] [47-63|17]
[10.210][mmc]: ================== HS200_SDR104...
[10.215][mmc]: skip freq 400000
[10.218][mmc]: skip freq 25000000
[10.221][mmc]: freq: 2-50000000-64-4
[10.959][mmc]: freq: 3-100000000-64-4
[11.656][mmc]: freq: 4-150000000-64-4
[12.298][mmc]: skip freq 200000000
[12.301][mmc]: [0-34|35] [39-63|25]
[12.305][mmc]: [0-34|35] [39-63|25]
[12.308][mmc]: [4-34|31] [39-63|25]
[12.311][mmc]: ================== HSDDR52_DDR50...
[12.316][mmc]: skip freq 400000
[12.319][mmc]: freq: 1-25000000-64-4
[13.053][mmc]: freq: 2-50000000-64-4
[13.751][mmc]: [0-37|38] [41-51|11] [54-63|10]
[13.755][mmc]: [0-25|26] [27-37|11] [41-63|23]
[13.759][mmc]: ================== HS400...
[13.764][mmc]: skip freq 400000
[13.766][mmc]: skip freq 25000000
[13.770][mmc]: freq: 2-50000000
[13.786][mmc]: freq: 3-100000000
[13.800][mmc]: skip freq 150000000
[13.803][mmc]: skip freq 200000000
[13.806][mmc]: speed mode: HS400
[13.809][mmc]: [0-34|35] [36-63|28]
[13.813][mmc]: [0-34|35] [36-63|28]
[13.816][mmc]: skip freq 400000
[13.819][mmc]: skip freq 25000000
[13.822][mmc]: freq: 2-50000000-64-4
[14.365][mmc]: freq: 3-100000000-64-4
[14.599][mmc]: skip freq 150000000
[14.602][mmc]: skip freq 200000000
[14.605][mmc]: [0-45|46]
[14.607][mmc]: [0-10|11] [12-20|9]
[14.612][mmc]: DS26/SDR12: 0xffffffff 0xffffffff
[14.616][mmc]: HSSDR52/SDR25: 0xff15ffff 0xffffffff
[14.620][mmc]: HSDDR52/DDR50: 0xff0d13ff 0xffffffff
[14.625][mmc]: HS200/SDR104: 0x1111ffff 0xffffff13
[14.629][mmc]: HS400: 0x0517ffff 0xffffffff
[14.633][mmc]: HS400: 0x1111ffff 0xffffffff
[14.638][mmc]: Best spd md: 4-HS400, freq: 3-100000000, Bus width: 8
[14.645]Loading Environment from SUNXI_FLASH... OK
[14.649]try to burn key
[14.653]out of usb burn from boot: not boot mode
Hit any key to stop autoboot: 0
sunxi work mode=0x10
run usb efex
buf queue page size = 65536
delay time 2500
weak:otg_phy_config
usb init ok
set address 0x56
set address 0x56 ok
SUNXI_EFEX_ERASE_TAG
erase_flag = 0x1
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
the 0 mbr table is ok
the 1 mbr table is ok
the 2 mbr table is ok
the 3 mbr table is ok
*************MBR DUMP***************
total mbr part 17
part[0] name :bootloader
part[0] classname :DISK
part[0] addrlo :0x8000
part[0] lenlo :0x10000
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x18000
part[1] lenlo :0x8000
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x20000
part[2] lenlo :0x10000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :super
part[3] classname :DISK
part[3] addrlo :0x30000
part[3] lenlo :0x400000
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :misc
part[4] classname :DISK
part[4] addrlo :0x430000
part[4] lenlo :0x8000
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :recovery
part[5] classname :DISK
part[5] addrlo :0x438000
part[5] lenlo :0x10000
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :cache
part[6] classname :DISK
part[6] addrlo :0x448000
part[6] lenlo :0x180000
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :vbmeta
part[7] classname :DISK
part[7] addrlo :0x5c8000
part[7] lenlo :0x8000
part[7] user_type :32768
part[7] keydata :0
part[7] ro :0
part[8] name :vbmeta_system
part[8] classname :DISK
part[8] addrlo :0x5d0000
part[8] lenlo :0x8000
part[8] user_type :32768
part[8] keydata :0
part[8] ro :0
part[9] name :vbmeta_vendor
part[9] classname :DISK
part[9] addrlo :0x5d8000
part[9] lenlo :0x8000
part[9] user_type :32768
part[9] keydata :0
part[9] ro :0
part[10] name :metadata
part[10] classname :DISK
part[10] addrlo :0x5e0000
part[10] lenlo :0x8000
part[10] user_type :32768
part[10] keydata :0
part[10] ro :0
part[11] name :private
part[11] classname :DISK
part[11] addrlo :0x5e8000
part[11] lenlo :0x8000
part[11] user_type :32768
part[11] keydata :0
part[11] ro :0
part[12] name :frp
part[12] classname :DISK
part[12] addrlo :0x5f0000
part[12] lenlo :0x400
part[12] user_type :32768
part[12] keydata :32768
part[12] ro :0
part[13] name :empty
part[13] classname :DISK
part[13] addrlo :0x5f0400
part[13] lenlo :0x7c00
part[13] user_type :32768
part[13] keydata :0
part[13] ro :0
part[14] name :dtbo
part[14] classname :DISK
part[14] addrlo :0x5f8000
part[14] lenlo :0x1000
part[14] user_type :32768
part[14] keydata :0
part[14] ro :0
part[15] name :media_data
part[15] classname :DISK
part[15] addrlo :0x5f9000
part[15] lenlo :0x8000
part[15] user_type :32768
part[15] keydata :0
part[15] ro :0
part[16] name :UDISK
part[16] classname :DISK
part[16] addrlo :0x601000
part[16] lenlo :0x0
part[16] user_type :33024
part[16] keydata :0
part[16] ro :0
total part: 18
mbr 0, 8000, 8000
bootloader 1, 10000, 8000
env 2, 8000, 8000
boot 3, 10000, 8000
super 4, 400000, 8000
misc 5, 8000, 8000
recovery 6, 10000, 8000
cache 7, 180000, 8000
vbmeta 8, 8000, 8000
vbmeta_system 9, 8000, 8000
vbmeta_vendor 10, 8000, 8000
metadata 11, 8000, 8000
private 12, 8000, 8000
frp 13, 400, 8000
empty 14, 7c00, 8000
dtbo 15, 1000, 8000
media_data 16, 8000, 8000
UDISK 17, 0, 8100
[17.828]erase all part start
need erase flash: 1
******Has init
private part exist
GPT:bootloader : 12000 21fff
GPT:env : 22000 29fff
GPT:boot : 2a000 39fff
GPT:super : 3a000 439fff
GPT:misc : 43a000 441fff
GPT:recovery : 442000 451fff
GPT:cache : 452000 5d1fff
GPT:vbmeta : 5d2000 5d9fff
GPT:vbmeta_system: 5da000 5e1fff
GPT:vbmeta_vendor: 5e2000 5e9fff
GPT:metadata : 5ea000 5f1fff
GPT:private : 5f2000 5f9fff
GPT:frp : 5fa000 5fa3ff
GPT:empty : 5fa400 601fff
GPT:dtbo : 602000 602fff
GPT:media_data : 603000 60afff
GPT:UDISK : 60b000 747ffde
begin to store data
part 0 name bootloader
keydata = 0x0
part 1 name env
keydata = 0x0
part 2 name boot
keydata = 0x0
part 3 name super
keydata = 0x0
part 4 name misc
keydata = 0x0
part 5 name recovery
keydata = 0x0
part 6 name cache
keydata = 0x0
part 7 name vbmeta
keydata = 0x0
part 8 name vbmeta_system
keydata = 0x0
part 9 name vbmeta_vendor
keydata = 0x0
part 10 name metadata
keydata = 0x0
part 11 name private
keydata = 0x0
find keypart private
keypart read start: 0x5e8000, sectors 0x8000
keypart part private read 0x5e8000, sectors 0x8000
part 12 name frp
keydata = 0x1
find keypart frp
keypart read start: 0x5f0000, sectors 0x400
keypart part frp read 0x5f0000, sectors 0x400
part 13 name empty
keydata = 0x0
part 14 name dtbo
keydata = 0x0
part 15 name media_data
keydata = 0x0
part 16 name UDISK
keydata = 0x0
begin to erase
[18.092]erase all part start
card2 erase boot0
erase env part
[18.102][mmc]: erase from: 139264, to: 172031, cnt: 32768, erase_group: 1024
[18.119][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0xa ms
erase boot part
[18.127][mmc]: erase from: 172032, to: 237567, cnt: 65536, erase_group: 1024
[18.138][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x4 ms
erase super part
[18.146][mmc]: erase from: 237568, to: 4431871, cnt: 4194304, erase_group: 1024
[18.180][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x1a ms
erase misc part
[18.187][mmc]: erase from: 4431872, to: 4464639, cnt: 32768, erase_group: 1024
[18.198][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x3 ms
erase recovery part
[18.207][mmc]: erase from: 4464640, to: 4530175, cnt: 65536, erase_group: 1024
[18.218][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x4 ms
erase cache part
[18.226][mmc]: erase from: 4530176, to: 6103039, cnt: 1572864, erase_group: 1024
[18.236][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x3 ms
erase vbmeta part
[18.244][mmc]: erase from: 6103040, to: 6135807, cnt: 32768, erase_group: 1024
[18.255][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x4 ms
erase vbmeta_system part
[18.263][mmc]: erase from: 6135808, to: 6168575, cnt: 32768, erase_group: 1024
[18.274][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x3 ms
erase vbmeta_vendor part
[18.283][mmc]: erase from: 6168576, to: 6201343, cnt: 32768, erase_group: 1024
[18.293][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x3 ms
erase metadata part
[18.301][mmc]: erase from: 6201344, to: 6234111, cnt: 32768, erase_group: 1024
[18.311][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x2 ms
erase private part
[18.319][mmc]: erase from: 6234112, to: 6266879, cnt: 32768, erase_group: 1024
[18.330][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x4 ms
erase frp part
[18.338][mmc]: erase from: 6266880, to: 6267903, cnt: 1024, erase_group: 1024
[18.347][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x2 ms
erase empty part
[18.355][mmc]: erase from: 6267904, to: 6299647, cnt: 31744, erase_group: 1024
[18.365][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x3 ms
erase dtbo part
[18.373][mmc]: erase from: 6299648, to: 6303743, cnt: 4096, erase_group: 1024
[18.382][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x2 ms
erase media_data part
[18.391][mmc]: erase from: 6303744, to: 6336511, cnt: 32768, erase_group: 1024
[18.400][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x2 ms
erase UDISK part
sunxi_sprite_mmc_phyerase: @nr is 0, erase from @from to end
[18.413][mmc]: erase from: 6336512, to: 122158079, cnt: 115821568, erase_group: 1024
[18.428][mmc]: sunxi_mmc_do_send_cmd_common: cmd 38 wait rsp busy 0x7 ms
[18.434][mmc]: mmc_mmc_erase: some sectors in emmc are ignored!
[18.440][mmc]: --0: from122158080 nr1023
card erase all
finish erase
******Has init
rewrite
******Has init
write primary GPT success
write Backup GPT success
keypart write start: 0x5e8000, sectors 0x8000
keypart write start: 0x5f0000, sectors 0x400
flash exit
SUNXI_EFEX_MBR_TAG
mbr size = 0x10000
******Has init
write primary GPT success
write Backup GPT success
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
******Has init
FEX_CMD_fes_verify_value, start 0x8000, size high 0x0:low 0x1d00c00
FEX_CMD_fes_verify_value 0x7714d079
FEX_CMD_fes_verify_value, start 0x18000, size high 0x0:low 0x20000
FEX_CMD_fes_verify_value 0x5cb1c247
FEX_CMD_fes_verify_value, start 0x20000, size high 0x0:low 0x2000000
FEX_CMD_fes_verify_value 0x148a1092
FEX_CMD_fes_verify_value, start 0x438000, size high 0x0:low 0x2000000
FEX_CMD_fes_verify_value 0x9ab00eb6
FEX_CMD_fes_verify_value, start 0x5c8000, size high 0x0:low 0x2000
FEX_CMD_fes_verify_value 0x9721238c
FEX_CMD_fes_verify_value, start 0x5d0000, size high 0x0:low 0x1000
FEX_CMD_fes_verify_value 0x83ac2ad5
FEX_CMD_fes_verify_value, start 0x5d8000, size high 0x0:low 0x1000
FEX_CMD_fes_verify_value 0xbcfe36ce
FEX_CMD_fes_verify_value, start 0x5f8000, size high 0x0:low 0x200000
FEX_CMD_fes_verify_value 0xa7478a68
bootfile_mode=4
SUNXI_EFEX_BOOT1_TAG
boot1 size = 0x108000, max size = 0x400000
uboot size = 0x108000
storage type = 2
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
bootfile_mode=4
SUNXI_EFEX_BOOT0_TAG
boot0 size = 0x10000
[58.137][mmc]: write mmc 2 info ok
dram para[0] = 240
dram para[1] = 3
dram para[2] = 7070707
dram para[3] = c0c0c0c
dram para[4] = e0e
dram para[5] = 15101212
dram para[6] = 30fa
dram para[7] = 4000000
dram para[8] = 1f14
dram para[9] = 4
dram para[10] = 20
dram para[11] = 0
dram para[12] = 0
dram para[13] = 0
dram para[14] = 0
dram para[15] = 0
dram para[16] = 0
dram para[17] = 0
dram para[18] = 0
dram para[19] = 0
dram para[20] = 0
dram para[21] = 0
dram para[22] = 0
dram para[23] = 0
dram para[24] = 0
dram para[25] = 0
dram para[26] = 33808080
dram para[27] = 2f7458
dram para[28] = f0b0e0c
dram para[29] = 19191818
dram para[30] = 80006001
dram para[31] = 26232323
storage type = 2
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
sunxi_efex_next_action=2
exit usb
next work 2
SUNXI_UPDATE_NEXT_ACTION_REBOOT
[142]HELLO! BOOT0 is starting!
[145]BOOT0 commit : 54b5c2f5b3
[148]set pll start
[150]periph0 has been enabled
[154]set pll end
[155]PL gpio voltage : 3.3V
[158][pmu]: bus read error
[161]PMU: AXP803
[163][pmu]: bus read error
[208]vaild para:1 select dram para0
[212]board init ok, set sys_vol to 920mv!
[236]DRAM BOOT DRIVE INFO: V0.697
[239]the chip id is 0x1400
[242]the chip id is 0x1400
[245]the chip id is 0x1400
[247]the chip id is 0x1400
[250]the chip id is 0x1400
[253]chip id check OK
[278]DRAM_VCC set to 1500 mv
[281]DRAM CLK =576 MHZ
[283]DRAM Type =3 (3:DDR3,4:DDR4,6:LPDDR2,7:LPDDR3,8:LPDDR4)
[293]DRAM SIZE =1024 MBytes, para1 = 30fa, para2 = 4000000, tpr13 = 80006001
[305]DRAM simple test OK.
[308]dram size =1024
[310]chipid = 54401400
[312]nsi init ok 2020-4-7
[314]key press : [
[317]card no is 2
[319]sdcard 2 line count 8
[322][mmc]: mmc driver ver 2020-05-25 09:40-202007019516
[333][mmc]: Wrong media type 0x0
[336][mmc]: ***Try SD card 2***
[340][mmc]: mmc 2 cmd 8 timeout, err 100
[344][mmc]: mmc 2 cmd 8 err 100
[347][mmc]: mmc 2 send if cond failed
[351][mmc]: mmc 2 cmd 55 timeout, err 100
[355][mmc]: mmc 2 cmd 55 err 100
[359][mmc]: mmc 2 send app cmd failed
[362][mmc]: ***Try MMC card 2***
[387][mmc]: RMCA OK!
[389][mmc]: bias 4
[391][mmc]: mmc 2 bias 4
[396][mmc]: MMC 5.1
[398][mmc]: HSSDR52/SDR25 8 bit
[401][mmc]: 50000000 Hz
[403][mmc]: 59648 MB
[405][mmc]: ***SD/MMC 2 init OK!!!***
[469]Loading boot-pkg Succeed(index=0).
[473]Entry_name = u-boot
[480]Entry_name = monitor
[484]Entry_name = scp
[488]set arisc reset to assert state
[496]set arisc reset to de-assert state
[500]Entry_name = dtb
[504]tunning data addr:0x4a0003e8
[507]Jump to second Boot.
NOTICE: BL3-1: v1.0(debug):0f6655c
NOTICE: BL3-1: Built : 15:24:20, 2022-07-05
NOTICE: BL3-1 commit: 8
NOTICE: cpuidle init version V2.0
ERROR: Error initializing runtime service tspd_fast
NOTICE: BL3-1: Preparing for EL3 exit to normal world
NOTICE: BL3-1: Next image address = 0x4a000000
ÿOTICE: BL3-1: Next image spsr = 0x1d3
U-Boot 2018.05 (Feb 02 2026 - 02:07:18 +0000) Allwinner Technology
[00.593]CPU: Allwinner Family
[00.596]Model: sun50iw10
I2C: ready
[00.723]DRAM: 1 GiB
[00.726]Relocation Offset is: 35f03000
[00.760]secure enable bit: 0
[00.764][ARISC ERROR] :get [allwinner,sunxi-hwspinlock] device node error
CACHE: Misaligned operation at range [7ffa77a8, 7ffa7ac0]
[SCP] :sunxi-arisc driver begin startup 2
[SCP] :0x1
[SCP] :arisc version: [9c3683bc6b4e32f25317f3b20455e1c18f5e6778rid-]
[SCP] :arisc startup ready
[SCP] :arisc startup notify message feedback
[SCP] :send hard sync feedback message: 0x900200
[SCP] :sunxi-arisc driver v1.10 is starting
[00.804]pmu_axp806_probe pmic_bus_read fail
[00.808]PMU: AXP803
[00.811]PMU: AXP803
FDT ERROR:fdt_get_regulator_name:get property handle twi-for-pmu-supply error:FDT_ERR_INTERNAL
bias_name:pc_bias bias_vol:1800
[00.868]TCS: TCS_probe
[00.870]pmu_tcs4838_probe pmic_bus_read fail
[00.874]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=400Mhz
[00.881]drv_disp_init
=== disp_init_lcd start ===
=== disp_lcd_init start ===
=== lcd_parse_panel_para start ====
=== lcd_parse_panel_para end ====
request pwm success, pwm0:pwm0:0x300a000.
=== disp_lcd_init end ===
=== disp_lcd_init start ===
=== lcd_parse_panel_para start ====
=== lcd_parse_panel_para end ====
=== disp_lcd_init end ===
=== lcd_init start ===
=== lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== sunxi_lcd_set_panel_funs start ====
=== lcd_set_panel_funs end ====
=== lcd_init end ===
[01.010]drv_disp_init finish
[01.016]gic: sec monitor mode
[01.018]flash init start
[01.021]workmode = 0,storage type = 2
[01.024][mmc]: mmc driver ver uboot2018:2020-5-25 9:26:00-2021-09-17 14:45:00
[01.032][mmc]: get sdc_type fail and use default host:tm4.
[01.043][mmc]: SUNXI SDMMC Controller Version:0x50300
[01.068][mmc]: Best spd md: 4-HS400, freq: 3-100000000, Bus width: 8
[01.074]sunxi flash init ok
[01.078]Loading Environment from SUNXI_FLASH... OK
[01.099]Item0 (Map) magic is bad
[01.102]the secure storage item0 copy0 magic is bad
[01.119]Item0 (Map) magic is bad
[01.121]the secure storage item0 copy1 magic is bad
[01.126]Item0 (Map) magic is bad
[01.129]usb burn from boot
delay time 0
weak:otg_phy_config
[01.140]usb prepare ok
[01.370]usb sof ok
[01.371]usb probe ok
[01.373]usb setup ok
set address 0x57
set address 0x57 ok
try to update
[04.380]do_burn_from_boot usb : have no handshake
[04.384]boot_gui_init:start
[04.389]set disp.dev2_output_type fail. using defval=0
[LCD] LCD_open_flow: sel=0
[LCD] LCD_cfg_panel_info: enter
[LCD] LCD_cfg_panel_info: exit
[LCD] LCD_open_flow: sel=0
=LCD_power_on start=
=JD9366_WSVGANL_1024x600=
[LCD] LCD_power_on: panel=JD9366_WSVGANL_1024x600 sel=0
[LCD] LCD_power_on: power0 on
[LCD] LCD_power_on: power1 on
[LCD] LCD_power_on: power2 on
[LCD] LCD_power_on: gamma_en=1
[LCD] LCD_power_on: reset=1
[LCD] LCD_power_on: reset=0
[LCD] LCD_power_on: reset=1
[LCD] LCD_power_on: pin_cfg=1
=LCD_power_on end=
[LCD] LCD_open_flow: sel=0
[LCD] LCD_panel_init: uboot, first cmd=0x11
[LCD] LCD_panel_init: dsi_clk_enable done
[LCD] LCD_trace_table_step: sel=0 step=0 cmd=0x11 count=0
[LCD] LCD_panel_send_cmd: sel=0 step=0 cmd=0x11 ret=0
[LCD] LCD_trace_table_step: sel=0 step=1 delay=250 ms
[LCD] LCD_trace_table_step: sel=0 step=2 cmd=0x29 count=0
[LCD] LCD_panel_send_cmd: sel=0 step=2 cmd=0x29 ret=0
[LCD] LCD_trace_table_step: sel=0 step=3 delay=50 ms
[LCD] LCD_trace_table_step: sel=0 step=4 end-of-table
[LCD] LCD_panel_init: finish
[04.976]boot_gui_init:finish
[04.979]bmp_name=bootlogo.bmp
4096056 bytes read in 25 ms (156.3 MiB/s)
no support big size bmp[800x1280] on fb[1024x600]
[05.016]show bmp on fb failed !-1
[05.026]update dts
** Unrecognized filesystem type **
[05.039]load file(ULI/factory/snum.txt) error.
** Unrecognized filesystem type **
[05.054]load file(ULI/factory/mac.txt) error.
** Unrecognized filesystem type **
[05.069]load file(ULI/factory/wifi_mac.txt) error.
** Unrecognized filesystem type **
[05.085]load file(ULI/factory/bt_mac.txt) error.
** Unrecognized filesystem type **
[05.100]load file(ULI/factory/specialstr.txt) error.
[05.115]update part info
[05.149]update bootcmd
Hit any key to stop autoboot: 0
[LCD] LCD_open_flow: sel=0
[05.178]soc ic_ver:0x6, qa_val:0x0, markid:0x1400 dclk[0-200] display_cfg_flag:0
[LCD] LCD_open_flow: sel=0
[LCD] LCD_bl_open: PWM enable
[LCD] LCD_bl_open: backlight_en=1
[LCD] LCD_open_flow: sel=0
[LCD] LCD_open_flow: sel=0
[05.301]LCD open finish
[05.552]Starting kernel ...
[05.554][mmc]: mmc exit start
[05.572][mmc]: mmc 2 exit ok
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.170 (ok@ok) (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05) ) #85 SMP PREEMPT Fri Mar 27 10:17:38 CST 2026
[ 0.000000] Boot CPU: AArch64 Processor [410fd034]
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] disp reserve base 0x7bf51140 ,size 0x258000
[ 0.000000] cma: Reserved 8 MiB at 0x000000007f800000
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] DMA zone: 4096 pages used for memmap
[ 0.000000] DMA zone: 0 pages reserved
[ 0.000000] DMA zone: 262144 pages, LIFO batch:31
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.0 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.0
[ 0.000000] percpu: Embedded 23 pages/cpu @ffffffc03f6e8000 s53376 r8192 d32640 u94208
[ 0.000000] pcpu-alloc: s53376 r8192 d32640 u94208 alloc=23*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 258048
[ 0.000000] Kernel command line: earlyprintk=sunxi-uart,0x05000000 initcall_debug=0 console=ttyS0,115200 loglevel=8 root=/dev/mmcblk0p4 init=/init partitions=bootloader@mmcblk0p1:env@mmcblk0p2:boot@mmcblk0p3:super@mmcblk0p4:misc@mmcblk0p5:recovery@mmcblk0p6:cache@mmcblk0p7:vbmeta@mmcblk0p8:vbmeta_system@mmcblk0p9:vbmeta_vendor@mmcblk0p10:metadata@mmcblk0p11:private@mmcblk0p12:frp@mmcblk0p13:empty@mmcblk0p14:dtbo@mmcblk0p15:media_data@mmcblk0p16:UDISK@mmcblk0p17 cma=8M snum=6c000c81c504c8b241d mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.vbmeta.avb_version=2.0 androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=7168 androidboot.vbmeta.digest=215d2a51b3f5d2f24e2a8064769fd6419c878d296abb6b91df0ba794dd3e7941 androidboot.vbmeta.device_state=locked androidboot.mode=normal androidboot.serialno=6c000c81c504c8b241d androidboot.hardware=sun50iw10p1 boot_type=2 androidboot.boot_type=2 androidboot.secure_os_exist=0 androidboot.trustchain=false gpt=1 uboot_message=2018.05(02/02/2[ 0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.000000] Memory: 979588K/1048576K available (10942K kernel code, 2210K rwdata, 3948K rodata, 4288K init, 597K bss, 60796K reserved, 8192K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] modules : 0xffffff8000000000 - 0xffffff8008000000 ( 128 MB)
[ 0.000000] vmalloc : 0xffffff8008000000 - 0xffffffbebfff0000 ( 250 GB)
[ 0.000000] .text : 0xffffff8008080000 - 0xffffff8008b30000 ( 10944 KB)
[ 0.000000] .rodata : 0xffffff8008b30000 - 0xffffff8008f10000 ( 3968 KB)
[ 0.000000] .init : 0xffffff8008f10000 - 0xffffff8009340000 ( 4288 KB)
[ 0.000000] .data : 0xffffff8009340000 - 0xffffff8009568808 ( 2211 KB)
[ 0.000000] .bss : 0xffffff8009568808 - 0xffffff80095fdc78 ( 598 KB)
[ 0.000000] fixed : 0xffffffbefe7fb000 - 0xffffffbefec00000 ( 4116 KB)
[ 0.000000] PCI I/O : 0xffffffbefee00000 - 0xffffffbeffe00000 ( 16 MB)
[ 0.000000] vmemmap : 0xffffffbf00000000 - 0xffffffc000000000 ( 4 GB maximum)
[ 0.000000] 0xffffffbf00000000 - 0xffffffbf01000000 ( 16 MB actual)
[ 0.000000] memory : 0xffffffc000000000 - 0xffffffc040000000 ( 1024 MB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000000] arm_arch_timer: Architected cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000005] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.008169] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=80000)
[ 0.018199] pid_max: default: 32768 minimum: 301
[ 0.023045] Security Framework initialized
[ 0.026878] SELinux: Initializing.
[ 0.030481] SELinux: Starting in permissive mode
[ 0.035136] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.041697] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.049583] ftrace: allocating 33773 entries in 132 pages
[ 0.132283] sched-energy: CPU device node has no sched-energy-costs
[ 0.132925] Invalid sched_group_energy for CPU0
[ 0.137465] CPU0: update cpu_capacity 1024
[ 0.151572] ASID allocator initialised with 32768 entries
[ 0.170598] nsi: no limit for F version(except 1080P-LP4)
[ 0.170846] BOOTEVENT: 170.841748: ON
[ 0.204847] Detected VIPT I-cache on CPU1
[ 0.204902] Invalid sched_group_energy for CPU1
[ 0.204905] CPU1: update cpu_capacity 1024
[ 0.204909] CPU1: Booted secondary processor [410fd034]
[ 0.228224] Detected VIPT I-cache on CPU2
[ 0.228252] Invalid sched_group_energy for CPU2
[ 0.228254] CPU2: update cpu_capacity 1024
[ 0.228257] CPU2: Booted secondary processor [410fd034]
[ 0.251642] Detected VIPT I-cache on CPU3
[ 0.251668] Invalid sched_group_energy for CPU3
[ 0.251671] CPU3: update cpu_capacity 1024
[ 0.251673] CPU3: Booted secondary processor [410fd034]
[ 0.251757] Brought up 4 CPUs
[ 0.302392] SMP: Total of 4 processors activated.
[ 0.307084] CPU features: detected feature: 32-bit EL0 Support
[ 0.312889] CPU features: detected feature: Kernel page table isolation (KPTI)
[ 0.323984] CPU: All CPU(s) started at EL1
[ 0.324160] alternatives: patching kernel code
[ 0.328764] Invalid sched_group_energy for CPU3
[ 0.333087] CPU3: update max cpu_capacity 1024
[ 0.337502] Invalid sched_group_energy for Cluster3
[ 0.342354] Invalid sched_group_energy for CPU2
[ 0.346862] Invalid sched_group_energy for Cluster2
[ 0.351714] Invalid sched_group_energy for CPU1
[ 0.356221] Invalid sched_group_energy for Cluster1
[ 0.361074] Invalid sched_group_energy for CPU0
[ 0.365582] Invalid sched_group_energy for Cluster0
[ 0.370986] CPU1: update max cpu_capacity 1024
[ 0.375592] devtmpfs: initialized
[ 0.423909] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6370867519511994 ns
[ 0.428048] futex hash table entries: 1024 (order: 5, 131072 bytes)
[ 0.434853] atomic64_test: passed
[ 0.437545] pinctrl core: initialized pinctrl subsystem
[ 0.445049] NET: Registered protocol family 16
[ 0.448573] dump_class_init,861, success
[ 0.467822] cpuidle: using governor menu
[ 0.469372] sunxi iommu: irq = 9
[ 0.470193] vdso: 2 pages (1 code @ ffffff8008b38000, 1 data @ ffffff8009344000)
[ 0.476724] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.484920] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.492791] sun50iw10p1-r-pinctrl r_pio: initialized sunXi PIO driver
[ 0.513362] sun50iw10p1-pinctrl pio: initialized sunXi PIO driver
[ 0.518043] iommu: Adding device 1c0e000.ve to group 0
[ 0.527068] iommu: Adding device soc@03000000:disp1@1 to group 0
[ 0.528292] iommu: Adding device 6000000.disp to group 0
[ 0.533312] iommu: Adding device 6400000.eink to group 0
[ 0.539190] iommu: Adding device 6480000.g2d to group 0
[ 0.547301] iommu: Adding device csi0 to group 0
[ 0.548252] iommu: Adding device csi1 to group 0
[ 0.553535] iommu: Adding device 2108000.tdm to group 0
[ 0.558083] iommu: Adding device 2100000.isp to group 0
[ 0.563296] iommu: Adding device 2102000.isp to group 0
[ 0.568309] iommu: Adding device 2110000.scaler to group 0
[ 0.573786] iommu: Adding device 2110400.scaler to group 0
[ 0.579220] iommu: Adding device 2110800.scaler to group 0
[ 0.584684] iommu: Adding device 2110c00.scaler to group 0
[ 0.590700] iommu: Adding device vinc0 to group 0
[ 0.594996] iommu: Adding device vinc1 to group 0
[ 0.599666] iommu: Adding device vinc2 to group 0
[ 0.604338] iommu: Adding device vinc3 to group 0
[ 0.650244] pwm module init!
[ 0.656080] sunxi-pm debug v3.10
[ 0.660420] SCSI subsystem initialized
[ 0.661202] usbcore: registered new interface driver usbfs
[ 0.664106] usbcore: registered new interface driver hub
[ 0.669424] usbcore: registered new device driver usb
[ 0.674531] sunxi_i2c_adap_init()2580 - init
[ 0.679139] sunxi_i2c_probe()2299 - [i2c6] twi_drv_used = 0
[ 0.684126] sunxi_i2c_probe()2303 - [i2c6] twi_pkt_interval = 0
[ 0.690032] twi6 supply twi not found, using dummy regulator
[ 0.695734] twi_request_gpio()454 - [i2c6] init name: twi6
[ 0.701776] axp20x-i2c 6-0034: AXP20x variant AXP803 found
[ 0.720058] axp2101-regulator axp2101-regulator.0: Setting DCDC frequency for unsupported AXP variant
[ 0.723658] axp2101-regulator axp2101-regulator.0: Error setting dcdc frequency: -22
[ 0.749167] random: fast init done
[ 0.806467] axp20x-i2c 6-0034: AXP20X driver loaded
[ 0.807146] sunxi_i2c_probe()2299 - [i2c0] twi_drv_used = 0
[ 0.811292] sunxi_i2c_probe()2303 - [i2c0] twi_pkt_interval = 0
[ 0.817211] twi0 supply twi not found, using dummy regulator
[ 0.822896] twi_request_gpio()454 - [i2c0] init name: twi0
[ 0.829319] sunxi_i2c_probe()2299 - [i2c1] twi_drv_used = 0
[ 0.833824] sunxi_i2c_probe()2303 - [i2c1] twi_pkt_interval = 0
[ 0.839755] twi1 supply twi not found, using dummy regulator
[ 0.845413] twi_request_gpio()454 - [i2c1] init name: twi1
[ 0.851858] sunxi_i2c_probe()2299 - [i2c2] twi_drv_used = 0
[ 0.856363] sunxi_i2c_probe()2303 - [i2c2] twi_pkt_interval = 0
[ 0.862754] twi_request_gpio()454 - [i2c2] init name: twi2
[ 0.868692] sunxi_i2c_probe()2299 - [i2c3] twi_drv_used = 0
[ 0.873262] sunxi_i2c_probe()2303 - [i2c3] twi_pkt_interval = 0
[ 0.879174] twi3 supply twi not found, using dummy regulator
[ 0.884867] twi_request_gpio()454 - [i2c3] init name: twi3
[ 0.891036] media: Linux media interface: v0.10
[ 0.894802] Linux video capture interface: v2.00
[ 0.900457] ion_parse_dt_heap_common: id 0 type 0 name sys_user align 1000
[ 0.906411] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.912781] ion_parse_dt_heap_common: id 6 type 6 name secure align 1000
[ 0.919590] drm config service not available: FFFFFFFF
[ 0.924777] Advanced Linux Sound Architecture Driver Initialized.
[ 0.931175] Bluetooth: Core ver 2.22
[ 0.934054] NET: Registered protocol family 31
[ 0.938412] Bluetooth: HCI device and connection manager initialized
[ 0.944755] Bluetooth: HCI socket layer initialized
[ 0.949599] Bluetooth: L2CAP socket layer initialized
[ 0.954667] Bluetooth: SCO socket layer initialized
[ 0.960895] clocksource: Switched to clocksource arch_sys_counter
[ 1.035630] VFS: Disk quotas dquot_6.6.0
[ 1.035779] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 1.043810] udc_init,0
[ 1.045134] NET: Registered protocol family 2
[ 1.067765] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 1.069237] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
[ 1.075827] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.082095] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.087935] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.094576] NET: Registered protocol family 1
[ 1.098874] Trying to unpack rootfs image as initramfs...
[ 1.131844] Freeing initrd memory: 752K
[ 1.133500] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[ 1.140691] audit: initializing netlink subsys (disabled)
[ 1.143240] audit: type=2000 audit(0.933:1): initialized
[ 1.149532] workingset: timestamp_bits=45 max_order=18 bucket_order=0
[ 1.166613] Registering sdcardfs 0.1
[ 1.167182] ntfs: driver 2.1.32 [Flags: R/W].
[ 1.169408] fuse init (API version 7.26)
[ 1.175215] SELinux: Registering netfilter hooks
[ 1.182170] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
[ 1.184863] io scheduler noop registered
[ 1.188859] io scheduler deadline registered
[ 1.193265] io scheduler cfq registered (default)
[ 1.199850] [DISP]disp_module_init
[ 1.201518] disp soc@03000000:disp1@1: unable to map de registers
[ 1.207169] disp: probe of soc@03000000:disp1@1 failed with error -22
[ 1.214438] [DISP] disp_init,line:2345:
[ 1.217168] smooth display screen:0 type:1 mode:4
[ 1.258868] [LCD] LCD_cfg_panel_info: enter
[ 1.258916] [LCD] LCD_cfg_panel_info: exit
[ 1.265574] [DISP] Fb_copy_boot_fb,line:1645:
[ 1.265653] no boot_fb0
[ 1.269503] [DISP] lcd_clk_config,line:699:[ 1.271647] [DISP]disp_module_init finish
[ 1.276249] disp 0,
[END] 2026/3/27 10:31:07
设备树:
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