微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 求助:LK LOGO 到kernel LOGO 间有几秒的黑屏

求助:LK LOGO 到kernel LOGO 间有几秒的黑屏

时间:10-02 整理:3721RD 点击:
开机 LK LOGO 到kernel LOGO 间有几秒的黑屏有朋友遇到过么?
这种情况一般是在mtkfb_pan_display_impl函数改就能解决。
可我这不一样,llk跑完进入到kernel 黑屏很长一段时间(5s)都没有跑到mtkfb_pan_display_impl这个函数,只有再次mtkfb_pan_display_impl才亮起来。
平台是MT6572 , lca工程。
主要log
lk finished --> jump to linux kernel
    0.000000]-(0)[0:swapper]Linux version 3.4.5 i@server1) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT Fri Oct 31 16:04:01 CST 2014
[    0.000000]-(0)[0:swapper]CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d
[    0.000000]-(0)[0:swapper]CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000]-(0)[0:swapper]Machine: MT6572
[    0.000000]-(0)[0:swapper]Load default dfo data...
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MTK_MD1_SUPPORT:0x00000001
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MTK_MD2_SUPPORT:0x00000004
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MD1_SMEM_SIZE:0x00200000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MD2_SMEM_SIZE:0x00200000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MTK_ENABLE_MD1:0x00000001
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MTK_ENABLE_MD2:0x00000000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MD1_SIZE:0x00800000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MD2_SIZE:0x00000000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)Get DFO:MTK_ENABLE_MD1:0x00000001
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)Get DFO:MD1_SIZE:0x00800000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)Get DFO:MD1_SMEM_SIZE:0x00200000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)Get DFO:MTK_MD1_SUPPORT:0x00000001
[    0.000000]-(0)[0:swapper]tag_devinfo_data_rid, indx[12]:0xfe54d869
[    0.000000]-(0)[0:swapper]tag_devinfo_data size:26
  0.000000]-(0)[0:swapper][mtkfb] LCM is connected
[    0.000000]-(0)[0:swapper]DISP_SelectDeviceBoot
[    0.000000]-(0)[0:swapper][LCM Auto Detect] [0] - [sh1282_fwvga_dsi_vdo_45_tm_mt6572]        [mtkfb] LCM TYPE: DSI
[    0.000000]-(0)[0:swapper][mtkfb] LCM INTERFACE: NONE
[    0.000000]-(0)[0:swapper][mtkfb] LCM resolution: 480 x 854
[    0.000000]-(0)[0:swapper]DISP_GetVRamSizeBoot: 8388608 bytes[8MB]
[    0.000000]-(0)[0:swapper][Phy Layout] Avail. DRAM Size : 0x0ff00000
[    0.000000]-(0)[0:swapper][Phy Layout]               FB : 0x8f800000-0x90000000 (0x00800000)
[    0.000000]-(0)[0:swapper][Phy Layout]             PMEM : 0x8f800000-0x8f800000 (0x00000000)
[    0.000000]-(0)[0:swapper][Phy Layout]          CONNSYS : 0x80000000-0x80100000 (0x00100000)
[    0.000000]-(0)[0:swapper]fixup for Modem [0], size = 0x00a00000
[    0.000000]-(0)[0:swapper]reserved_mem_bank_tag start = 0x80100000, reserved_mem_bank_tag size = 0x0f700000, TOTAL_RESERVED_MEM_SIZE = 0x00800000
[    0.000000]-(0)[0:swapper]modem fixup sanity test pass
[    0.000000]-(0)[0:swapper]max_avail_addr = 0x8f800000, modem_start_addr_list[0] = 0x8e000000, hole_start_addr = 0x8ea00000, hole_size = 0x00e00000
[    0.000000]-(0)[0:swapper]reserved_mem_bank: start = 0x80100000, size = 0x0df00000
[    0.000000]-(0)[0:swapper][Phy Layout]  get_max_DRAM_size() : 0x10000000
[    0.000000]-(0)[0:swapper][Phy Layout]    get_phys_offset() : 0x80100000
[    0.000000]-(0)[0:swapper][Phy Layout]  get_max_phys_addr() : 0x90000000
[    0.000000]-(0)[0:swapper]Ignoring unrecognised tag 0x41000802
[    0.000000]-(0)[0:swapper][PHY layout]kernel   :   0x80100000 - 0x8dffffff  (0x0df00000)
[    0.000000]-(0)[0:swapper]Ignoring unrecognised tag 0x41000804
[    0.000000]-(0)[0:swapper]Ignoring unrecognised tag 0x54410008
[    0.000000]-(0)[0:swapper][PHY layout]kernel   :   0x8ea00000 - 0x8f7fffff  (0x00e00000)
[    0.000000]-(0)[0:swapper]memory policy: ECC disabled, Data cache writealloc
[    0.000000]-(0)[0:swapper]creating mapping start pfn: 524544 @ 0xc0000000 , end: 581632 @ 0xcdf00000
[    0.000000]-(0)[0:swapper]creating mapping start pfn: 584192 @ 0xce900000 , end: 587776 @ 0xcf700000
[    0.000000]-(0)[0:swapper][CORE] num:4
[    0.000000]-(0)[0:swapper]L2CTLR core count (4) > NR_CPUS (2)
[    0.000000]-(0)[0:swapper]set nr_cores to NR_CPUS (2)
[    0.000000]-(0)[0:swapper]Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 60178
[    0.000000]-(0)[0:swapper][cpu_ntf] <00>c0110a04 (page_alloc_cpu_notify)
[    0.000000]-(0)[0:swapper]Kernel command line: console=tty0 conskernel memory layout:
[    0.000000]-(0)[0:swapper]    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]-(0)[0:swapper]    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]-(0)[0:swapper]    vmalloc : 0xcf800000 - 0xff000000   ( 760 MB)
[    0.000000]-(0)[0:swapper]    lowmem  : 0xc0000000 - 0xcf700000   ( 247 MB)
[    0.000000]-(0)[0:swapper]    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]-(0)[0:swapper]    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]-(0)[0:swapper]      .text : 0xc0008000 - 0xc084d000   (8468 kB)
[    0.000000]-(0)[0:swapper]      .init : 0xc084d000 - 0xc088a200   ( 245 kB)
[    0.000000]-(0)[0:swapper]      .data : 0xc088c000 - 0xc09110ec   ( 533 kB)
[    0.000000]-(0)[0:swapper]       .bss : 0xc0911110 - 0xc0c45950   (3283 kB)
[    0.000000]-(0)[0:swapper][cpu_ntf] <01>c061f830 (slab_cpuup_callback)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <02>c061ee74 (sched_ilb_notifier)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <03>c061f610 (perf_cpu_notify)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <04>c061f404 (rcu_cpu_notify)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <05>c028e59c (radix_tree_callback)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <06>c061de18 (timer_cpu_notify)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <07>c061e6f4 (hrtimer_cpu_notify)
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <08>c061dd48 (remote_softirq_cpu_notify)
[    0.000000]-(0)[0:swapper/0]GPT1_CMP = 130000, HZ = 100
[    0.000000]-(0)[0:swapper/0][cpu_ntf] <09>c00c8160 (hotplug_cfd)
[    0.000000] (0)[0:swapper/0]ram_console: start: 0xf2000000, size: 7168
[    0.000000] (0)[0:swapper/0]ram_console: no valid data in buffer (sig = 0x7fef8368)
[    0.000000] (0)[0:swapper/0]SLEEP_EN = 0x1
[    0.000000] (0)[0:swapper/0]SLEEP_EN = 0x1
[    0.000000] (0)[0:swapper/0][UART] mt6572 console setup : co->index 1 options:921600n1
[    0.000000]-(0)[0:swapper/0]No Flow Control
[    0.000000] (0)[0:swapper/0][UART] mt6572 console setup : uart_set_option port(1) baud(921600) parity(n) bits(1) flow(n) - ret(0)
[    0.000000] (0)[0:swapper/0][UART] mt6572 setting: (0, 0, 0, 0, 128)
[    0.137049] (0)[0:swapper/0][cpu_ntf] <10>c0174280 (buffer_cpu_notify)
[    0.137999] (0)[0:swapper/0][cpu_ntf] <11>c0146ea0 (files_lglock_lg_cpu_callback)
[    0.138961] (0)[0:swapper/0][cpu_ntf] <12>c0161b60 (vfsmount_lock_lg_cpu_callback)
[    0.140261] (0)[0:swapper/0][cpu_ntf] <13>c061f6d0 (ratelimit_handler)
[    0.141731] (0)[1:swapper/0]Calibrating local timer... 13.01MHz.
[    0.197155] (0)[1:swapper/0][cpu_ntf] <14>c061d000 (pmu_cpu_notify)
[    0.217232] (0)[1:swapper/0][cpu_ntf] <15>c061da54 (cpu_callback)
[    0.217995] (0)[1:swapper/0][cpu_ntf] <16>c061bae0 (workqueue_cpu_callback)
[    0.237472] (0)[1:swapper/0][cpu_ntf] <17>c061ea34 (migration_call)
[    0.238253] (0)[1:swapper/0][cpu_ntf] <18>c061e9a8 (sched_cpu_active)
[    0.239054] (0)[1:swapper/0][cpu_ntf] <19>c061e9e4 (sched_cpu_inactive)
[    0.257390] (0)[1:swapper/0][cpu_ntf] <20>c061f120 (cpu_stop_cpu_callback)
[    0.259445] (0)[1:swapper/0][cpu_ntf] <21>c00eddb4 (rb_cpu_notify)
[    0.298798] (0)[1:swapper/0]Boot slave CPU
[    0.299310] (0)[1:swapper/0][power/hotplug] boot_secondary, cpu: 1
[    0.300079] (0)[1:swapper/0][Power/hotplug] SLAVE1_MAGIC_NUM:534c4131
[    0.358087] (0)[1:swapper/0][cpu_ntf] <22>c0088354 (cpuset_cpu_active)
[    0.358901] (0)[1:swapper/0][cpu_ntf] <23>c0088394 (cpuset_cpu_inactive)
[    0.359737] (0)[1:swapper/0][cpu_ntf] <24>c009167c (update_runtime)
[    0.364466] (1)[1:swapper/0]DMA memory: 0xff000000 - 0xffe00000:
[    0.366603] (1)[1:swapper/0][cpu_ntf] <25>c061cfcc (dbg_reset_notify)
[    0.367419] (1)[1:swapper/0][Power/PM_INIT] Bus Frequency = 133250 KHz
[    0.368299] (1)[1:swapper/0][Pll/fhctl] Enter: mt_freqhopping_init
[    0.369079] (1)[1:swapper/0][Pll/fhctl] [mt_freqhopping_init]: successfully create /proc/fhctl/dbg
[    0.370172] (1)[1:swapper/0][Pll/fhctl] [mt_freqhopping_init]: successfully create /proc/fhctl/dumpregs
[    0.371343] (1)[1:swapper/0][Pll/fhctl] [mt_freqhopping_init]: successfully create /proc/fhctl/help
[    0.372467] (1)[1:swapper/0][Pll/fhctl] Initial Frequency Hopping Driver
[    0.373328] (1)[1:swapper/0][Pll/fhctl] ARMPLL pll_con0 ori = 0x00001010
[    0.374159] (1)[1:swapper/0][Pll/fhctl] ARMPLL pll_con1 ori = 0x0009A000
[    0.374994] (1)[1:swapper/0][Pll/fhctl] ARMPLL pll_con2 ori = 0x0009A000
[    0.375830] (1)[1:swapper/0][Pll/fhctl] Enter: freqhop_fhctlx_enable
[    0.376622] (1)[1:swapper/0][Pll/fhctl] Read MAINPLL_DDS = 0x000F6000
[    0.377425] (1)[1:swapper/0][Pll/fhctl] Set MAINPLL_FHCTL_DDS = 0x000F6000
[    0.378295] (1)[1:swapper/0][Pll/fhctl] MAINPLL pll_con0 ori = 0xF0000010
[    0.379133] (1)[1:swapper/0][Pll/fhctl] MAINPLL pll_con1 ori = 0x800F6000
[    0.379980] (1)[1:swapper/0][Pll/fhctl] MAINPLL pll_con2 ori = 0x000F6000
[    0.380911] (1)[1:swapper/0][cpu_ntf] <26>c001e378 (restore_for_fiq)
[    0.381723] (1)[1:swapper/0][Power/Sleep] SLEEP_DPIDLE_EN:0, REPLACE_DEF_WAKESRC:0, SUSPEND_LOG_EN:0
[    0.382857] (1)[1:swapper/0][Power/dcm] Enter: mt_dcm_init
[    0.383548] (1)[1:swapper/0][Power/dcm] [mt_dcm_init]: successfully create /proc/dcm/dbg
[    0.384531] (1)[1:swapper/0][Power/dcm] [mt_dcm_init]: successfully create /proc/dcm/dumpregs
[    0.385594] (1)[1:swapper/0][Power/dcm] [mt_dcm_init]: successfully create /proc/dcm/help
[    0.386645] (1)[1:swapper/0][Power/dcm] Enter: mt_fqmtr_init
[    0.387374] (1)[1:swapper/0][Power/dcm] [mt_fqmtr_init]: successfully create /proc/fqmtr/sta
[    0.388420] (1)[1:swapper/0][Power/dcm] [mt_fqmtr_init]: successfully create /proc/fqmtr/dbg
[    0.389469] (1)[1:swapper/0][Power/dcm] [mt_fqmtr_init]: successfully create /proc/fqmtr/help
[    0.390529] (1)[1:swapper/0][Power/dcm] Enter: mt_lpm_init
[    0.391242] (1)[1:swapper/0][Power/dcm] [mt_lpm_init]: successfully create /proc/lpm/sta
[    0.392225] (1)[1:swapper/0][Power/dcm] [mt_lpm_init]: successfully create /proc/lpm/dbg
[    0.393234] (1)[1:swapper/0][Power/dcm] [mt_lpm_init]: successfully create /proc/lpm/help
[    0.394252] (1)[1:swapper/0][Power/swap] [mt_idle_init]entry!

[    0.395031] (1)[1:swapper/0]AHBABT_ADDR0 = 0x242169dc
[    0.395037] (1)[1:swapper/0], AHBABT_CNT0 = 0xd470d6d5
[    0.396302] (1)[1:swapper/0]AHBABT_ADDR1 = 0x94072b8a
[    0.396308] (1)[1:swapper/0], AHBABT_CNT1 = 0x3bed6a7c
[    0.397573] (1)[1:swapper/0]AHBABT_ADDR2 = 0xce923b61
[    0.397580] (1)[1:swapper/0], AHBABT_CNT2 = 0x15463428
[    0.398858] (1)[1:swapper/0]AHBABT_ADDR3 = 0x412fe4c1
[    0.398864] (1)[1:swapper/0], AHBABT_CNT3 = 0xc3f357e0
[    0.400322] (1)[1:swapper/0][EINT] CUST_EINT_MD1_CNT:0
[    0.401044] (1)[1:swapper/0]CIRQ init...
[    0.401526] (1)[1:swapper/0]CIRQ IRQ LINE NOT AVAILABLE!
[    0.402219] (1)[1:swapper/0]CIRQ init done...
[    0.402756] (1)[1:swapper/0]CIRQ create sysfs file done...
[    0.403442] (1)[1:swapper/0]Fail to enable interrupt 13
[    0.404109]-(0)[0:swapper/0]Fail to enable interrupt 13
[    0.404816] (1)[1:swapper/0]maxpower test memory = 0xcf804000
[    0.405553] (1)[1:swapper/0]success to create MaxPower loop count driver
[    0.406386] (1)[1:swapper/0]success to create MaxPower loop count sysfs files
[    0.407298] (1)[1:swapper/0]success to create SLT CPU1 MaxPower driver
[    0.408110] (1)[1:swapper/0]success t[    0.686134] (1)[1:swapper/0][cpu_ntf] <31>c061bd1c (cpu_callback)
[    0.686902] (1)[1:swapper/0][cpu_ntf] <32>c061f760 (vmstat_cpuup_callback)
[    0.692042] (0)[1:swapper/0]VFS: Disk quotas dquot_6.5.2
[    0.692917] (0)[1:swapper/0]Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.695602] (0)[1:swapper/0][create_fat_proc]: successfully create /proc/fat/dbg_printk
[    0.696954] (0)[1:swapper/0]yaffs: yaffs built Oct 31 2014 16:03:33 Installing.
[    0.701016] (1)[1:swapper/0][cpu_ntf] <33>c061fa10 (percpu_counter_hotcpu_callback)
[    0.703646] (1)[1:swapper/0]sysctl duplicate entry: /kernel/pty//max
[    0.704436] (1)[1:swapper/0]Backtrace:
[    0.704929] (1)[1:swapper/0][<c0011df0>] (dump_backtrace+0x0/0x10c) fROM [<c06201b0>] (dump_stack+0x18/0x1c)
[    0.706208] (1)[1:swapper/0] r6:00000000 r5:cdb8800b r4:00000000 r3:00000001
[    0.707092] (1)[1:swapper/0][<c0620198>] (dump_stack+0x0/0x1c) from [<c01a4508>] (__register_sysctl_table+0x328/0x480)
[    0.708434] (1)[1:swapper/0][<c01a41e0>] (__register_sysctl_table+0x0/0x480) from [<c01a4a60>] (__register_sysctl_paths+0x1b8/0x1d0)
[    0.709928] (1)[1:swapper/0][<c01a48a8>] (__register_sysctl_paths+0x0/0x1d0) from [<c01a4a98>] (register_sysctl_paths+0X20/0x24)
[    0.711378] (1)[1:swapper/0][<c01a4a78>] (register_sysctl_paths+0x0/0x24) from [<c01a4ab4>] (register_sysctl_table+0x18/0x20)
[    0.712798] (1)[1:swapper/0][<c01a4a9c>] (register_sysctl_table+0x0/0x20) from [<c0863904>] (pty_init+0x31c/0x410)
[    0.714096] (1)[1:swapper/0][<c08635e8>] (pty_init+0x0/0x410) from [<c0008700>] (do_one_initcall+0x11c/0x188)
[    0.715394] (1)[1:swapper/0][<c00085e4>] (do_one_initcall+0x0/0x188) from [<c084d9d8>] (kernel_init+0xf8/0x1b8)
[    0.716664] (1)[1:swapper/0][<c084d8e0>] (kernel_init+0x0/0x1b8) from [<c0057218>] (do_exit+0x0/0x7c8)
[    0.718063] (1)[1:swapper/0][cpu_ntf] <34>c061fb4c (topology_cpu_callback)
[    0.723389] (1)[1:swapper/0][CharDev WARN!] Not MT char device: 108:PPP
[    0.726116] (0)[1:swapper/0][CharDev WARN!] Not MT char device: 166:ttyACM
[    0.727752] (0)[1:swapper/0][cpu_ntf] <35>c061fd0c (cpufreq_stat_cpu_callback)
[    0.730324] (0)[1:swapper/0][cpu_ntf] <36>c03967ac (zs_cpu_notifier)
[    0.732525] (1)[1:swapper/0][aee/ipanic] aee-emmc-ipanic: startup, partition assgined expdb
[    0.733566] (1)[1:swapper/0]<HWMSEN> hwmsen_init
[    0.734417] (1)[1:swapper/0][Power/BatMeter] [Battery_meter_probe] probe
[    0.735326] (1)[1:swapper/0][Power/BatMeter] init_proc_log_fg loaded.
[    0.736207] (1)[1:swapper/0][Power/BatMeter] [battery_meter_driver] Initialization : DONE
[    0.737381] (1)[1:swapper/0][Power/Battery] ******** battery driver probe! ********
[    0.738425] (1)[1:swapper/0][Power/Battery] [BAT_probe] ADC_cali prepare : done !
[    0.738931] (1)[1:swapper/0]
[    0.739950] (1)[1:swapper/0][Power/Battery] [BAT_probe] power_supply_register AC Success !
[    0.741194] (1)[1:swapper/0][Power/Battery] [BAT_probe] power_supply_register USB Success !
[    0.742541] (1)[1:swapper/0][Power/Battery] [BAT_probe] power_supply_register Battery Success !
[    0.743754] (1)[1:swapper/0][Power/Battery] battery_kthread_hrtimer_init : done
[    0.744872] (0)[1:swapper/0][Power/Battery]
[    0.744899] (1)[46:bat_thread_kthr][Power/BatMeter] [force_get_tbat] fixed TBAT=25 t

UBoot logo切换到Kernel logo的时候
,会黑一下屏?
[DESCRIPTION]
UBoot logo切换到Kernel logo的时候,会黑一下屏
[SOLUTION]
通过修改mtkfb.c ,去掉刷黑屏的帧。
Code Path:mediatek/source/kernel/drivers/video/mtkfb.c
具体的修改方法如下:
一、在mtkfb_pan_display_impl方法前面定义变量:
static bool first_update = true;
static int cnt=3;
二、对mtkfb_pan_display_impl方法修改如下:
源码:
int ret = 0;
MTKFB_FUNC();
MSG_FUNC_ENTER();
修改为:
int ret = 0;
//Modify by mtk to avoid blackscreen
if(first_update){
first_update = false;
return ret;
}
if(0!=cnt){
printk("LCD:%dx%d\n",MTK_FB_XRES,MTK_FB_YRES);
cnt--;
}
//Modify by mtk  to avoid blackscreen
MTKFB_FUNC();
MSG_FUNC_ENTER();

非常感谢,一般是在mtkfb_pan_display_impl函数这样改就能解决。
可我这不一样,llk跑完进入到kernel 黑屏很长一段时间(5s)都没有跑到mtkfb_pan_display_impl这个函数,只有再次mtkfb_pan_display_impl才亮起来。试过这样改了,没用。

VIDEO屏吗?关闭掉TE试试。我有遇到过概率性黑屏,关掉TE会正常。

00]-(0)[0:swapper][ccci/ctl] (0)DFO:MTK_ENABLE_MD1:0x00000001
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MTK_ENABLE_MD2:0x00000000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MD1_SIZE:0x00800000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)DFO:MD2_SIZE:0x00000000
[    0.000000]-(0)[0:swapper][ccci/ctl] (0)Get DFO:MTK_ENABLE_MD1:0x00000001
[    0.000000]-(0)[0:swapper][ccci/ctl] (0

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top