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.

c6678 local reset

Hi TI engineer,

       I am now trying to local reset the C6678,and I have got some example code.I can't understand following section:

       after writer reset code into RAM:

       write bootEntryAddr to DSP_BOOT_ADDR0(chip-level + 0x40+4*coreNum)

       write 1 to IPC register to generate a interrupt.

       I can't find the description of this in any document,can you provide us some respective docs?Or maybe you can tell us how the code work.What does the DSP_BOOT_ADDR0 used to do?

       Thank you very much

  • Hi Yuchao Wang,

    Please refer KeyStone Architecture(Literature Number: SPRUGY5C) DSP Bootloader User Guide for Reset types and initialization process.

    Please get back to us if you have any queries.

    Thanks.

  • HI Rajasekaran K,

    I have read the Guide before,but it only refers that we setup a local reset by write to field in reg MDCTL.But the code I have does a lot more things than that.It change the state of power domain and clock domain,bootload a serious of code,and so on.

    In fact,I want to reset one c6678 through srio by another c6678 or other kind of master,to make the reseted one in a clear state to waited for boot,but the srio-inferace left unaffected.We have done similar things for PCIE.But when we want to transplant it to SRIO and some problems happen.So can you give us some example code for this?

  • Yuchao,

    We do provide and example code for local reset which you can find in BIOS MCSDK.

    For PCIe boot example with local reset does the following:

    • Put all cores in reset via PSC
    • Disable all modules except PCIE and cores via PSC
    • Configure chip level registers DSP_BOOT_ADDRn and IPCGRn: Here the header array
    converted from DSP local reset example is loaded into each core via PCIE; the _c_int00
    is then written to each DSP_BOOT_ADDRn; finally IPCGRn is written to jump start the
    DSP local reset example program, which simply polls magic address for a secondary
    boot.
    • Enable all modules previous disabled via PSC
    • Pull all cores out of reset via PSC

    You can find example code here:

    http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_FDS.html

    Under: C:\ti\mcsdk_2_01_02_06\tools\boot_loader\examples\pcie\
    Docs folder: section 9.6 explains  How DSP local reset example works
    Linux code: \linux_host_loader\pciedemo.c  #ifdef LOCAL_RESET
                           please check function dspLocalReset().
    DSP code: pcieboot_localreset\src\pcieboot_localreset.c

    Hope this helps

    Regards,

    Rahul

  • Rajasekaran 

            We have accomplished the reset by PCIE before.But now we want to do the local reset by SRIO.And I can't find similar code in boot_loader\examples\srio\,I wonder that if it is supported?If supported,can we finish it in similar way?Is there any example code?We are looking forward to your response,thank you very much.

             Regards,

             Yuchao.