
Well, it's actually 2 Gig, just like u-boot recognizes above...
There's something wrong with the parameter you're passing to print_size().
I'm guessing its -1 or something like that.
I used the board specific code of the MPC8568MDS and adapted it to our configuration.
The code region of interest here is in mpc8568mds.c:
phys_size_t initdram(int board_type) { long dram_size = 0; ... dram_size = fsl_ddr_sdram(); dram_size = setup_ddr_tlbs(dram_size / 0x100000); ... }
The dram_size parameter is signed and thus gives a value of -1 when having 2 Gig installed (0x80000000).
-1 devided by 0x100000 gives 0xfffff800, which is the 4 PiB when interpreted as unsigned again in setup_ddr_tlbs(...).
The MPC8568MDS has only 256 MB in default configuration, so it shouldn't occur there.
Anyhow, I don't understand, why it worked in u-boot 2009.11.1... :-/
so long... Matthias