With the latest EZSDK release (5.04), my EVM fails to boot about 30% of the time with the following error, which causes the system to grind to a halt. (I've trimmed the path in the assertion for brevity.)
Has anyone else seen this or know what could cause this?
Loading HDVICP2 Firmware DM814X prcm_config_app version: 2.0.0.1 Doing PRCM settings... PRCM for IVHD0 is in Progress, Please wait..... BW Phy Addr : 0x48180600 Data : 0x00000001 AW Phy Addr : 0x48180600 Data : 0x00000002 Phy Addr : 0x48180c04 Data : 0x00000037 BW Phy Addr : 0x48180620 Data : 0x00070000 AW Phy Addr : 0x48180620 Data : 0x00070002 BW Phy Addr : 0x48180624 Data : 0x00030000 AW Phy Addr : 0x48180624 Data : 0x00010002 Phy Addr : 0x48180600 Data : 0x00000102 BW Phy Addr : 0x48180c10 Data : 0x00000007 AW Phy Addr : 0x48180c10 Data : 0x00000003 Phy Addr : 0x48180c14 Data : 0x00000004 BW Phy Addr : 0x58088000 Data : 0xeafffffe AW Phy Addr : 0x58088000 Data : 0xeafffffe BW Phy Addr : 0x58098000 Data : 0xeafffffe AW Phy Addr : 0x58098000 Data : 0xeafffffe BW Phy Addr : 0x48180c10 Data : 0x00000003 AW Phy Addr : 0x48180c10 Data : 0x00000000 Phy Addr : 0x48180c14 Data : 0x00000007 PRCM for IVHD0 is Done Successfully PRCM Initialization completed SysLink version : 2.10.03.20 SysLink module created on Date:May 4 2012 Time:14:56:59 FIRMWARE: Memory map bin file not passed Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>] ===Mandatory arguments=== <Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3 <Location of Firmware> firmware binary file <start|stop> to start/stop the firmware ===Optional arguments=== -mmap input memory map bin file name -i2c 0: i2c init not done by M3, 1(default): i2c init done by M3 FIRMWARE: isI2cInitRequiredOnM3: 0 FIRMWARE: Default memory configuration is used MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1 FIRMWARE: Memory Configuration status : In Progress FIRMWARE: 1 start Successful Loading HDVPSS Firmware FIRMWARE: Memory map bin file not passed Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>] ===Mandatory arguments=== <Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3 <Location of Firmware> firmware binary file <start|stop> to start/stop the firmware ===Optional arguments=== -mmap input memory map bin file name -i2c 0: i2c init not done by M3, 1(default): i2c init done by M3 FIRMWARE: isI2cInitRequiredOnM3: 0 FIRMWARE: Default memory configuration is used MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1 Assertion at Line no: 301 in $EZSDK/component-sources/syslink_2_10_03_20/packages/ti/syslink/ipc/hlos/knl/Linux/IpcDrv.c: (status >= 0) : failed FIRMWARE: Ipc_CONTROLCMD_STARTCALLBACK Error: ProcMgr status 0xffffffff FIRMWARE: Could not start: -1 |
Here's the relevant lines from /etc/init.d/load_firmware.sh. Note that we don't need the M3 to control the I2C bus.
case "$1" in |
And here's my kernel args (i.e. UBoot's "bootargs"):
console=ttyO0,115200n8 rootwait rw mem=364M mem=324@0x9F900000 vmalloc=500M earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M root=/dev/nfs nfsroot=192.168.0.100:/nfs/dm8148-5_04_00_11 ip=dhcp |
The changes I've made to the default EVM setup are as follows...just for reference.
- Rebuild kernel to contain inotify support
- Because of the above, I was forced to rebuild and reinstall modules, syslink, and sgx-driver, and then do the depmod dance described here: http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/140714/611510.aspx#611510
- Removed the Expansion I/O board. We provide video input directly to the connector on the base board via a custom board. No I2C configuration is needed.