
On 22/02/2012 10:40, Dirk Behme wrote:
You must also fix this issue for V1 in set_imx_hdr_v1() as well, because we do not want default value at all.
Ok, the V1 topic is new.
I can't touch V1 because I don't know anything about it. And I don't have any hardware to test anything V1 related.
It is enough if you add the same check in set_imx_hdr_v1() you want to put in set_imx_hdr_v2().
Even though the V1 code might have a similar issue, it's my understanding that it doesn't hurt there as in V1 there are no flash_offsets != FLASH_OFFSET_STANDARD.
This is not correct. For the MX51, there is a different offset for the onenand device. But there is not a board booting from onenand in mainline.
However, we want that BOOT_FROM is mandatory to avoid confusion. All V1 boards in mainline have BOOT_FROM in their imximage file, so it is enough to test if we can build the boards.
Therefore in V1 the existing code works fine (?). Same as the V2 code before Freescale introduced flash offsets which are not FLASH_OFFSET_STANDARD (== 0x400).
It is the same with both versions - also with V1 there are different offset, but SD / NAND / SPI share the same offset.
I suggest also you do not check with if(imxhdr->flash_offset == 0), in case Freescale will put a SOC without an offset in the future. But it is easy to add a value that is not allowed. If we add something like
FLASH_OFFSET_UNDEFINED = 0xFF
or whatever you want that is not 32-bit aligned, we are on the safest side.
I will look where the correct location might be to add this.
Add it into imximage.h
Best regards, Stefano