Hi Scott Wood: Thank you for your kindly reply! I did use the freescale bsp (MPC837XE-RDB-20071105.iso).For the ISO doesn't have the LINUX MTD patches ,I used the MPC837XE-MDS patches .And the samsung 32M nand flash works well both in u-boot and linux kernel. Since our projects need more capability to store filesystems,I changed nand flash to 1G byte. I think it is the same to operate nand flash both in u-boot and linux kernel ,because the code about FCM nand flash control is almost the same.So I just test it in u-boot. From the mpc8379e reference manual page 484 : 21 PGS NAND Flash E2PROM page size, buffer size, and block size. 0 Page size of 512 main area bytes plus 16 spare area bytes (small page devices); FCM RAM buffers are 1 Kbyte each; Flash block size of 16 Kbytes. 1 Page size of 2048 main area bytes plus 64 spare area bytes (large page devices); FCM RAM buffers are 4 Kbytes each; Flash block size of 128 Kbytes.
Because the 32M nand flash block size is just the 16Kbytes,and it works well.But the block size of the 1G bytes nand flash is 256Kbytes,when every time I tried to write to it ,It just can be writed the first 128kbytes of every 256kbytes.As I wrote in last email. Below is the linux kernel information when I operate nand flash. Best wishes ! Bob yu 2008-4-24 //////////////////////////////////////////////////////////////////////////////////////////////////////////////// . . . . sd 3:0:0:0: Attached scsi generic sg0 type 0 Freescale eLBC NAND Driver (C) 2006-2007 Freescale NAND device: Manufacturer ID: 0xad, Chip ID: 0xd3 (Hynix NAND 1GiB 3,3V 8-bit) Scanning device for bad blocks fsl-elbc fsl-elbc.0: Using OF partition information Creating 1 MTD partitions on "nand": 0x00000000-0x40000000 : "JFFS2-NAND" i2c /dev entries driver . . . . -sh-2.05b# cd / -sh-2.05b# ls bin home mnt root tmp boot lib music sbin usr dev linuxrc opt share var etc lost+found proc sys -sh-2.05b# smbd -sh-2.05b# chmod 777 / -sh-2.05b# ls bin home mnt root test.jffs2 boot lib music sbin tmp dev linuxrc opt share usr etc lost+found proc sys var -sh-2.05b# cat /proc/mtd dev: size erasesize name mtd0: 40000000 00040000 "JFFS2-NAND" -sh-2.05b# cp test.jffs2 /dev/mtdblock0 end_request: I/O error, dev mtdblock0, sector 0 Buffer I/O error on device mtdblock0, logical block 0 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 8 Buffer I/O error on device mtdblock0, logical block 1 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 16 Buffer I/O error on device mtdblock0, logical block 2 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 24 Buffer I/O error on device mtdblock0, logical block 3 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 32 Buffer I/O error on device mtdblock0, logical block 4 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 40 Buffer I/O error on device mtdblock0, logical block 5 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 48 Buffer I/O error on device mtdblock0, logical block 6 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 56 Buffer I/O error on device mtdblock0, logical block 7 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 64 Buffer I/O error on device mtdblock0, logical block 8 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 72 Buffer I/O error on device mtdblock0, logical block 9 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 80 end_request: I/O error, dev mtdblock0, sector 88 end_request: I/O error, dev mtdblock0, sector 96 end_request: I/O error, dev mtdblock0, sector 104 end_request: I/O error, dev mtdblock0, sector 112 end_request: I/O error, dev mtdblock0, sector 120 end_request: I/O error, dev mtdblock0, sector 128 end_request: I/O error, dev mtdblock0, sector 136 end_request: I/O error, dev mtdblock0, sector 144 end_request: I/O error, dev mtdblock0, sector 152 end_request: I/O error, dev mtdblock0, sector 160 end_request: I/O error, dev mtdblock0, sector 168 end_request: I/O error, dev mtdblock0, sector 176 end_request: I/O error, dev mtdblock0, sector 184 end_request: I/O error, dev mtdblock0, sector 192 end_request: I/O error, dev mtdblock0, sector 200 end_request: I/O error, dev mtdblock0, sector 208 end_request: I/O error, dev mtdblock0, sector 216 end_request: I/O error, dev mtdblock0, sector 224 end_request: I/O error, dev mtdblock0, sector 232 end_request: I/O error, dev mtdblock0, sector 240 end_request: I/O error, dev mtdblock0, sector 248 end_request: I/O error, dev mtdblock0, sector 256 end_request: I/O error, dev mtdblock0, sector 264 end_request: I/O error, dev mtdblock0, sector 272 end_request: I/O error, dev mtdblock0, sector 280 end_request: I/O error, dev mtdblock0, sector 288 end_request: I/O error, dev mtdblock0, sector 296 end_request: I/O error, dev mtdblock0, sector 304 end_request: I/O error, dev mtdblock0, sector 312 end_request: I/O error, dev mtdblock0, sector 320 end_request: I/O error, dev mtdblock0, sector 328 end_request: I/O error, dev mtdblock0, sector 336 end_request: I/O error, dev mtdblock0, sector 344 end_request: I/O error, dev mtdblock0, sector 352 end_request: I/O error, dev mtdblock0, sector 360 end_request: I/O error, dev mtdblock0, sector 368 end_request: I/O error, dev mtdblock0, sector 376 end_request: I/O error, dev mtdblock0, sector 384 end_request: I/O error, dev mtdblock0, sector 392 end_request: I/O error, dev mtdblock0, sector 400 end_request: I/O error, dev mtdblock0, sector 408 end_request: I/O error, dev mtdblock0, sector 416 end_request: I/O error, dev mtdblock0, sector 424 end_request: I/O error, dev mtdblock0, sector 432 end_request: I/O error, dev mtdblock0, sector 440 end_request: I/O error, dev mtdblock0, sector 448 end_request: I/O error, dev mtdblock0, sector 456 end_request: I/O error, dev mtdblock0, sector 464 end_request: I/O error, dev mtdblock0, sector 472 end_request: I/O error, dev mtdblock0, sector 480 end_request: I/O error, dev mtdblock0, sector 488 end_request: I/O error, dev mtdblock0, sector 496 end_request: I/O error, dev mtdblock0, sector 504 end_request: I/O error, dev mtdblock0, sector 512 end_request: I/O error, dev mtdblock0, sector 520 end_request: I/O error, dev mtdblock0, sector 528 end_request: I/O error, dev mtdblock0, sector 536 end_request: I/O error, dev mtdblock0, sector 544 end_request: I/O error, dev mtdblock0, sector 552 end_request: I/O error, dev mtdblock0, sector 560 end_request: I/O error, dev mtdblock0, sector 568 end_request: I/O error, dev mtdblock0, sector 576 end_request: I/O error, dev mtdblock0, sector 584 end_request: I/O error, dev mtdblock0, sector 592 end_request: I/O error, dev mtdblock0, sector 600 end_request: I/O error, dev mtdblock0, sector 608 end_request: I/O error, dev mtdblock0, sector 616 end_request: I/O error, dev mtdblock0, sector 624 end_request: I/O error, dev mtdblock0, sector 632 end_request: I/O error, dev mtdblock0, sector 640 end_request: I/O error, dev mtdblock0, sector 648 end_request: I/O error, dev mtdblock0, sector 656 end_request: I/O error, dev mtdblock0, sector 664 end_request: I/O error, dev mtdblock0, sector 672 printk: 74 messages suppressed. Buffer I/O error on device mtdblock0, logical block 84 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 680 end_request: I/O error, dev mtdblock0, sector 688 end_request: I/O error, dev mtdblock0, sector 696 end_request: I/O error, dev mtdblock0, sector 704 end_request: I/O error, dev mtdblock0, sector 712 end_request: I/O error, dev mtdblock0, sector 720 end_request: I/O error, dev mtdblock0, sector 728 end_request: I/O error, dev mtdblock0, sector 736 end_request: I/O error, dev mtdblock0, sector 744 end_request: I/O error, dev mtdblock0, sector 752 end_request: I/O error, dev mtdblock0, sector 760 end_request: I/O error, dev mtdblock0, sector 768 end_request: I/O error, dev mtdblock0, sector 776 end_request: I/O error, dev mtdblock0, sector 784 end_request: I/O error, dev mtdblock0, sector 792 end_request: I/O error, dev mtdblock0, sector 800 end_request: I/O error, dev mtdblock0, sector 808 end_request: I/O error, dev mtdblock0, sector 816 end_request: I/O error, dev mtdblock0, sector 824 end_request: I/O error, dev mtdblock0, sector 832 end_request: I/O error, dev mtdblock0, sector 840 end_request: I/O error, dev mtdblock0, sector 848 end_request: I/O error, dev mtdblock0, sector 856 end_request: I/O error, dev mtdblock0, sector 864 end_request: I/O error, dev mtdblock0, sector 872 end_request: I/O error, dev mtdblock0, sector 880 end_request: I/O error, dev mtdblock0, sector 888 end_request: I/O error, dev mtdblock0, sector 896 end_request: I/O error, dev mtdblock0, sector 904 end_request: I/O error, dev mtdblock0, sector 912 end_request: I/O error, dev mtdblock0, sector 920 end_request: I/O error, dev mtdblock0, sector 928 end_request: I/O error, dev mtdblock0, sector 936 end_request: I/O error, dev mtdblock0, sector 944 end_request: I/O error, dev mtdblock0, sector 952 end_request: I/O error, dev mtdblock0, sector 960 end_request: I/O error, dev mtdblock0, sector 968 end_request: I/O error, dev mtdblock0, sector 976 end_request: I/O error, dev mtdblock0, sector 984 end_request: I/O error, dev mtdblock0, sector 992 end_request: I/O error, dev mtdblock0, sector 1000 end_request: I/O error, dev mtdblock0, sector 1008 end_request: I/O error, dev mtdblock0, sector 1016 end_request: I/O error, dev mtdblock0, sector 2048 end_request: I/O error, dev mtdblock0, sector 2056 end_request: I/O error, dev mtdblock0, sector 2064 end_request: I/O error, dev mtdblock0, sector 2072 end_request: I/O error, dev mtdblock0, sector 2080 end_request: I/O error, dev mtdblock0, sector 2088 end_request: I/O error, dev mtdblock0, sector 2096 end_request: I/O error, dev mtdblock0, sector 2104 end_request: I/O error, dev mtdblock0, sector 2112 end_request: I/O error, dev mtdblock0, sector 2120 end_request: I/O error, dev mtdblock0, sector 2128 end_request: I/O error, dev mtdblock0, sector 2136 end_request: I/O error, dev mtdblock0, sector 2144 end_request: I/O error, dev mtdblock0, sector 2152 end_request: I/O error, dev mtdblock0, sector 2160 end_request: I/O error, dev mtdblock0, sector 2168 end_request: I/O error, dev mtdblock0, sector 2176 end_request: I/O error, dev mtdblock0, sector 2184 end_request: I/O error, dev mtdblock0, sector 2192 end_request: I/O error, dev mtdblock0, sector 2200 end_request: I/O error, dev mtdblock0, sector 2208 end_request: I/O error, dev mtdblock0, sector 2216 end_request: I/O error, dev mtdblock0, sector 2224 end_request: I/O error, dev mtdblock0, sector 2232 end_request: I/O error, dev mtdblock0, sector 2240 end_request: I/O error, dev mtdblock0, sector 2248 end_request: I/O error, dev mtdblock0, sector 2256 end_request: I/O error, dev mtdblock0, sector 2264 end_request: I/O error, dev mtdblock0, sector 2272 end_request: I/O error, dev mtdblock0, sector 2280 end_request: I/O error, dev mtdblock0, sector 2288 end_request: I/O error, dev mtdblock0, sector 2296 end_request: I/O error, dev mtdblock0, sector 2304 end_request: I/O error, dev mtdblock0, sector 2312 end_request: I/O error, dev mtdblock0, sector 2320 end_request: I/O error, dev mtdblock0, sector 2328 end_request: I/O error, dev mtdblock0, sector 2336 printk: 79 messages suppressed. Buffer I/O error on device mtdblock0, logical block 292 lost page write due to I/O error on mtdblock0 end_request: I/O error, dev mtdblock0, sector 2344 end_request: I/O error, dev mtdblock0, sector 2352 end_request: I/O error, dev mtdblock0, sector 2360 end_request: I/O error, dev mtdblock0, sector 2368 end_request: I/O error, dev mtdblock0, sector 2376 end_request: I/O error, dev mtdblock0, sector 2384 end_request: I/O error, dev mtdblock0, sector 2392 end_request: I/O error, dev mtdblock0, sector 2400 end_request: I/O error, dev mtdblock0, sector 2408 end_request: I/O error, dev mtdblock0, sector 2416 end_request: I/O error, dev mtdblock0, sector 2424 end_request: I/O error, dev mtdblock0, sector 2432 end_request: I/O error, dev mtdblock0, sector 2440 end_request: I/O error, dev mtdblock0, sector 2448 end_request: I/O error, dev mtdblock0, sector 2456 end_request: I/O error, dev mtdblock0, sector 2464 end_request: I/O error, dev mtdblock0, sector 2472 end_request: I/O error, dev mtdblock0, sector 2480 end_request: I/O error, dev mtdblock0, sector 2488 end_request: I/O error, dev mtdblock0, sector 2496 end_request: I/O error, dev mtdblock0, sector 2504 end_request: I/O error, dev mtdblock0, sector 2512 end_request: I/O error, dev mtdblock0, sector 2520 end_request: I/O error, dev mtdblock0, sector 2528 end_request: I/O error, dev mtdblock0, sector 2536 end_request: I/O error, dev mtdblock0, sector 2544 end_request: I/O error, dev mtdblock0, sector 2552 //////////////////////////////////////////////////////////////////////////////////////////////////////////////// -------------------------------------------------- From: "Scott Wood" <[EMAIL PROTECTED]> Sent: Thursday, April 24, 2008 12:35 AM To: "???" <[EMAIL PROTECTED]> Cc: <linuxppc-embedded@ozlabs.org> Subject: Re: mpc8379e rdb nand flash support > On Wed, Apr 23, 2008 at 03:47:00PM +0800, ??? wrote: >> Dear all: >> Did anyone use mpc8379erdb board? I changed nand flash from samsung 32M >> to hynix 1G byte.And the 1G byte nand's erase block size is 256KB. >> Now the problem is: when I use " nand write.jffs2" command to write >> jffs2 filesystems to nand flash ,there is only 128KByte of every erase >> blocks can be writed. >> From the datasheet of the mpc8379e ,"Page size of 2048 main area bytes >> plus 64 spare area bytes (large page devices); >> FCM RAM buffers are 4 Kbytes each; Flash block size of 128 Kbytes." >> Is it means mpc8379e only support 128Kbytes block size? >> Here is the information when I tried to write it : > > It looks like you're talking about u-boot, not Linux; the FCM NAND driver > has not yet been merged. Are you using a Freescale BSP? If so, it's > best to go through official support channels. If you're using patches > that were recently posted, make sure you have all the bugfixes that > recently went into the linux mtd tree. > > -Scott _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded