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.

TMS320C6678 - Advisory 8 Multiple PLLs May Not Lock After Power-on Reset Issue

In my design the DSP will boot from a NOR FLASH (EMIF), if I understood correctly then according to the 6678 errata document (February 2011), advisory 8, the DSP must boot from an I2C EEPROM which contains the PLL reset workaround, and only then boot from the NOR FLASH.

Am I correct that direct booting from EMIF is not supported due to this errata?

  • Erez,

    Yes, because of the PLL lock issue, you must first boot using I2C or SPI to implement the workaround.  Once you have done that, you can write the DEVSTAT register to reflect the desired boot mode, then write the re-enter address to  the boot ROM and boot via the desired method. This is essentially what we have done on the EVMs.  Here are the steps used by the EVM:

     

    1) FPGA samples the bootmode pins

    2) FPGA forces the DSP to boot via I2C for the fix

    3) PLL is intiated correctly with the IBL code on the I2C.

    4) IBL reads the sampled bootmode from a FPGA register and writes this value into the DEVSTAT register

    5) IBL writes the Boot ROM enter address into the DSP PC

    6) DSP executes the desired internal ROM boot mode as normal

     

    If you want to look at the source for this work around, you can find it in the MCSDK: http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/02_00_00_06/index_FDS.html

    Once installed, look at:  C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta1\tools\boot_loader\ibl\src\device\c661x\c661xinit.c and C:\Program Files\Texas Instruments\mcsdk_2_00_00_beta1\tools\boot_loader\ibl\src\main\iblinit.c.  Look at the iblEnterRom and devicePllConfig functions.

    Hope that helps,

    Travis

     

  • Hi tscheck,

       I am trying to boot from SPI Nor Flash on my own board based on C6678. 

       "because of the PLL lock issue, you must first boot using I2C or SPI to implement the workaround".

        That means,I need not to consider PLL fix although the silicon revision number of my device is 1.0,right?

      Best Wishes,

    Nuoxi

  • Nuoxi,

    Rev 1.0 of the silicon requires the PLL fix.  I2C and SPI can be used to implement the PLL fix because they both use PLL bypass mode for boot.  I will ask someone else to reply here with details on an example that shows this.

    Regards,

    Travis

  • Hi Nuoxi,

    As Travis mentioned, if you have C6678 rev1.0, then you need to do the PLL fix. The example for PLL fix without using IBL is in the processors wiki page. The link is below. This example is traditionally for I2C boot, but you can change it based on the SPI boot example you have to get them in SPI boot format. This will set the PLL to the correct configuration and re-enters the boot that you need.

    http://processors.wiki.ti.com/images/4/4d/SecondaryBoot_PLLfix.zip

    Thanks,

    Arun.

  • Hi Arun,  Travis,

        Thanks for your help .

    Nuoxi