parameters (I still need to check how to tell it via DT but classified that as non-urgent):
seems to be done by
common/fdt_support.c: fdt_fixup_memory_banks()
That function has u64 parameter for start[] and size[]. Maybe U-Boot configures our 4GB RAM with 2 banks but still assumes each one is 1GB size.
Now, the boring part begins: going through code to find out how the parameters are set by the board file...
BR, Nikolaus