On 2019/9/17 下午2:10, Jagan Teki wrote:
SPL sets up SDRAM while in its board_init_f()
function, it is possible for the stack to move
there before board_init_r() is reached.

So it is required to reserve the stack for SDRAM,
with a proper location and size otherwise any
operations during SPL handoff would leads to failure.

On, this particular context tinker-rk3288 SPL is
failing to launch U-Boot proper on SDRAM due to
lack of stack.

If no SPL_STACK_R, it should still use CONFIG_SPL_STACK when system init, right?

It sounds like this should not cause failure if there no one touch the CONFIG_SPL_STACK area.

Thanks,

- Kever


  U-Boot SPL 2019.10-rc3-00297-g5ba8b12543 (Sep 12 2019 - 08:50:36 +0530)
  Trying to boot from MMC1
  spl: mmc init failed with error: -110
  SPL: failed to boot from all boot devices
  ### ERROR ### Please RESET the board ###

So, enable SPL_STACK_R_ADDR and it's related-config
items for SDRAM, SPL stack to setup properly.

Reported-by: Jagan Teki <ja...@amarulasolutions.com>
Signed-off-by: Jagan Teki <ja...@amarulasolutions.com>
---
  configs/tinker-rk3288_defconfig | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/configs/tinker-rk3288_defconfig b/configs/tinker-rk3288_defconfig
index adab1cba42..359be078ac 100644
--- a/configs/tinker-rk3288_defconfig
+++ b/configs/tinker-rk3288_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x01000000
  CONFIG_ROCKCHIP_RK3288=y
  CONFIG_TARGET_TINKER_RK3288=y
  CONFIG_NR_DRAM_BANKS=1
+CONFIG_SPL_STACK_R_ADDR=0x80000
  CONFIG_SPL_SIZE_LIMIT=307200
  CONFIG_DEBUG_UART_BASE=0xff690000
  CONFIG_DEBUG_UART_CLOCK=24000000
@@ -15,6 +16,8 @@ CONFIG_CONSOLE_MUX=y
  CONFIG_DEFAULT_FDT_FILE="rk3288-tinker.dtb"
  # CONFIG_DISPLAY_CPUINFO is not set
  CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x2000
  CONFIG_CMD_GPIO=y
  CONFIG_CMD_GPT=y
  CONFIG_CMD_I2C=y


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to