
Dear Eric Nelson,
In message 513CA21E.1040608@boundarydevices.com you wrote:
In this case it should be possible to configure U-Boot for the maximum possible RAM size (2 GB here?), then have get_ram_size() detect the actual available amount, and then adjust settings as needed.
I'm not certain.
The JEDEC spec for the DDR devices we're using have quite different settings in a couple of areas. In particular, the tRFC value is quite different between densities.
Well, of course. Different memory types / sizes will require different initialization. But this you already have in place. Now go the final step and auto-select the configuration instead of having the user (and manufacturer, and service, etc.) all suffer from the pain of always needing to know which exact configuration is needed on some board.
That throws a wrinkle into the whole patch set, since all of this code presumes that we're running from DDR and other calibration data was also gathered based on the actual parts used.
This is wrong then and needs to be fixed. get_ram_size() should be used before relocation into RAM.
Best regards,
Wolfgang Denk