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.

How to boot DM8148/AM387x EVM board using NOR flash?

We have a DM814x/AM387x EVM (TMDXEVM8148) board from Mistral.  The base board is Rev D.  It also has an Expansion I/O board Rev D and LCD Adapter board Rev C.  We are currently using EZSDK 5.04.00.11 release for validating the board.

We want to make use of the NOR flash.  That is, use the NOR flash to boot the board through the provided u-boot and linux in the EZSDK.

I have compiled u-boot for NOR flash booting (using ti8148_evm_config_nor).  Unlike the EZSDK for DM816x board, the EZSDK for DM8148 did not include the norflash-writer.out inside board-support/host-tools.  I looked around the web and I did get Norflash-writer.zip from this site: http://processors.wiki.ti.com/index.php/File:Nor-Flash-Writer.zip.   I did a clean build of norflash-writer project and it did create a binary file for norflash-writer.out.

I am using Code Composer Studio version 5.2.0.00069 with Digital Spectrum XDS100v2 USB emulator to program the flash.  I followed the instructions as stated in http://processors.wiki.ti.com/index.php/DM814x_C6A814x_AM387x_PSP_Flashing_Tools_Guide#Burning_NOR_Flash_.28using_CCS.29.  I am using DM814x_PG2.x.gel GEL file.  It did program u-boot successfully. 

After changing the BTMODE[4:0], I tried booting the board using NOR flash.  The result is not promising.  There are no serial console messages being output by u-boot.  It looks like it is not booting correctly from NOR flash.

There were board modifications that were mentioned in http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot#U-Boot_NOR_Support.  However, I thought that this is for the older hardware revisions.  For example, R242 and R229 are not even in the base board schematics and R230 is not in the I/O board.

There is a PCF8575PWR part in the base board that controls EXP_GPMC_ADD_SELn that seems to control which signal will be used (EXP_GPMC_A22 & EXP_GPMC_A23 or CE_REMOTE_IN & HDMI_HP_IN).  Unfortunately, I don’t know how EXP_GPMC_ADD_SELn can be controller at the moment.  I thought that either the hardware switch SW8 or some code in u-boot will deal with this.  But, there is no documentation about this.

Can somebody please help us in determining what we need to boot from NOR flash successfully? 

Are there board modifications that are required in our case?  

What is the catalog board that they mentioned in http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot#U-Boot_NOR_Support?

Thanks,
Maynard 

  • Hi Maynard,

    If you look at the Mistral main board schematics, there is a SW2 on page 14, which is for NAND/SPI boot. Probably the switch SW2 (1-4) that pulls the NAND_ BOOTn signal low should be turned off.  This will disable GPMC_nCS0 going to the NAND (page 14) and redirect it to the expansion board, where the NOR flash is located (pages 13 and 15).

    Best Regards
    Biser

  • Will the NOR Flash Writer source from DM816x work as-is, just rebuilt on the DDM814x?  Please verify.

    Our wiki page: http://processors.wiki.ti.com/index.php/DM814x_C6A814x_AM387x_PSP_Flashing_Tools_Guide#Building_NOR_Flash_Tool, is for DM814x but the source for NOR writer is with the DM816x PSP?

    Thanks.

  • Maynard,

    WRT board mods. 
    1. what EVM version do you have?  I'll make sure you have proper schematics.  Unless you already have them.
    2. R230 on the catalog board, needs to be inserted for NOR to work.  You have to short the lines where its to be inserted.
    3. Let us know if SW2 works.

    ===================================================================

    There were board modifications that were mentioned in http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot#U-Boot_NOR_Support.  However, I thought that this is for the older hardware revisions.  For example, R242 and R229 are not even in the base board schematics and R230 is not in the I/O board.

    There is a PCF8575PWR part in the base board that controls EXP_GPMC_ADD_SELn that seems to control which signal will be used (EXP_GPMC_A22 & EXP_GPMC_A23 or CE_REMOTE_IN & HDMI_HP_IN).  Unfortunately, I don’t know how EXP_GPMC_ADD_SELn can be controller at the moment.  I thought that either the hardware switch SW8 or some code in u-boot will deal with this.  But, there is no documentation about this.

  • Hi Biser and Marc,

    Thanks for the suggestions.  Unfortunately, both switches in SW2 are already in the off (0) position.  So this does not fix the problem.

    Once again the hardware versions are:

    Base board - Rev D
    Expansion I/O board - Rev D
    LCD Adapter board - Rev C

    In regards to R230 on the catalog board, I can only find this on the Expansion I/O board Rev C.  We have a Rev D board and this is not part of the schematics.

    Is there any other things I should look into so that we can boot from NOR flash?

    Regards,
    Maynard
     

  • EXP_GPMC_ADD_SELn  should be controlled by programming the PCF8575PWR via I2C0. You should check its default output states and how that affects U88 via the EXP_GPMC_ADD_SELn  signal. Besides that, check carefully the boot mode switches S1 and SW13. The boot modes are explained in the DM and TRM. The configuration must match the NOR flash on the exp. board.

    BR
    Biser

  • Hi Biser,

    I actually got it u-boot to work now from NOR flash.  I missed S1[8] configuration.  After setting this to 1, the board booted up from NOR flash.  My mistake.  Thanks for your help.

    I will try to put the kernel and jffs2 file system to see if there will be other issues like making sure GPMC_A22/A23 is configured correctly to access NOR flash.

    Would you happen to know if there is support in u-boot or kernel for accessing the PCF8575PWR to make sure that GPMC_A22/A23 is setup correctly?

    Regards,
    Maynard
     

  • That's great Maynard. I don't know about PCF8575PWR support in Linux, I only work on hardware problems.

    BR
    Biser
  • Maynard,

    I'm curious what NOR flash you're referring to. I have the same 8148EVM, though mine is a REV-C baseboard, REV-C io-expansion board, and REV-C LCD board.  Does the REV-D of the baseboard have NOR flash and REV-C didn't?  Or are you using that SPI flash hanging off SPI-0? Our design will use NOR exclusively and I would love to be able to work through some of these hurdles before we get our first prototype back from fab.

    Thank you!

    Dennis

  • Hi Dennis,

    The NOR flash is in the I/O Expansion board and not in the Base Board.  Since you have an older revision of the base board and I/O board, you will definitely need to do some hardware modifications to access the NOR flash.  Here is the portion of the instructions that you need.  You can see it here too: http://processors.wiki.ti.com/index.php/DM814x_AM387x_PSP_U-Boot#U-Boot_NOR_Support

    Board Modification

    Following board modifications have to be done in the Catalogue board (CATA_x) / Base Board for NOR  to work.

    1. catalog board: Replace the resistor R230 in the  with 0-ohm        

           This is required for NOR XIP (Execute in place) to work.

         NOTE:
         Without the above board modifcation(1), NOR boot will not work.

    2. DM8148 Base board: Remove the resistors R410, R248 and populate R242,R229(Both values are 22 ohms)

          This is required to access the entire NOR memory. NOR address lines (A22 and A23)  and HDMI lines are shared.

       a) Populating the resistors R410, R248 (Both are 22 ohms) will enable HDMI

       b) Populating the resistors R242, R229 (Both are 22 ohms) will enable NOR

          By default, resistors R410, R248 are populated and HDMI is enabled. This puts limitation on the size of NOR memory that can be accessed. With HDMI enabled, NOR device lines A22 and A23 cannot be used and hence the maximum addressible memory is 2^22  = 4 MB. Hence, if the entire NOR memory has to be accessed, then the above modification (2) has to be done.
         NOTE: HDMI will not work after this modifcation(2).
     

     Good luck!

    -Maynard
     

  • Hi Maynard,

    I thing only A0 to A19 can be used during XIP boot on Mistral board. Because designer has been selected MUX1 for these signals. But A20 to A23 comes from Mux0 option pins. So after boot user can modify relevant PINCNTL registers on bootlader or kerneland to access entire NOR flash. 

    Best regards.

  • Hi, Maynard

       can you send me DM814x_PG2.x.gel file. I look for this file for long time,but I can not get it from Internet. The email is 78329668@qq.com

     

    Thanks

    Can

  • Hi Can,

    Attached is the DM814x_PG2.x.gel file that I'm using.

    7103.DM814x_PG2.x.gel


    Hope this helps.

    -Maynard
     

  • Hi Maynard,

           Thanks for your help

    bests

    Can