Hi,
Using the last Linux PSP 4.02 on a AM3517 from LogicPC (EvalBoard), I'm not able to update the kernel from linux and read it from u-boot on next start.
The kernel is stored linear in a raw partition. I can write / read from u-boot and write/read from kernel, but I can't write from Linux and read back from U-Boot with following instructions.
Update from Kernel
flash_eraseall /dev/mtd4
nandwrite --pad /dev/mtd4 /mnt/uImage
Readiing from U-Boot
nandecc hw 1
HW ECC [Kernel/FS layout] selected
nand read $loadaddr kernel $kernelsize
NAND read: device 0 offset 0x800000, size 0x300000
Error: Bad compare! failed
So, seems to be a OOB / ECC problem.
A dump after writing from kernel
0x000007f0: 15 0f 07 ee 9a 0f 07 ee 0e f0 a0 e1 01 28 a0 e3
OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
OOB Data: ff ff ff ff 04 04 00 fb 04 07 fd 02 07 00 00 00
A dump after writing from u-boot with ecc hw 1
nand dump.oob 800000
Page 00800000 dump:
OOB:
ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff
4d b2 a5 cf cf 66 64 9b
f0 82 82 ff ff ff ff ff
ff ff ff ff ff ff ff ff
The mtd partitions:
PRC # mtdparts
device nand0 <omap2-nand.0>, # parts = 6
#: name size offset mask_flags
0: xloader 0x00080000 0x00000000 0
1: uboot 0x001c0000 0x00080000 0
2: uboot-env 0x00040000 0x00240000 0
3: kernel-ram 0x00580000 0x00280000 0
4: kernel 0x00400000 0x00800000 0
5: rootfs 0x1f400000 0x00c00000 0
active partition: nand0,0 - (xloader) 0x00080000 @ 0x00000000
My questions:
- Am I on the right forum ?
- The U-Boot ECC hw mode 1 should be compatible with the kernel one. Why is this not the case here ?
Regards