NAND_ATMEL strange behavior on at91rm9200 board
张忠山
zzs213 at 126.com
Fri Nov 23 04:17:53 EST 2012
when NAND_ATMEL used on at91rm9200, it's behavior very strange
write to nand have no effect, Read out of nand, the contents
very strange.
So I write some date to nand using u-boot and then start barebox
----------
# md -s/dev/nand0 0+0x400
00000000: ea00000a eafffffe eafffffe eafffffe ................
00000010: eafffffe 0000016c eafffffe eafffffe ....l...........
00000020: 65726162 00786f62 23b00000 00020ea9 barebox....#....
00000030: e10f3000 e3c3301f e38330d3 e129f003 .0...0...0....).
00000040: 00000000 00000000 00000000 00000400 ................
00000050: 00000000 00000000 00000000 00000000 ................
00000060: 00000000 00000000 00000000 00000000 ................
00000070: 00000000 00000000 00000000 00000000 ................
00000080: 00000000 00000000 00000000 00000000 ................
00000090: 00000000 00000000 00000000 00000000 ................
000000a0: 00000000 00000000 00000000 00000000 ................
000000b0: 00000000 00000000 00000000 00000000 ................
000000c0: 00000000 00000000 00000000 00000000 ................
000000d0: 00000000 00000000 00000000 00000000 ................
000000e0: 00000000 00000000 00000000 00000000 ................
000000f0: 00000000 00000000 00000000 00000000 ................
00000100: e1a04000 e50c306f e1a01002 e1a03002 . at ..o0.......0..
00000110: e28ee001 e35e0008 e5843000 1afffffb ......^..0......
00000120: e3e02000 e3a03003 e502306f e3a03e2e . ...0..o0...>..
00000130: e5841000 e502306b e5841000 e502106f ....k0......o...
00000140: 00000000 00000000 00000000 00000000 ................
00000150: 00000000 00000000 00000000 00000000 ................
00000160: 00000000 00000000 00000000 00000000 ................
00000170: 00000000 00000000 00000000 00000000 ................
00000180: 00000000 00000000 00000000 00000004 ................
00000190: 00000000 00000000 00000000 00000000 ................
....
But the datas should be:
00000000: ea00000a eafffffe eafffffe eafffffe ................
00000010: eafffffe 0000016c eafffffe eafffffe ....l...........
00000020: 65726162 00786f62 23b00000 000200fa barebox....#....
00000030: e10f3000 e3c3301f e38330d3 e129f003 .0...0...0....).
00000040: ee113f10 e3c33d8e e3c33005 e3833a01 .?...=...0...:..
00000050: e3833002 ee013f10 e3e02000 e51233cf .0...?... ...3..
00000060: e3130003 1a000039 e59f30e4 e1a01002 ....9....0......
00000070: e50233df e5113397 e3130001 0afffffc .3...3..........
00000080: e3a03000 e501309b e59f30c8 e3e02000 .0...0...0... ..
00000090: e501308f e59f30c0 e50133d7 e5123397 .0...0...3...3..
000000a0: e3130002 0afffffc e3a03c01 e50233cf .........<...3..
000000b0: e59f30a8 e3e0c000 e50233cf e51c3397 .0.......3...3..
000000c0: e3130008 0afffffc e59f3094 e3a02000 .........0... ..
000000d0: e50c378f e50c278b e50c37fb e59f3084 .7...'...7...0..
000000e0: e3a01002 e50c109f e3a00202 e50c3067 ............g0..
000000f0: e3a03004 e50c106f e1a0e002 e5802000 .0..o........ ..
......
It looks like there are 64bytes correct data in every 256 bytes. It's so
strange!!
After study barebox source codes. I found atmel_read_buf use
memcpy_fromio to read. I can't understand it. May be on at91samxxx cpu
it's right.
So I let "nand_chip->read_buf = NULL" to let it use the default read
function.
After this , It's OK
I has no at91sam board, So anybody tell me is this behavior specific to
at91rm9200?
--
Best Regards,
zzs
More information about the barebox
mailing list