Jump into full u-boot mode if a 'c' character is received on the uart.

We need to adjust the spl bss/malloc area to not overlap with the
loadaddr of the kernel (sdram + 32k), so move it past u-boot instead.

Signed-off-by: Peter Korsgaard <peter.korsga...@barco.com>
---
 board/ti/am335x/board.c      |    9 +++++++++
 include/configs/am335x_evm.h |   25 +++++++++++++++++++++++--
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
index f4b972b..5efbf3f 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -263,6 +263,15 @@ static struct emif_regs ddr3_evm_emif_reg_data = {
        .zq_config = MT41J512M8RH125_ZQ_CFG,
        .emif_ddr_phy_ctlr_1 = MT41J512M8RH125_EMIF_READ_LATENCY,
 };
+
+#ifdef CONFIG_SPL_OS_BOOT
+int spl_start_uboot(void)
+{
+       /* break into full u-boot on 'c' */
+       return (serial_tstc() && serial_getc() == 'c');
+}
+#endif
+
 #endif
 
 /*
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index 9eada95..26c500a 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -259,13 +259,34 @@
 #define CONFIG_SPL_MAX_SIZE            (101 * 1024)
 #define CONFIG_SPL_STACK               CONFIG_SYS_INIT_SP_ADDR
 
-#define CONFIG_SPL_BSS_START_ADDR      0x80000000
+#define CONFIG_SPL_OS_BOOT
+
+#define CONFIG_SPL_BSS_START_ADDR      0x80a00000
 #define CONFIG_SPL_BSS_MAX_SIZE                0x80000         /* 512 KB */
 
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR        0x300 /* address 
0x60000 */
 #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS     0x200 /* 256 KB */
 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION   1
 #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME       "u-boot.img"
+
+#ifdef CONFIG_SPL_OS_BOOT
+/* fat */
+#define CONFIG_SPL_FAT_LOAD_KERNEL_NAME                "uImage"
+#define CONFIG_SPL_FAT_LOAD_ARGS_NAME          "args"
+#define CONFIG_SYS_SPL_ARGS_ADDR               (PHYS_DRAM_1 + 0x100)
+
+/* raw mmc */
+#define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR        0xa00 /* address 
0xa0000 */
+#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR  0x8   /* address 0x1000 */
+#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS 8     /* 4KB */
+
+/* dummy defines to keep spl_nand.c happy */
+#define CONFIG_CMD_SPL_NAND_OFS                        0
+#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS                0
+#define CONFIG_CMD_SPL_WRITE_SIZE              0
+
+#endif
+
 #define CONFIG_SPL_MMC_SUPPORT
 #define CONFIG_SPL_FAT_SUPPORT
 #define CONFIG_SPL_I2C_SUPPORT
@@ -327,7 +348,7 @@
  * other needs.
  */
 #define CONFIG_SYS_TEXT_BASE           0x80800000
-#define CONFIG_SYS_SPL_MALLOC_START    0x80208000
+#define CONFIG_SYS_SPL_MALLOC_START    0x80a08000
 #define CONFIG_SYS_SPL_MALLOC_SIZE     0x100000
 
 /* Since SPL did pll and ddr initialization for us,
-- 
1.7.10.4

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

Reply via email to