Wolfgang Denk wrote:
> The systems I know are the opposite - initially they map more memory
> than they support, then they determine the real size, then they
> adjust the mapping to the real size.

But we don't ever do that, at least not on systems that use SPD.  We query
the DIMMs directly via SPD and calculate how much memory is in the system.

Most of our boards support both SPD and "fixed" DDR programming.  In fixed
mode, the actual values to be programmed in the controller are hard-coded in
the board header file, like this:

#define CONFIG_SYS_DDR_CS0_BNDS         0x0000003F
#define CONFIG_SYS_DDR_CS1_BNDS         0x00000000
#define CONFIG_SYS_DDR_CS0_CONFIG       0x80014202
#define CONFIG_SYS_DDR_CS1_CONFIG       0x00000000
...

So in this case, as long as there's <= 2GB of DDR expected, then
get_ram_size() can work.

But on the P1022DS, I don't support fixed DDR mode.  Only SPD is supported,
so I have no idea at compile-time how much memory is in the system.  That's
why I don't think calling get_ram_size() is appropriate for the P1022DS board.

-- 
Timur Tabi
Linux kernel developer at Freescale
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to