mpc8379e rdb nand flash support
???
yuyongbao at 126.com
Thu Apr 24 11:52:25 EST 2008
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" <scottwood at freescale.com>
Sent: Thursday, April 24, 2008 12:35 AM
To: "???" <yuyongbao at 126.com>
Cc: <linuxppc-embedded at 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
More information about the Linuxppc-embedded
mailing list