Great work Dirk! Does this nand driver work with 512MB nand parts which use
2k page sizes?

Regards,
Pradeep Sriram

On Jan 5, 2008 1:29 PM, Dirk Behme <[EMAIL PROTECTED]> wrote:

>
> This patch adds NAND driver to recent git. Tested on DM6446 DVEVM.
>
> It is mainly based on Sander Huijsen <[EMAIL PROTECTED]> work
> [1]. Many thanks!
>
> To use/test it, you have to configure DVEVM:
>
> - jumper J4 set to NAND
> - S3-1 and S3-2 set to OFF (NAND boot)
> - S3-3 set to OFF (8-bit CS2 bus width)
>
> Note that on DVEVM you have only access to NAND if jumper J4 is set to
> NAND. Cause of CS2 switching then you have no access to e.g.
> bootloader (uboot) in NOR any more. This implies that you have a
> bootloader in NAND, e.g. by using tools [2].
>
> Then configure your kernel with
>
> CONFIG_MTD=y
> CONFIG_MTD_PARTITIONS=y
>
> CONFIG_MTD_CHAR=y
> CONFIG_MTD_BLKDEVS=y
> CONFIG_MTD_BLOCK=y
>
> CONFIG_MTD_NAND=y
> CONFIG_MTD_NAND_VERIFY_WRITE=y
> CONFIG_MTD_NAND_IDS=y
> CONFIG_MTD_NAND_DAVINCI=y
>
> and for filesystem e.g.:
>
> CONFIG_JFFS2_FS=y
> CONFIG_JFFS2_FS_DEBUG=0
> CONFIG_JFFS2_FS_WRITEBUFFER=y
> CONFIG_JFFS2_ZLIB=y
> CONFIG_JFFS2_RTIME=y
>
> Booting this kernel you will get something like:
>
> ...
> DaVinci NAND Controller rev. 2.1
> Warning: MUX config for NAND: Set PINMUX0 reg to 0x8001cc1f, was
> 0x80030c1f, should be done by bootloader.
> Warning: NAND config: Set A1CR reg to 0x0432018c, was 0x0432229c,
> should be done by bootloader.
> NAND device: Manufacturer ID: 0xec, Chip ID: 0x36 (Samsung NAND 64MiB
> 1,8V 8-bit)
> Bad block scan: 0 out of 4096 blocks are bad.
> Creating 1 MTD partitions on "NAND 64MiB 1,8V 8-bit":
> 0x00500000-0x04000000 : "User Space"
> ...
>
> Once logged in, do something like
>
> ...
> # ll /dev/mtd0
> crw-rw-rw-    1 root     root      90,   0 Jul 25  2002 /dev/mtd0
> # ll /dev/mtdblock0
> brw-rw-rw-    1 root     disk      31,   0 Jul 25  2002 /dev/mtdblock0
> # cat /proc/mtd
> dev:    size   erasesize  name
> mtd0: 03b00000 00004000 "User Space"
> # flash_eraseall -j /dev/mtd0
> Erasing 16 Kibyte @ 3afc000 -- 30 % complete. Cleanmarker written at
> 3afc000.
> # mount -t jffs2 /dev/mtdblock0 /mnt/nand
> # ll /mnt/nand/
> drwxr-xr-x    3 root     root            0 Jan  1  1970 .
> drwxr-xr-x    5 root     root         1024 Jan  1 12:04 ..
> # echo "Hello NAND" > /mnt/nand/test
> # ll /mnt/nand/
> drwxr-xr-x    3 root     root            0 Jan  1 12:05 .
> drwxr-xr-x    5 root     root         1024 Jan  1 12:04 ..
> -rw-r--r--    1 root     root           11 Jan  1 12:05 test
> # cat /mnt/nand/test
> Hello NAND
> # reboot
>
> ...
>
> # mount -t jffs2 /dev/mtdblock0 /mnt/nand
> # ll /mnt/nand/
> drwxr-xr-x    3 root     root            0 Jan  1  1970 .
> drwxr-xr-x    5 root     root         1024 Jan  1 12:00 ..
> -rw-r--r--    1 root     root           11 Jan  1 12:05 test
> # cat /mnt/nand/test
>
> Best regards
>
> Dirk
>
> [1]
>
> http://linux.omap.com/pipermail/davinci-linux-open-source/2007-December/004788.html
>
> [2] http://wiki.davincidsp.com/index.php?title=RBL_UBL_and_host_program
> _______________________________________________
> Davinci-linux-open-source mailing list
> [email protected]
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
>
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to