I'm working on a 6446-based system, and I have a requirement to be able to reprogram all software on it. I developed a reprogramming capability as an extension to U-Boot, which worked fine on our preproduction boards populated with 2K page flash. Production boards' page size is 4K, and that broke the reprogrammer. When I load UBL & U-Boot via UART, UBL writes the program data, 2K + ECC codes per each 4K page. The ECC codes appear just behind the program data and the remaining 2K and OOB never get touched. This arrangement boots up fine (though it was hard to figure out how, exactly). However, my reprogrammer shares U-Boot's "architecturally correct" view of flash and it will fill the entire 4K page with data, and ECC codes end up in OOB. So now neither RBL or UBL can access these regions. My conclusion is that I will have to somehow fake U-Boot out (only when reprogramming itself or UBL) to treat the flash as a 2K per page part. Any suggestions for a quick, direct way to do this? Thanks!