Hello,
Have observed that while booting WINCE 7 on EVM8148 based custom board(DRAM 2GB, no daughter board, SD boot), VPSS M3 code loading takes about 10 to 12 minutes. After which, the booting/kernel bring up is complete and HDMI display works.
On the same board, linux booting works perfectly fine without any delay(using ti-ezsdk_dm814x-evm_5_04_00_11). Pasted below is the WINCE7 log with sdboot, KITL disabled, OAL retail messaging on.
Texas Instruments CE7 SD XLDR v0.0.4 for Centaurus 387X PG 2.1
Built Jul 11 2012 at 13:00:34Version BSP_WINCE_ARM_A8 02.30.00.03open ebootsd.nb0 fileInit HW: controller RSTSDCARD: requested speed 1000000, actual speed 1000000SDCARD: requested speed 25000000, actual speed 19200000read ebootsd.nb0 file
jumping to ebootsd image
Microsoft Windows CE Bootloader Common Library Version 1.4 Built Jul 11 2012 12:48:52INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0x8409
Texas Instruments Windows CE EBOOT for AM387x PG2.1, Built Jul 11 2012 at 13:00:12EBOOT Version 0.0.1, BSP BSP_WINCE_ARM_A8 02.30.00.03
TI AM387X
ecc type:3System ready!Preparing for download...INFO: Predownload....NAND manufacturex 17 device 17 : no matching device foundFMD driver does not support NAND manufacturer:0x17 dev:0x17ERROR: FMD_Init call failed!INFO: BLReserveBootBlocks....NAND manufacturex 17 device 17 : no matching device foundFMD driver does not support NAND manufacturer:0x17 dev:0x17ERROR: FMD_Init call failed!BLReadBootCfg returns errorWARN: Boot config wasn't found, using defaultsINFO: SW3 boot setting: 0x00NAND manufacturex 17 device 17 : no matching device foundFMD driver does not support NAND manufacturer:0x17 dev:0x17
>>> Forcing cold boot (non-persistent registry and other data will be wiped) <<<
>> Forcing cold boot (non-persistent registry and other data will be wiped) <<< .:;rrr;;. ,5#@@@@#####@@@@@@#2, ,A@@@hi;;;r5;;;;r;rrSG@@@A, r@@#i;:;s222hG;rrsrrrrrr;ri#@@r :@@hr:r;SG3ssrr2r;rrsrsrsrsrr;rh@@: B@H;;rr;3Hs;rrr;sr;;rrsrsrsrsrsr;;H@B @@s:rrs;5#;;rrrr;r#@H:;;rrsrsrsrsrr:s@@ @@;;srs&X#9;r;r;;,2@@@rrr:;;rrsrsrsrr;;@@ @@;;rrsrrs@MB#@@@@@###@@@@@@#rsrsrsrsrr;;@@ G@r;rrsrsr;#X;SX25Ss#@@#M@#9H9rrsrsrsrsrs;r@G @9:srsrsrs;2@;:;;:.X@@@@@H::;rrsrsrsrsrsrr:3@ X@;rrsrsrsrr;XAi;;:&@@#@Bs:rrsrsrsrsrsrsrsrr;@X @#;rsrsrsrsrr;r2ir@@@###::rrsrsrsrsrsrsrsrsr:@@ @A:rrsrsrsrr;:2@29@@M@@@;:;rrrrsrsrsrsrsrsrs;H@ @&;rsrsrsrr;A@@@@@@###@@@s::;:;;rrsrsrsrsrsr;G@ @#:rrsrsrsr;G@5Hr25@@@#@@@#9XG9s:rrrrsrsrsrs:#@ M@;rsrsrsrs;r@&#;::S@@@@@@@M@@@@Grr:;rsrsrsr;@# :@s;rsrsrsrr:M#Msrr;;&#@@@@@@@@@@H@@5;rsrsr;s@, @@:rrsrsrsr;S@rrrsr;:;r3MH@@#@M5,S@@irrsrr:@@ @A:rrsrsrsrrrrrsrsrrr;::;@##@r:;rH@h;srr:H@ ;@9:rrsrsrsrrrsrsrsrsr;,S@Hi@i:;s;MX;rr:h@; r@B:rrrrsrsrsrsrsrr;;sA@#i,i@h;r;S5;r:H@r ,@@r;rrrsrsrsrsrr;2BM3r:;r:G@:rrr;;r@@, B@Mr;rrrrsrsrsr@@S;;;rrr:5M;rr;rM@H .@@@i;;rrrrsrs2i;rrrrr;r@M:;i@@@. .A@@#5r;;;r;;;rrr;r:r#AsM@@H. ;&@@@@MhXS5i5SX9B@@@@G; :ihM#@@@@@##hs,
[deleted eboot configuration selection]
OEMPreDownload: Filename nk.bin
Init HW: controller RSTSDCARD: requested speed 1000000, actual speed 1000000SDCARD: requested speed 25000000, actual speed 19200000
BL_IMAGE_TYPE_BIN
+OEMMultiBinNotify(0x8feb1cc0 -> 1)Download file information:-----------------------------------------------------------[0]: Address=0x80002000 Length=0x041f8430 Save=0x80002000-----------------------------------------------------------Download file type: 1+OEMIsFlashAddr(0x80002000) g_eboot.type 1.........................................................................................................................................................................................................................................................................................................................................................rom_offset=0x0....ImageStart = 0x80002000, ImageLength = 0x41f8430, LaunchAddr = 0x80008360
Completed file(s):-------------------------------------------------------------------------------+OEMIsFlashAddr(0x80002000) g_eboot.type 1[0]: Address=0x80002000 Length=0x41f8430 Name="" Target=RAMROMHDR at Address 80002044hLaunch Windows CE image by jumping to 0x80008360...
Windows CE Kernel for ARM (Thumb Enabled)CPU CP15 Control Register = 0xc5387fCPU CP15 Auxiliary Control Register = 0x42 +OALTimerInit(1, 20000, 200) --- High Performance Frequecy is 24 MHz---After prcminit11.2 DeviceId................. EVM387X-pArgs->flags............. 0x2CpArgs->devLoc.IfcType.... 0pArgs->devLoc.LogicalLoc. 0x4A100000pArgs->devLoc.PhysicalLoc 0x0pArgs->devLoc.Pin........ 0pArgs->ip4address........ 0pDevice->Name............ spDevice->ifcType......... 0pDevice->id.............. 0x4A100000pDevice->resource........ 0pDevice->type............ 2pDevice->pDriver......... 0x8420D000WARN: OALKitlInit: KITL DisabledPID:00400002 TID:00410002 +PrcmPostInit()VBridge:: VB_INITIALIZED returns [0]PID:00400002 TID:01330006 SDHC: CPU revision 0xffffffffPID:00400002 TID:01330006 SDHC host controller initialize: m_fastPathSDIO:1 m_fastPathSDMEM:0PID:00400002 TID:01330006 <1>SysLink version : 02.00.00.67_alpha2 created Dec 19 2011 at 17:38:57PID:00400002 TID:01330006 UCD_Init: <><><><><><> COMPARE WITH SAPID:00400002 TID:01330006 CAM3xxOTG::Init DEVCTL 88PID:00400002 TID:01330006 CAM3xxOTG::Init DEVCTL 88PID:00400002 TID:01330006 DllMain(): DEBUGMSG LLTD dll attach.PID:00400002 TID:01330006 DllMain RETAILMSG RSPNDR_DLL_PROCESS_ATTACH...PID:00400002 TID:01330006 RSPNDR_Init... wm7 PID:00400002 TID:01330006 +++ TopEnableRspndrPolicyCallback: NdisRegisterProtocolDriver Status : 0 PID:00400002 TID:01330006 RSPNDR_Init: DriverEntry succeeded.PID:00400002 TID:01330006 HDMI: >>> configure_hdmi_pll: read_clkctrl=0x09910812 <<<PID:00400002 TID:01330006 HDMI: Initialized. hdmi_mode 3PID:00400002 TID:03100012 CAM3xxOTG[2]::HostMode(): entering host modePID:00400002 TID:03100012 HcdPdd_Init::CHECK FOR CENTAURUSPID:00400002 TID:03100012 USBH: HcdPdd_SetDevicePower: State 0PID:00400002 TID:03100012 USBH: HcdPdd_SetDevicePower: DEVCTL 0x5D[ 10 minutes delay after this]PID:00400002 TID:04440002 Syslink ProcMgr loaded VPSS M3 code successfullyPID:00400002 TID:04440002 PVR:getCpuFamily: 4PID:00400002 TID:04440002 PVR:omapsgxddgpe getCpuFamily: 4PID:00400002 TID:04440002 M3 firmware version 0x01000126. PID:00400002 TID:01550006 kernel PVRSRV_IOCTL_POWER_SET setting state 2PID:00400002 TID:01720006 kernel PVRSRV_IOCTL_POWER_SET setting state 0PID:00400002 TID:01720006 kernel PVRSRV_IOCTL_POWER_SET setting state 1PID:00400002 TID:01720006 kernel PVRSRV_IOCTL_POWER_SET setting state 2
I have seen a similar post on linux (http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/132288/484696.aspx#484696), this points to VPSS FM initializing video decode/encoder over I2C interface and stuck in a block. So am facing the same kind of problem here. Would like to know how to debug this issue?
Pallavi,
Just a guess, but maybe the clock configuration on the VPSS is incorrect. If the clock is running faster than the configured value, the VPSS would be swamped with interrupts and make very slow progress through the boot code.
~Ramsey
Ramsey,
Thanks for the reply. I did verify the clock/PLL settings, don't see anything wrong, no progress yet.
-Pallavi
To get visibility into the VPSS firmware you will either have to attach CCS and observe its behavior or add instrumentation to the VPSS firmware to track its progress. In both cases you will need source code for VPSS firmware; for adding instrumentation, you will also need to rebuild the VPSS firmware.
To use CCS, you have to wait for the VPSS to be released from reset before you can attach. I'm guessing this happens quickly after it is loaded and the delay occurs during boot phase. So, attach CCS to the VPSS soon after seeing the preceeding message to the SysLink message.
Pallavi DesaiPID:00400002 TID:03100012 USBH: HcdPdd_SetDevicePower: DEVCTL 0x5D[ 10 minutes delay after this] # attach CCS nowPID:00400002 TID:04440002 Syslink ProcMgr loaded VPSS M3 code successfully
To add instrumentation, you will need to enable logging in the VPSS firmware. After the board boots, attach CCS to the VPSS and use ROV to inspect the log buffer. Each entry will have a time stamp. From this you can track down the delay point.
Had some success in debugging today. Found out that if the SD card remains in the slot, the booting is slow. Once the NK.bin is copied, if we remove the SD card from the slot, wince boots up as quick as its does on the EVM. We will be looking into the SD driver and debug further. Has anybody observed this behavior? Will changing the order of loading the SD driver and VPSS firmware help?
I'm glad you are making progress. If you suspect the SD driver, I suggest starting a new thread with an appropriate title. It will help to catch the eye of the correct person to help you.