Hello, > Meanwhile, to do this we use a small userspace program created by > Javier Martinez in order to flash the MLO in our OMAP3 boards. See > > http://git.isee.biz/?p=pub/scm/writeloader.git;a=summary I tried this with a 3.7 kernel and the following NAND; it does not work for me # ./writeloader -i /boot/u-boot.img -o /dev/mtd1 Error writing ECC in OOB area: Invalid argument nand_do_write_oob() in nand_base.c fails with if ((ops->ooboffs + ops->ooblen) > len) { pr_debug("%s: attempt to write past end of page\n", __func__); return -EINVAL; } ops->ooboffs, ops->ooblen, len is 1536, 64, 64, resp. write_ecc() in writeloader.c does oob.start = (sector_cnt - 1) * SECTOR_SIZE; oob.ptr = oobbuf; oob.length = 64; return ioctl(ofd, MEMWRITEOOB, &oob) != 0; where sector_cnt is 4 this looks weird to me -- any ideas? NAND device: Manufacturer ID: 0x2c, Chip ID: 0xbc (Micron NAND 512MiB 1,8V 16-bit), page size: 2048, OOB size: 64 # ./mtdinfo -a Count of MTD devices: 6 Present MTD devices: mtd0, mtd1, mtd2, mtd3, mtd4, mtd5 Sysfs interface supported: yes mtd0 Name: MLO Type: nand Eraseblock size: 131072 bytes, 128.0 KiB Amount of eraseblocks: 4 (524288 bytes, 512.0 KiB) Minimum input/output unit size: 2048 bytes Sub-page size: 512 bytes OOB size: 64 bytes Character device major/minor: 90:0 Bad blocks are allowed: true Device is writable: true mtd1 Name: u-Boot Type: nand Eraseblock size: 131072 bytes, 128.0 KiB Amount of eraseblocks: 4 (524288 bytes, 512.0 KiB) Minimum input/output unit size: 2048 bytes Sub-page size: 512 bytes OOB size: 64 bytes Character device major/minor: 90:2 Bad blocks are allowed: true Device is writable: true thanks, regards, p. -- Peter Meerwald +43-664-2444418 (mobile) -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html