ARM: sunxi: Increase maximum physical memory size to 2 GiB

The Allwinner A10 and A20 SoC's can use up to 2 of RAM. The A10,
while theoretically could support 2 GiB, is known to have problems with
its memory controller and can only support 1 GiB. The A20 however seems
to have corrected the memory controller's problems and there is a design
out there supporting 2 GiB's of RAM, the CubieTruck (cubieboard3) for example.
To support these kind of new designs the PHYS_SDRAM_0_SIZE needs to be
extended. To ensure previous memory controls won't get probed beyond the
1 GiB marker, only SUN7I gets probed beyond 1 GiB.

Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
get_ram_size incorrectly returns long, should be unsigned long

One of the parameters that gets passed to the Linux kernel is the
physical continuous RAM size. The type for this datum is phys_size_t
which is hiding its real data type, unsigned long.

get_ram_size however returns long and thus can not only report negative
memory, it also clashes with pyhs_size_t.

This patch converts get_ram_size to take and return unsigned long's over
signed longs.

Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
Update all references to get_ram_size to unsigned long

With the recent change to use unsigned longs over longs for get_ram_size
all references have to be updated. Since the old behavior was broken to
begin with, changes are kept as close to begin with for boards. For
boards where there where no consequences and could be safely converted
from long to unsigned long, those have been changed.

Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
ARM: sunxi: Adapt to the unsigned long change for get_ram_size()

get_ram_size() now properly returns unsigned long. This patch adapts
sunxi to also work with unsigned long's.

Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>