Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

SPI Boot Problem

Hi,

   My custom board have problem with SPI boot mode,and I compare with EVM board circuit,there is no different.

  The SPI verision is W25Q64BVSS1G. I use oscilloscope checkout CLK pin and CS pin. I got two different oscillogram after rebooting mann times, the  oscillogram  as follow:

The top signal is get from CLK pin of SPI,and the bottom singal is get from CS# pin. The SPI is work when this  oscillogram is generated. I can see boot log from console.

but the other oscillogram is :

The top singal is get from CLK pin of SPI,and the bottom is CS# singal. When I got this oscillogram,the console is not active, and SPI may not work regularly.

Compare with the two oscillogram that the first oscillogram genearte two CS singal and the second oscillogram genearte one CS singal, what a stange problem? The two oscillogram is genearted on the same condition. Who have encounted the same probelm? How to solve this problem?

 

Thanks,

Chen

  • Hi Chen,

    Are you using EZSDK 5.05.02.00?

    Make sure you are following these Guides:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_U-Boot#U-Boot_SPI_Support

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_User_Guide#Boot_from_SPI

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_McSPI_Driver_User_Guide

    Regards,

    Pavel

  • Hi,

       I could solved the problem, and the spi boot mode can work.I use u-boot-2010.06-psp04.04.00.01 instead of  u-boot-2010.06-psp04.00.00.10 that the SPI can work well. So, I compared the different of spi driver between two u-boot code, and do not find any useful information. But, when I modify  the parameter of                                      PLATFORM_CPPFLAGS += -march=armv5 into PLATFORM_CPPFLAGS += -march=armv7-a in u-boot-2010.06-psp04.00.00.10/arch/arm/cpu/arm_cortexa8/config.mk file, the spi is work as well as the u-boot which compiled from  u-boot-2010.06-psp04.04.00.01 directory. Because the   u-boot-2010.06-psp04.04.00.01/arch/arm/cpu/arm_cortexa8/config.mk file defined the parameter PLATFORM_CPPFLAGS += -march=armv7-a. But I do not know wether the spi is work  relating into the parameter PLATFORM_CPPFLAGS of  /arch/arm/cpu/arm_cortexa8/config.mk file. Could you tell me the different between of  armv7-a and armv5?

    Regard,

    Chen

  • Hi Chen,

    armv5 is the ARM architecture used in some old ARM chips, like ARM926.

    armv7-a is the ARM architecture used in the new ARM chips, like ARM Cortex-A8. DM816x device has ARM Cortex-A8 core. http://processors.wiki.ti.com/index.php/Cortex-A8

    http://processors.wiki.ti.com/index.php/DM816x_AM389x_PSP_04.01.00.06_Optimize_Linux_Boot_Time

    u-boot is build for armv5 for compatibility reasons. Update compiler flags to build it for armv7-a.

    Regards,

    Pavel