We have an SD card and NAND on our board. On a virgin board, (NAND not programmed) I program the SD card with a full system and boot and run from it. For production, we boot and run from NAND. To do this I program the NAND while running from the SD card. Since I have linux running, I do all the programming from linux (rather than from u-boot). This includes programming the 4 MLO partitions, u-boot, image, and rootfs. This is easy enough to do using the MTD flash_erase and nandwrite utilities for MLO, u-boot and image, and related ubi- utilties for our ubifs rootfs. This has all been working fine.
My question is, I do not see any examples of programming MLO from linux, but rather what I see always uses u-boot. And some of these examples show concern for setting the ecc correctly for the MLO partitions. Is this something I need to be concerned about? It looks like this may have been an issue with earlier u-boot and/or linux kernels, but I believe u-boot is now using ECC8 by default and that is what we have it set for in linux. So I think we are OK. But I just wanted to check.
Our board is based on the ti-sdk-am335x-evm-05.06.00.00. We have a Micron NAND IC of the same general type as is on the eval board (MT29F4G08ABBDAH4). Our Linux is 3.2.0, and u-boot is 2012.10.
Thanks in advance for any insights.