u-boot-brain/arch/arm
Sjoerd Simons b1f492ca9e rockchip: Reconfigure the malloc based to point to system memory
When malloc_base initially gets setup in the SPL it is based on the
current (early) stack pointer, which for rockchip is pointing into SRAM.
This means simple memory allocations happen in SRAM space, which is
somewhat unfortunate. Specifically a bounce buffer for the mmc allocated
in SRAM space seems to cause the mmc engine to stall/fail causing
timeouts and a failure to load the main u-boot image.

To resolve this, reconfigure the malloc_base to start at the relocated
stack pointer after DRAM  has been setup.

For reference, things did work fine on rockchip before 596380db was
merged to fix memalign_simple due to a combination of rockchip SDRAM
starting at address 0 and the dw_mmc driver not checking errors from
bounce_buffer_start. As a result, when a bounce buffer needed to be
allocated mem_align simple would fail and return NULL. The mmc driver
ignored the error and happily continued with the bounce buffer address
being set to 0, which just happened to work fine..

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Simon Glass <sjg@chromium.org>
2015-10-03 10:24:33 -06:00
..
cpu Merge branch 'master' of git://www.denx.de/git/u-boot-imx 2015-10-02 09:38:44 -04:00
dts Merge branch 'master' of git://git.denx.de/u-boot-fdt 2015-10-03 10:48:06 -04:00
imx-common vf610: refactor DDRMC code 2015-10-02 10:42:31 +02:00
include Merge branch 'master' of git://www.denx.de/git/u-boot-imx 2015-10-02 09:38:44 -04:00
lib arm: Drop old non-generic-board code 2015-09-28 10:48:24 -04:00
mach-at91 arm: Remove vl_ma2sc board 2015-09-11 17:12:57 -04:00
mach-bcm283x arm/mach-bcm283x/mbox: Flush and invalidate dcache when using fw mailbox 2015-08-12 20:47:42 -04:00
mach-davinci arm: Remove da830evm board 2015-09-28 10:48:23 -04:00
mach-exynos mach-exynos: clock: restore calling dead exynos4_get_mmc_clk() 2015-10-03 14:39:19 +01:00
mach-highbank ARM: highbank: move SoC sources to mach-highbank 2015-02-21 08:23:51 -05:00
mach-integrator integrator: switch to DM serial port 2015-08-12 20:47:49 -04:00
mach-keystone bitops: introduce BIT() definition 2015-09-11 17:15:32 -04:00
mach-kirkwood arm: Remove wireless_space board 2015-09-28 10:48:24 -04:00
mach-mvebu arm: mvebu: timer.c: Explicitly move "init_done" var to data section 2015-10-01 02:00:02 +02:00
mach-orion5x arch: Make board selection choices optional 2015-05-12 18:10:02 -04:00
mach-rockchip rockchip: Reconfigure the malloc based to point to system memory 2015-10-03 10:24:33 -06:00
mach-socfpga arm: socfpga: rename socfpga_cyclone5 and socfpga_arria5 config files 2015-09-23 03:55:28 +02:00
mach-tegra ARM: tegra114: Clear IDDQ when enabling PLLC 2015-09-16 16:11:31 -07:00
mach-uniphier ARM: uniphier: fix init page table for ProXstream2/PH1-LD6b USB boot 2015-09-25 00:59:33 +09:00
mach-versatile arm: Remove versatileab board 2015-09-11 15:01:25 -04:00
mach-zynq bitops: introduce BIT() definition 2015-09-11 17:15:32 -04:00
mvebu-common arm: mvebu: Move mvebu-common into mach-mvebu 2015-05-05 14:28:29 +02:00
config.mk arm: Include the .got section in the binary 2015-05-14 18:49:34 -06:00
Kconfig vf610: add support for Phytec PCM052 2015-10-02 10:42:59 +02:00
Kconfig.debug arm: debug: add Kconfig entries for lowlevel debug 2014-10-26 22:23:12 +01:00
Makefile arm: Remove unused reference to nomadik 2015-09-15 15:05:22 -04:00