
In message 456B57F9.9070405@freescale.com you wrote:
The problem is that I don't want to see any such hard-coded sizes. What I want is documented in the (very old!) "System Initialization" section in the README: we may have to configure for a maximum size, but except from that, U-Boot should auto-adjust to different seizes of RAM and flash memory.
If I knew how to auto-adjust, I would have coded it that way. To my knowledge, there is no generic way to query to amount of flash on the system when the code in start.S is being run. The flash configuration code (e.g. flash_init()) is executed much later in the boot process.
Right. that's why we start with preliminary mappings which get adjusted later, when the memory sizes are known. Please see section "System Initialization" in the README.
So one suggested to me a while back that I should just program LBLAWAR1 to 16MB for everyone. But then what do I do if a new system comes out with 32MB of flash? Or more? LBLAWAR1 supports up to 2GB of flash.
I think it is a good idea to have the maximum size configurable.
If the board comes with a different flash size, what will the U-Boot start messages report, and what size will be actually mapped once U-Boot enters interactive mode?
U-Boot will report whatever flash_init() says, which is typically calculated by querying the hardware.
Will the mapping be adjusted as well?
Best regards,
Wolfgang Denk