
Dear Albert ARIBAUD,
In message 4B1A05A9.4040104@free.fr you wrote:
No, this is not correct. get_ram_size() is used always on a single bank of memory only.
Do you mean calling get_ram_size() four up to times based on the configured number of banks and configured sizes? I then fail to see the
Yes, exactly.
added value of get_ram_size() wrt using the configured sizes directly.
The added value is that get_ram_size() will detect (1) a lot of common error situations and (2) will detect the actual size of the respective memory banks.
Assume you have a system where differentt types of memory chips can be fit, or where you can insert memory modules. Then you configure for the largest possible type, and get_ram_size() will detect what's really present, so you can adjust the configuration. See the README for details.
However I realize that this code is actually SoC-specific, not board-specific. It could be moved in cpu/arm926ejs/orion5x/dram.c, and then orion5x_sdram_{bar,bs} could be made static (or inlined).
What do you think?
Seems to make sense.
All right. Does doing that lift the requirement to use get_ram_size()?
I see no reason yet why you would not want to use get_ram_size() - the memory test feature alone is useful enough, even if you never intend to use different RAM sizes.
Best regards,
Wolfgang Denk