sunxi: Change default load addresses from 0x50000000 to 0x48000000

0x50000000 is not a valid address on boards which only 256M of RAM
and our standard environment scripts use 0x48000000.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
sunxi: Move SPL_BSS to below 256M DRAM limit

Some boards have only 256MB DRAM, so putting the SPL_BSS at 0x50000000
puts it outside the DRAM, things likely still work because the addresses
just wrap, but that makes the BSS conflict with the boot_params memory,
potentially breaking falcon boot.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
sunxi; Move spl HEAP to DRAM

u-boot does not call mem_malloc_init() until after dram has been setup, so
instead of wasting precious SRAM, simply but the HEAP in DRAM (just below
the BSS segment).

While at it change its size from 2 kB to 512 kB (same size as BSS) as we've
plenty of space in DRAM

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
sunxi: remove READ_TIMER macro

Marek Vasut requested that this be removed during upstream review.

Since the inverting behaviour is a bit subtle I have decided to make this a
function rather than simply inlining the readl() at each of the users.

Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>