Fast the NAND flash read speed base on 4.0.0 ltib release

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Fast the NAND flash read speed base on 4.0.0 ltib release

Fast the NAND flash read speed base on 4.0.0 ltib release

    Some customer will use NAND flash as the storage device, also in auto application field,  the fast boot is also necessary,  so how to make the read speed faster is a question. FSL provide some patches for fast boot, they’re also suitable for NAND fast boot. These patch mainly enable the MMU and SDMA in uboot, some part of the patches is special for MMC.

       0001-Merge-from-12.0.4-fastboot.patch     0002-Add-fsclmmcdma-code.patch

   Some NAND flash support the EDO feature, according to the device feature mode, the NAND flash can be set different clock frequency.  Here will describe how to calculate the NAND working clock.

   The NAND clock is divider from the GPMI source clock, can be program in setup_gpmi_nand().  The  divider was configured in register GPMI_TIMING0, the NAND clock can get from the following:

          NANDCLK=GPMICLK/(DATA_HOLD+DATA_SETUP)

   NAND Clock will affect the speed a lot, for the NAND chipsets which support the EDO, the nand speed will be set automatically. For those doesn’t support EDO NAND chip, the usr should take care those setting manually. There is also a patch for enable EDO mode and set NAND clock automatically.

              0008-NAND-configure-as-EDO-mode-5.patch

    Besides above, there are two other patches to improve the speed about 30%, 0009-For-nand-page-align-read-include-read-offset-and-siz.patch enabled the cache read(Note: please make sure the NAND chipset support cache read), it will reduce the unnecessary command transfer between the CPU and NAND, 0010-If-possible-directly-use-user-buffer-as-BCH-nand-buf.patch remove some unnecessary memcpy.

Attachments
Comments

Hello,

I'm glad to view your below u-boot upgrade.

https://community.freescale.com/docs/DOC-95061

I'd like to upgrade my i.mx257 u-boot with your document and source.

I found your patch applied to mx6q_sabresd board.

So i tried first build with mx6q_sabresd board.

first install u-boot

extract u-boot-2009.08.tar.bz2

patch u-boot-v2009.08-imx_3.0.35_4.1.0.tar.bz2

build

make mx6q_sabresd_config

make

/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

image build succeed.

Now tries to patch fast_nand.zip

patch < ./fast_nand/0001-Merge-from-12.0.4-fastboot.patch

but it can't patch to mx6q_sabresd board.

would you please guide me how to patch to mx6q_sabresd board, and how to implement to mx25_3stack board?

Best Regards


InSoon Park

------------------------------------------------
Planning, Business

MegaCast Co., Ltd.
T:+82 70 7010 8620 F:+82 70 7016 2460 M: +82 11 395 1637
www.megacast.co.kr
------------------------------------------------

Hi,

    The patch should be based on different version bsp(mainlu on 4.0.0), you had better to merge to your code

best regards

Jack

Hi,

I tries to patch to below package's U-Boot.

L3.0.35_12.10.02_GA_source.tar.gz

So can I get some document for patch and build?

Thanks

Hi,

Purpose: NAND copy to SDRAM using SDMA.

I tried to port this fast_nand.zip to i.mx257 u-boot source.

now process is:

patch  0001-Merge-from-12.0.4-fastboot.patch

change common/cmd_sdma.c code to below for i.mx257

//#include <asm/arch/mx6.h>

#define DMA_REQ_PORT_HOST_BASE_ADDR (0x53FD4000)

Then build and execute

do_sdma()

  src = 0x000;

  dst = 0x80008000;

  size = 0x1000;

Then it waits here

    do {

        retv = sdma_channel_status(channel, &status);

    } while (!(status & SDMA_CHANNEL_STATUS_DONE));

status still stays ay "SDMA_CHANNEL_STATUS_BUSY".

message from u-boot

IS: do_sdma: dst =80008000, src 0, size 1000

IS: sdma_init: base_addr =53fd4000

SDMA initializated.

sdma_lookup_script.

Normal.

Open SDMA channel for transfer.

Channel opened, starting transfer...

sdma_channel_status = 1

Would you please advise me where should I check and modify?

B/R

IS

Hi

   imx25 uboot should has big different with imx6, I'm sorry that I never touch imx25 before, so what I suggest is that understand the patch to see if it can be ported to imx25

No ratings
Version history
Last update:
‎07-02-2013 02:48 AM
Updated by: