This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168 DVRRDK_03.50.00.05 watchdog system restart cause VPSS init crash

Other Parts Discussed in Thread: TVP5158

Hi Ti Expert:

i want to use DM1868 watchdog under DVRRDK_03.50.00.05, but we found a issue.

when restart system by watchdog, a crash print will occurs. we found it is occurs when run "load_vpss.sh"

how can i solve this problem?



6710.dm8168_main_borad_v1.pdf


  • dm816x login: root
    root@dm816x:~# cd /opt/dvr_rdk/ti816x/ && ./Capture_init_load_run.sh
    *** Bootargs Validated for mem param ***
    *** Bootargs Validated for notifyk.vpssm3 params ***
    *** Kernel Base address validated ***
    Kernel bootargs validated
    amixer: Cannot find the given element from control default

    amixer: Cannot find the given element from control default

    [c6xdsp ] Remote Debug Shared Memory @ 0xbf000000
    [m3video] Remote Debug Shared Memory @ 0xbf005020
    [m3vpss ] Remote Debug Shared Memory @ 0xbf00a040
    SysLink version : 2.20.02.20
    SysLink module created on Date:May 23 2013 Time:16:24:40
    Trace enabled
    Trace SetFailureReason enabled
    Setting DMM priority for [DUCATI ] to [0] ( 0x4e000624 = 0x08000000 )
    Setting DMM priority for [HDVICP0 ] to [2] ( 0x4e000634 = 0x0000000a )
    Setting DMM priority for [HDVICP1 ] to [2] ( 0x4e000634 = 0x000a0000 )
    Setting DMM priority for [HDVICP2 ] to [2] ( 0x4e000634 = 0x00a00000 )

    *** dl fpga : START ***

    open HD-EX1002F.rbf
    dlCount = 247942
    rtnVal:1
    errCount:0,okCount:1
    download FPGA OK

    *** dl fpga : END ***


    *** TVP5158 probe : START ***

    TI VS EVM : TVP5158 device address : 0x58, 0x5a, 0x5c, 0x5e
    TI DVR : TVP5158 device address : 0x5c, 0x5d, 0x5e, 0x5f

    Device found : I2C (0xXX): 0x08 = 0x51
    I2C (0xXX): 0x09 = 0x58

    Device NOT found : I2C (0xXX): Read ERROR !!! (reg[0x08], count = 2)

    I2C (0x58): Read ERROR !!! (reg[0x08], count = 2)
    I2C (0x5a): Read ERROR !!! (reg[0x08], count = 2)
    I2C (0x5c): Read ERROR !!! (reg[0x08], count = 2)
    I2C (0x5d): Read ERROR !!! (reg[0x08], count = 2)
    I2C (0x5e): Read ERROR !!! (reg[0x08], count = 2)
    I2C (0x5f): Read ERROR !!! (reg[0x08], count = 2)

    *** TVP5158 probe : END ***

    /opt/dvr_rdk/ti816x
    Unhandled fault: external abort on non-linefetch (0x1808) at 0xf9020000
    Internal error: : 1808 [#1]
    last sysfs file: /sys/kernel/uevent_seqnum
    Modules linked in: syslink
    CPU: 0 Not tainted (2.6.37 #17)
    PC is at DM8168DUCATIMMU_enable+0x60/0xa0 [syslink]
    LR is at DM8168DUCATIMMU_enable+0x28/0xa0 [syslink]
    pc : [<bf0171dc>] lr : [<bf0171a4>] psr: 00000013
    sp : cd3c2ff0 ip : d3004000 fp : cd3c3004
    r10: 00000000 r9 : cd3c2000 r8 : bf0af318
    r7 : bf07c7c0 r6 : d3001000 r5 : 00000000 r4 : d3001000
    r3 : 00010000 r2 : f9020000 r1 : 00060000 r0 : bf061340
    Flags: nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    Control: 10c5387d Table: 8deb8019 DAC: 00000015
    Process fw_load.out (pid: 998, stack limit = 0xcd3c22e8)
    Stack: (0xcd3c2ff0 to 0xcd3c4000)
    2fe0: d3004000 00000000 cd3c3034 cd3c3008
    3000: bf0168d0 bf017188 00000008 f9020000 00000000 d3001000 cd3c3e34 d300a000
    3020: cd3c3ea4 00000000 cd3c3054 cd3c3038 bf0047e8 bf0167e0 cd3c3e34 bf01c100
    3040: cd3c3ea4 cd3c3078 cd3c3e5c cd3c3058 bf004160 bf00478c cd3c3ea4 00000000
    3060: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3080: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    30a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    30c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    30e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3100: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3120: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3140: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3160: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3180: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    31a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    31c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    31e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3200: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3220: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3240: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3260: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3280: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    32a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    32c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    32e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3300: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3320: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3340: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3360: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3380: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    33a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    33c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    33e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3400: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3420: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3440: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3460: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3480: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    34a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    34c0: 00000000 00000000 00000000 00000000 00000000 00000000 ce429600 00000001
    34e0: cd3c3524 cd3c34f0 c00738c8 c00735f8 c00933dc c0093368 cd3c3524 cd3c3508
    3500: c007268c c00933c0 c050ac78 c050ac78 ce429600 00000001 cd3c3544 cd3c3528
    3520: c007277c c00738a4 c050ac78 ce429600 ce5dda00 ce536d08 cd3c3554 cd3c3548
    3540: c00a44dc c00a5838 cd3c3574 cd3c3558 cdc59e28 ce747680 cd3c357c cd3c3568
    3560: c03264f4 c0325e94 cdc59e28 ce747680 cd3c3594 cd3c3580 c0325c60 c03264e4
    3580: 60000113 ce747680 cd3c35a4 cd3c3598 c0325d40 c0325c58 cd3c35b4 cd3c35a8
    35a0: c005b728 c005b6a4 cd3c35c4 cd3c35b8 c00a58cc c005b708 cd3c35dc cd3c35c8
    35c0: c00a581c c00a58b8 c050deb0 00020000 cd3c35fc cd3c35e0 c00a5780 c00a580c
    35e0: c050deb0 c050deb0 0000002b ce563b4c cd3c3614 cd3c3600 c00a4a80 c00a5768
    3600: 60000113 c050deb0 ce563800 ce7fa080 00000081 ce7fa080 d08f5020 ce7fa080
    3620: cd3c3674 cd3c3630 c0268f8c c0052f7c 00000000 c00a4f58 000000b6 cdd5d096
    3640: cdc59e28 00000000 cd3c366c ce563800 cdc59e28 ce563b40 ce563a08 ce563800
    3660: c03d218c ce747780 cd3c369c cd3c3678 c0267c90 c0268dfc 00000000 000000d0
    3680: cdc59e28 ce747680 cd3c36ac cd3c3698 c03264f4 c0325e94 cdc59e28 ce747680
    36a0: cd3c36c4 cd3c36b0 c0325c60 c03264e4 60000113 ce747680 cd3c36d4 cd3c36c8
    36c0: c0325d40 c0325c58 cdc590a8 ce747680 cd3c36f4 cd3c36e0 c03264f4 c0325e94
    36e0: cdc590a8 ce747680 cd3c370c cd3c36f8 c0325c60 c03264e4 60000113 ce747680
    3700: cd3c371c cd3c3710 c0325d40 c0325c58 cd3c372c cd3c3720 c005b728 c005b6a4
    3720: ce563800 ce7fa080 000000f3 ce7fa080 d08f5e60 ce7fa080 cd3c378c cd3c3748
    3740: c0268f8c c0052f7c 00000000 cd3c3758 000000b6 cdc46896 cdc590a8 00000000
    3760: cd3c3784 ce563800 cdc590a8 ce563b40 ce563a08 ce563800 c03d218c ce747780
    3780: cd3c37b4 cd3c3790 c0267c90 c0268dfc 00000000 000000d0 cdc590a8 ce747680
    37a0: cd3c37c4 cd3c37b0 c03264f4 c0325e94 cdc590a8 ce747680 cd3c37dc cd3c37c8
    37c0: c0325c60 c03264e4 60000113 bf0af3ec cd3c3824 cd3c37e0 bf02d00c bf01c100
    37e0: bf022f7c bf01c100 bf0af3ec 0000000c cd3c384c cdcaf100 00000005 00000005
    3800: cd3c3824 cdcaf880 00000012 00000001 be8ed698 be8ed698 cd3c3ef4 cd3c3828
    3820: bf050e18 bf01c100 c024f352 be8ed698 0000002b ce563b4c cd3c385c be8ed698
    3840: c00a4a80 c00a5768 60000113 00000000 00000000 00000000 c00a4fb4 c00a4a20
    3860: ce563b50 ce563b40 00000004 ce563b4c cd3c38ac cd3c3880 c0267f74 c00a4f58
    3880: ffffdc7b 00010000 ce563b4c 00000040 0000000c 00000001 0000012c ffffdc7d
    38a0: cd3c38d4 cd3c38b0 c032d950 c0267d30 cd3c2000 00000100 cd3c38d4 cd3c38c8
    38c0: cd3c2000 00000100 cd3c390c cd3c38d8 c007bd0c c007bb7c cd3c3904 cd3c38e8
    38e0: c050de5c 0000002a 00000000 0000fa60 cdc70480 00000007 cdc59000 000005a8
    3900: cd3c391c cd3c3910 c007bd78 c00723bc cd3c3934 cd3c3920 c0042080 c007bd30
    3920: ffffffff fa200000 cd3c3994 cd3c3938 c03b0674 c004200c 00000000 cdc59000
    3940: 00000000 cdc46e80 cdc70480 cdc70480 41e5d4cf 0000fa60 cd3c397c cd3c3968
    3960: c03215f8 c0081a3c cdc70480 41e5d4cf cd3c3994 cd3c3980 c035fac4 c03215e8
    3980: cdc70480 41e5d4cf cd3c39fc cd3c3998 c0362b04 c035fa3c cd3c39d4 cd3c39a8
    39a0: 00000000 00000001 000005a8 00000001 cdc704f4 cdc59018 cdc59000 00000020
    39c0: 00000680 c035633c cd3c39fc cd3c39d8 c0326b44 cdc70480 cdc59000 00000074
    39e0: 00000000 00000000 cdc70480 cdc59000 cd3c3a1c cd3c3a00 c03212f4 c007c060
    3a00: cdc70480 cdc59000 00000074 00000000 cd3c3a9c cd3c3a20 c0356eac c0321220
    3a20: cd3c3a64 cd3c3a30 c0394ac4 cd3c3be0 00000000 00004040 000005a8 00000000
    3a40: 00000074 00000000 cdc46078 000005a8 00000001 cdc704f4 cd3c2000 00000000
    3a60: c0155ab8 00000000 00000000 000005a8 cd3c3aa4 cdc70480 cd3c3ac0 cd3c3bc4
    3a80: 00000074 cd3c3bc4 ce004c00 cd3c3bc4 cd3c3abc cd3c3aa0 c0372858 c035640c
    3aa0: 00000000 00000000 ce004c00 00000074 cd3c3b9c cd3c3ac0 c031e638 c03727f8
    3ac0: cd3c3af4 cd3c3ad0 00000000 00000001 ffffffff 00000000 00000000 00000000
    3ae0: 00000000 00000000 cdf05080 cd3c3af8 00000000 00000000 00000000 cd3c3b08
    3b00: cd3c3b38 cd3c3b10 c03b27d4 c03b279c 00000000 cdf05080 cd3c3b4c cd3c3b28
    3b20: c050acc0 c050ace0 c08e0136 00000000 00000000 00000001 cd3c3b6c cd3c3b48
    3b40: c0073304 00000074 ce004c00 ce428580 00000000 cd3c3bc4 ce4285b0 c03942b8
    3b60: cdf05080 ce4285b0 cdf050b0 c050ac78 cdf05080 ce4285b0 cd3c3bac cd3c2000
    3b80: bf000000 cdc68574 00000000 00000000 cd3c3bb4 cd3c3ba0 c031e69c c031e59c
    3ba0: 00004040 00000000 cd3c3c14 cd3c3bb8 c0392320 c031e660 00000074 00000000
    3bc0: cd3c3bf4 00000000 cdf05080 cdf05080 00000000 00000000 fffffffd 00000000
    3be0: cd3c3c14 cd3c3bf0 c03b274c c00481c4 c04f001c cdf05080 00000017 c04f30d0
    3c00: cd3c2000 c03942b8 cd3c3c2c cd3c3c18 c03b27ac c03b2724 00000000 cd3c3cb4
    3c20: cd3c3c44 cd3c3c30 00007e7f 000000e1 000000d2 003fffff cd3c3c8c cd3c3c48
    3c40: bf02b56c bf01c100 cd3c3cbc cd3c3c58 c00adde8 c00ab98c 00000041 003fffff
    3c60: 00000000 000200d2 000000d2 cdcaf900 00000001 00000013 000000d2 003fffff
    3c80: cd3c3cf4 cd3c3c90 000000d2 003fffff cd3c3d04 cd3c3ca0 c00adde8 c00ab98c
    3ca0: 00000041 00000000 00000000 000200d2 c0539e40 00000000 00000000 ffffffff
    3cc0: 00000001 c0539584 bf023200 c07980a8 003fffff c0539584 bf023200 000000d2
    3ce0: 003fffff 000000d2 bf023200 ffffffff cd3c2000 00000000 cd3c3d84 cd3c3d08
    3d00: c00ae25c c00add68 00000001 00000041 c0539584 00000000 00000000 cdea1440
    3d20: 000000cf d3040000 00000001 cd3c3d94 cdea1580 000000d2 bf023200 ffffffff
    3d40: cd3c2000 000000cf cd3c3d6c cd3c3d58 c00c6d84 c00c6bf4 cd3c3d94 cdea1580
    3d60: c0751760 00693ce1 cd3c3d9c cd3c3d78 c00ad990 c00bb43c 00000000 c0751740
    3d80: 00000000 00000020 cd3c3da4 cd3c3d98 c01be938 c01be884 cd3c3dc4 cd3c3da8
    3da0: c00a84b8 c01be930 00000000 cdeb8000 cdcc0300 00000000 cd3c3e0c cd3c3dc8
    3dc0: 0008db5a 8db5a30f cd3c3de4 cd3c3dd8 c00c7cac c00c7c40 cd3c3df4 cd3c3de8
    3de0: c074cb40 00000000 cd3c3e0c cd3c3df8 c00a8808 c008dd7c c074cb40 8db5a30f
    3e00: cd3c3e5c cd3c3e10 c00bc69c c00a87d0 00001208 00000000 00000200 cdeab8a0
    3e20: 00000000 00000020 cd3c3ea4 00000000 cd3c3e5c cd3c3ea4 cd3c3ea4 cdcaf380
    3e40: cd3c2000 be8eda64 be8eda64 00000000 cd3c3ef4 cd3c3e60 bf00511c bf0040c8
    3e60: c00ce0a0 be8eda64 00000000 00000000 d300a000 be8edaa4 cdc59900 000000a0
    3e80: cd3c3ea4 cd3c3e90 c00d7de8 c00e5990 cdcaf900 cdc6b000 00000200 cd3c3fb0
    3ea0: cdf05080 00000000 00000000 cd3c3eb8 c0092174 c01c0764 cd3c3efc cd3c3ec8
    3ec0: c03b25cc c0092170 d300a000 00000000 00000000 00000000 cdcaf380 00000008
    3ee0: 00000008 be8eda64 cd3c3f04 cd3c3ef8 c00dc144 bf004954 cd3c3f74 cd3c3f08
    3f00: c00dc854 c00dc128 c00db94c c00db86c 00000000 cdcaf680 00000013 00001003
    3f20: 00000000 cdcaf900 cdda8604 cd3c2000 cdc86700 ce142c00 c00e3eec 00000013
    3f40: cdc6b000 00001002 00000001 00000000 be8eda64 c00ce0a0 00000008 cdcaf380
    3f60: cd3c2000 00000000 cd3c3fa4 cd3c3f78 c00dc8ec c00dc360 c00dbec0 00000001
    3f80: 00000013 be8eda64 00000000 00000000 00000036 c004cfa8 00000000 cd3c3fa8
    3fa0: c004ce00 c00dc8a0 be8eda64 00000000 00000008 c00ce0a0 be8eda64 00000001
    3fc0: be8eda64 00000000 00000000 00000036 0007ea54 000515d8 0007e73c 00000000
    3fe0: c00ce0a0 be8eda30 0002a360 402baaec 60000010 00000008 00000000 00000000
    Backtrace:
    [<bf01717c>] (DM8168DUCATIMMU_enable+0x0/0xa0 [syslink]) from [<bf0168d0>] (DM8168DUCATIPWR_on+0xfc/0x150 [syslink])
    r5:00000000 r4:d3004000
    [<bf0167d4>] (DM8168DUCATIPWR_on+0x0/0x150 [syslink]) from [<bf0047e8>] (PwrMgr_attach+0x68/0xa0 [syslink])
    r8:00000000 r7:cd3c3ea4 r6:d300a000 r5:cd3c3e34 r4:d3001000
    [<bf004780>] (PwrMgr_attach+0x0/0xa0 [syslink]) from [<bf004160>] (ProcMgr_attach+0xa4/0x1d4 [syslink])
    r5:cd3c3078 r4:cd3c3ea4
    [<bf0040bc>] (ProcMgr_attach+0x0/0x1d4 [syslink]) from [<bf00511c>] (ProcMgrDrv_ioctl+0x7d4/0x170c [syslink])
    [<bf004948>] (ProcMgrDrv_ioctl+0x0/0x170c [syslink]) from [<c00dc144>] (vfs_ioctl+0x28/0x44)
    r8:be8eda64 r7:00000008 r6:00000008 r5:cdcaf380 r4:00000000
    [<c00dc11c>] (vfs_ioctl+0x0/0x44) from [<c00dc854>] (do_vfs_ioctl+0x500/0x540)
    [<c00dc354>] (do_vfs_ioctl+0x0/0x540) from [<c00dc8ec>] (sys_ioctl+0x58/0x7c)
    [<c00dc894>] (sys_ioctl+0x0/0x7c) from [<c004ce00>] (ret_fast_syscall+0x0/0x30)
    r8:c004cfa8 r7:00000036 r6:00000000 r5:00000000 r4:be8eda64
    Code: 0afffffc e59c2010 e3a03801 e3a01806 (e5823000)
    ---[ end trace b98e994f26de0d4b ]---

  • We have this error too. Actually lots of people are seeing this error and it is entirely because TI decided that the hardware watchdog should not reset the HDVICPs when the hardware watchdog is triggered ("warm reset"). This was a design mistake in my opinion.

    The work around is to manually reset the HDVICPs at boot time (or you could wire up the hardware watchdog pin such that it performs a full cold reset as opposed to the warm reset that is done from the hardware watchdog). There are instructions on manually resetting the HDVICPs (which must be done BEFORE running your script) in the TRM, section 18.5.8. Let me know how it goes - we haven't got it working yet.

  • Hi,

    Watchdog reset is a warm reset and hence it doesn't reset all the modules. This is the reason for the above hang/ errors.

    Please try this uboot patch : 

    diff --git a/arch/arm/cpu/arm_cortexa8/start.S b/arch/arm/cpu/arm_cortexa8/start.S
    index 423b01b..260dbc7 100644
    --- a/arch/arm/cpu/arm_cortexa8/start.S
    +++ b/arch/arm/cpu/arm_cortexa8/start.S
    @@ -95,6 +95,11 @@ FIQ_STACK_START:
     	.word 0x0badc0de
     #endif
     
    +
    +#define PRM_DEVICE_RSTTST 0x481800A8
    +prm_device_rsttst:
    + .word PRM_DEVICE_RSTTST
    +
     /*
      * the actual reset code
      */
    @@ -107,6 +112,15 @@ reset:
     	bic	r0, r0, #0x1f
     	orr	r0, r0, #0xd3
     	msr	cpsr,r0
    +  /*Force cold reset if a 
    +   warm reset is detected*/
    +  ldr r0, prm_device_rsttst
    +  ldr r1, [r0]
    +  str r1, [r0]
    +  cmp r1, #2
    +  beq reset_cpu
    +  cmp r1, #8
    +  beq reset_cpu
     
     #if (CONFIG_OMAP34XX)
     	/* Copy vectors to mask ROM indirect addr */
    diff --git a/board/ti/ti8168_dvr/dvr.c b/board/ti/ti8168_dvr/dvr.c
    index d6ab5f1..38733f2 100644
    --- a/board/ti/ti8168_dvr/dvr.c
    +++ b/board/ti/ti8168_dvr/dvr.c
    @@ -1246,6 +1246,8 @@ void s_init(u32 in_ddr)
     #ifdef CONFIG_TI816X_VOLT_SCALE
     	voltage_scale_init();
     #endif
    +
    +  udelay(100);
     }
     
     /* optionally do something like blinking LED */
    
    . This patch is for ti816x UD works dvr and has uboot changes to detect a warm reset and force cold reset. 

    Please refer to thread http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/276202/1026048.aspx#1026048 for more details on the above changes.

    Regards,

    Reshma