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.

OMAPL137 EVM: dumb question EMIFA Nand Flash driver

Other Parts Discussed in Thread: OMAP-L137

Hi,

I'm currently using a OMAPL137 EVM from Spectrum, working with a 8-bit nand flash(29F4G08ABADA) from Micron. The OMAPL137 is working in MontaVista Linux. The project I'm working for will using the nand flash to store large amount of data(GBs) that collected by sensors and read them out through Ethernet cable at later time. My assignment at this point is to verify the above environment is feasible, implementing a test program to read/write/erase the nand flash in linux environment. I know nand flash is not populated on OMAPL137 EVM. So I designed a nand flash test board that connecting to the EMIFA port of the EVM. The circuit is according to OMAPL137HT datasheet.

I'm new to this, so I guess this is a dumb question: where can I find the nand flash driver or some program that helps? I downloaded "MT29F_Nand_Driver-Releasev1.0-Mar2013" from Micron, and "DaVinci-PSP-SDK-03.20.00.12" from TI. But don't really know what to do next or which exactly part can do my job. Can anyone teach me how to use OMAPL137 EVM to work with a nand flash(not as a boot flash)?

Thank you!

Ming

  • Hi Ming,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages. Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics.

    Actually, there already exist a ready made "DA830 - USER INTERFACE MODULE" with flashes (NOR/NAND) and LCD from Spectrum Digital which interface through EMIF-A Expansion of OMAP-L137 EVM .

    http://support.spectrumdigital.com/boards/assy511240/revc/ . The NAND driver is already available in Davinci PSP. when UI card from ( SDI )is connected, we have to just enable the NAND support while configuring the kernel as given below.

    NAND 

     

    System Type  --->
        [*] DA830/OMAP-L137 UI (User Interface) board support
            Select DA830/OMAP-L137 UI board peripheral --->
                (X) NAND flash
    
    Device Drivers --->
    
        Character devices  ---> 
            < > DA830/OMAP-L137 Character LCD Support
    
        Graphics support  --->
            < > Support for frame buffer devices
    
        Memory Technology Devices (MTD)  --->
        [*]     Command line partition table parsing
            NAND Flash Device Drivers  ---> 
                <*> NAND Device Support 
                <*> NAND Flash device on DaVinci SoC 

    For more details you can refer to http://processors.wiki.ti.com/index.php/Using_Linux_PSP_on_OMAP-L1#NAND
    If you are very particular in using the "nand flash test board" designed by you, you can have this nand driver of Davinci PSP
    as a reference to start with your own to support your test board. 
    Please let us know how it goes and whether you succeeded.
     
    Regards,
    Shankari

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

  • Hi Shankari,

    Thank you for your reponse!

    My test board is not particular actually. It's just a small board with a TSOP48 socket on it and can connect to the EMIF-A Expansion of OMAP-L137 EVM. I put a Micron 8-bit Nand Flash in the socket and want to access the flash with OMAPL137. This is basically my task.

    Is the link "http://support.spectrumdigital.com/boards/assy511240/revc/" for OMAPL137? I couldn't find any driver code on it...

    And one last stupid question: what is the UI card?

    Thank you for your help and patience!

    Ming

  • Hi Ming,

    Ming Says said:
    Is the link "http://support.spectrumdigital.com/boards/assy511240/revc/" for OMAPL137? I couldn't find any driver code on it...

    And one last stupid question: what is the UI card?

    That is the link for the "User Interaface module" of OMAP-L137 ( EVMOMAP-L137 and DSKDA830 are equivalent :--  OMAP-L137 processor is used) designed by SDI. In that weblink, you can download the schematics of the userinterface module which includes NAND flash too.

    UI card is nothing but the User interface card.

    The Davinci PSP linux ( which includes NAND driver ) was already tested on OMAP-L137 EVM ( DA830 EVM ) with UI card connected. You can take that driver code as a reference.

    In addition to that, you will find some test code as BSL ( Board support library ) downloadable from SDI website " http://support.spectrumdigital.com/boards/evmomapl137/revg/." in the name of "revg_EVMOMAPL137_BSL.zip" (EVMOMAPL137 Test Code) in which you will find some configuration code for Async-EMIF .

    There is a BSP package available for OMAP-L137. http://processors.wiki.ti.com/index.php/AM17x/OMAP-L137_WinCE_BSP_Quick_Start_Guide. please do check for NAND support and it's source code.

     

    Regards,

    Shankari.

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

     

  • Hi Shankari,

    Thank you! I'm now trying to follow your instruction to configure the kernel to enable the nand driver, also by following the section "Driver Configuration in Linux Kernel" of the page http://processors.wiki.ti.com/index.php/Using_Linux_PSP_on_OMAP-L1#NandFlashNotPresentOnOmapL137EVM

    But the section says:

    For configuring the Linux kernel, run the following commands:

    make da830_omapl137_defconfig ARCH=arm CROSS_COMPILE=arm_v5t_le-
    make menuconfig ARCH=arm CROSS_COMPILE=arm_v5t_le-

    I'm wondering on which directory I should run the commands? I've had all these software installed, but can't run such commands. It prompt: "No rule to make target ..."

    And one more question, I'm also trying to locate the nand driver code from the DaVinci-PSP-SDK-03.20.00.12, I'm not pretty sure... May you help me point out?

    Thank you very much!

  • Hi Ming,

    Ming said:
    I'm wondering on which directory I should run the commands? I've had all these software installed, but can't run such commands. It prompt: "No rule to make target ..."

    You have to run these commands being at the directory which has Linux kernel Source files.

    host$ cd linux-xx.xx.xx.xx

    In that directory, you will find a makefile to run the "make" commands; Otherwise, you will receive this error like "No rule to make target"e.t.c.,

    And also, if you haven't built the u-boot ever once, you have to build it first before building linux as it generates the "mkimage" under the tools folder of U-Boot source which in turn is required for linux build.These informations are given in detail at the following links.

    http://processors.wiki.ti.com/index.php/Building_03.22_PSP_release_Components_for_OMAP-L138#Preparing_your_Environment
    http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Rebuilding_U-Boot
     
    Ming said:
    And one more question, I'm also trying to locate the nand driver code from the DaVinci-PSP-SDK-03.20.00.12, I'm not pretty sure... May you help me point out?

    Being in linux directory if you give search commands like

    "../DaVinci-PSP-SDK-03.22.00.02/src/kernel/linux-03.22.00.02$ find . -iname *nand*"

    It will show up all the nand related codes. (e.g., ./include/linux/mtd/ and ./drivers/mtd/nand e.t.c., ) contained in it

    Or you can directly go to this folder and find the NAND driver. " ../../DaVinci-PSP-SDK-03.22.00.02/src/kernel/linux-03.22.00.02/drivers/mtd/nand$ "

    Regards,

    Shankari

    -------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    --------------------------------------------------------------------------------------------------------

  • Hi Shankari,

    Thank you for your instructions! I ordered the user interface module from Spectrum and connected it to the EVM. It looks neat. I also configured the kernel image according to the wiki page to enable the Nand flash. In booting, it shows:

    Creating 4 MTD partitions on "nand_davinci.0":
    0x00000000-0x00020000 : "bootloader"
    0x00020000-0x00040000 : "params"
    0x00040000-0x00240000 : "kernel"
    0x00240000-0x20000000 : "filesystem"
    nand_davinci nand_davinci.0: hardware revision: 2.5
    Creating 3 MTD partitions on "Windbond spi nand flash":
    0x00000000-0x00040000 : "U-Boot"
    0x00040000-0x00044000 : "U-Boot Environment"
    0x00044000-0x00400000 : "Linux"

    May you suggest me what should I do next, or tell me where can I find more about nand support, like how to access the nand flash?

    Thank you very much!

    Ming