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.

Calculate GPMC Timings for Nand-Flash

Other Parts Discussed in Thread: AM3517, FLASHTOOL

Hello,

we made our own design with a am3517 and a 8bit Micron MT29F2G08A nand-flash. I want to calculate the timings which i have to configure with the GMPC_CONFIGx registers based on the datasheet of the nand-flash.

I am new to that and so I have some problems to do this.

Can someone help me with it?

Thank You!

  • Zenz:

    Just follow the datasheet of  the nand flash, according to that set all gpmc registers!

    Go through the gpmc registers explaination!

    Regards,

    santosh vastrad

  • Thank You for your reply.

    I have some trouble to match the timings from the nand-flash datasheet with the gpmc registers! Is it possible to get some help here? For example a mapping sheet.

  • Zenz:

    Check out the below link!

    Helpful!!!!!!!!!!!!!!

    http://e2e.ti.com/support/dsp/omap_applications_processors/f/42/t/30244.aspx#105441

    Regards,

    santosh vastrad

  • Thank you again,

    but how can i fit this timings from the nand-flash datasheet for example:

    Command, Data, and Address Input (1.8V)

    ALE to data start    tADL 70  ns
    ALE hold time        tALH 5 ns  
    ALE setup time      tALS 10 ns  
    CE# hold time        tCH 5 ns  
    CLE hold time        tCLH 5 ns  
    CLE setup time      tCLS 10 ns  
    CE# setup time      tCS 20 ns  
    Data hold time       tDH 5 ns  
    Data setup time     tDS 10 ns  
    WRITE cycle time  tWC 25 ns
    WE# pulse width HIGH tWH 10 ns
    WE# pulse width   tWP 12 ns
    WP# transition to WE# LOW  tWW 100 ns

    into the values of the gpmc registers.

    Read Cycle and Write Cycle are available, but for example i am not sure if CS_ONTIME equals CE# hold time.

    I hope you understand my problem. The information of your link does not help me in this case.

    If i would have the data like this

            //CS = 50nsec 0-50ns    ----|__________|--------
            //RD cycle time = 55ns
            //WR cycle time = 55ns
            //OE = 40ns   5-45ns    -----|________|---------
            //WR = 40ns   5-45ns    -----|________|---------
            //RD acsess time = 45n
            //WR acsess time = 45n

    for our nand-flash it would be no problem to find the right register values.

    Thank You

  • Zenz:

    what i sent link have your requirment just look once again!!!!!!!!!!!!!

    Regards,

    santosh vastrad

  • Hello,

    i think that i am still had no success to tell you how my problem looks like.

    So i made the following assignment. The  value-names with capital letters stand for parts of the GPMC-Registers, the value-names at the end of the lines are taken from the datasheet.

    CS_OFFTIME_VAL = 25nsec = 20ns + 5ns = #CE setup time + #CE hold time

    ADVRDOFFTIME_VAL = ADVWROFFTIME_VAL =  = CS_RD_OFFTIME_VAL = CS_WR_OFFTIME_VAL = CS_OFFTIME_VAL

    CS_ONTIME_VAL = 0

    RD_CYCLE_TIME_VAL = 25ns    = READ Cycle Time

    WR_CYCLE_TIME_VAL = 25ns = WRITE Cycle Time

    WR_ONTIME_VAL = OE_ONTIME_VAL  = 8ns =  20ns-12ns = CE# setup time - RE# pulse width

    WR_OFFTIME_VAL = OE_OFFTIME_VAL  = 20ns =  20ns = CE# setup time

    WR_ACCESS_TIME_VAL = RD_ACCESS_TIME_VAL = 22n = CE# Access Time

    When i setup the GMPC - Registers with this values it does not work. Where are my mistakes?

    I  there is no post at the thread on which your pointing to which does show the answer to my problem.

    Thank You

  • Zenz:

    you added all these values in gpmc registers, okay!

    IN U-boot code you are making changes for gpmc registers or using flashtool for flashing an  images into the nand!

    Just cleariy on this matter!

    Regards,

    santosh vastrad

  • I am making this changes in the u-boot code. I have already a set of gpmc register values that does work but i think this set is not optimal concerning performance/timings.

    So what I want to do is to find the timings that fit to our nand-flash best.

    Thank You!