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 Flash support in MLO/SPL

Expert 2280 points

Hi

My custom board will not have MMC nor NAND, but just an SPI Flash. Therefore I need support in MLO/SPL to load U-Boot from SPI Flash. This is missing in current version, so did you already planned to add it? When will it be available?

Thanks. Regards,

Max

  • Max,

    Which version are you refering to? Can you provide more details.

    Regards,

    Nageswari

  • Hi Nageswari

    I'm using Linux SDK 05.03.02.00 for AM335x which includes latest available PSP 04.06.00.03.

    But I had a look also at forthcoming PSP 04.06.00.06 Release Notes, and it says: "SPL and U-Boot supporting NAND and MMC/SD boot modes".

    Thanks for your attention,

    Max

  • Hi Nageswari,

    I can find that AM335xEVM can boot u-boot SPL from NAND, SD, UART in http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.06_Features_and_Performance_Guide.

    But my product must use NOR FLASH storage for u-boot SPL and normal u-boot. I'm considering SPI NOR FLASH or NOR FLASH. Can AM335xEVM boot from SPI FLASH or NOR FLASH with current SDK/PSP? If not, is there any plan for supporting this feature? Thanks!

  • You need to check for XIP (execute in place) boot modes in the TRM. NOR is usually connected on parallel GPMC interface and as such can be directly addressed and code executed.

    Check Starterware SW package for SPI boot code.

    You might need to do some modification to u-boot or use a different second-level boot loader first. (ROM code is first level boot loader for me)

    Regards.

  • Frank, thanks, I had seen Starterware SPI Flash boot code, but I would prefer not to take code from here and there: having a single source for both SPL and U-Boot would be much easier to manage for board specific customization.

    So my question is: do you know if SPI Flash support will be added in future release of SPL/U-Boot? I suppose someone in TI plans and writes a roadmap of next features...

    Regards,

    Max

  • No, I don't know that. This someone is definitely not me and I am not using SPL/u-boot currently.

    So I need to defer this to other people that hopefully read this... sorry.

    Regards.

  • Thank you, Frank. I appreciate your response and will wait for the good news...

  • Qmax said:

    My custom board will not have MMC nor NAND, but just an SPI Flash. Therefore I need support in MLO/SPL to load U-Boot from SPI Flash. This is missing in current version, so did you already planned to add it? When will it be available?

    Adding SPI flash boot to U-Boot (SPL) is not currently scheduled.

  • Hi Tom,

    I've seen you have added SPI Flash support to recent AM335XPSP_04.06.00.08 and amsdk-05.04.01.00 git branches.
    I've downloaded code and test it with success on EVM, and soon I'll do on my custom board.

    Thank you very much, and thanks to all guys at TI team for your support.

    Best regards,

    Max

  • Hi Qmax,

       I use the u-boot-2011.09-psp04.06.00.08,and I want to load U-Boot from SPI Flash,

      I  initially boot from an SD card and use that to transfer the files to write to SPI flash,

    The following commands:sf probe 0,is failed ,

    "SF: Unsupported manufacturer ff ,Failed to initialize SPI flash at 0:0"

    How to support boot from the spi flash?

     Thanks in advance.

  • Hi

    Are you using a custom board? Which type of SPI Flash is mounted on that board?

    TI SPL/U-Boot include just 'stmicro' SPI Flash driver (CONFIG_SPI_FLASH_STMICRO) to support the SPI Flash on the EVM. If you use a different device, you have to add its support on board configuration file (am335x_evm.h), e.g. for a Spansion SPI Flash use CONFIG_SPI_FLASH_SPANSION (add it, or replace CONFIG_SPI_FLASH_STMICRO).

    Note that some recent models are not included in TI U-boot source code: drivers are fine but they do not match on device identifier. In this case you have to add the description of your device in the driver flash table (e.g. look at stmicro_spi_flash_table in 'stmicro' driver).

    Linux Kernel supports a generic/flexible SPI Flash driver which matches most of the devices.

    Hope this help.

    Regards,

    Max