*/
 
 _reset:
+       /*
+        * If the CPU is configured in "Wait JTAG connection mode", the stack
+        * pointer is not configured and is zero. This will cause crash when
+        * trying to push data onto stack right below here. Load the SP and make
+        * it point to the end of OCRAM if the SP is zero.
+        */
+       cmp     sp, #0x00000000
+       ldreq   sp, =CONFIG_SYS_INIT_SP_ADDR
+
        /*
         * Store all registers on old stack pointer, this will allow us later to
         * return to the BootROM and let the BootROM load U-Boot into RAM.
 
        { 0x02, 0x1f, "SSP SPI #1, master, NOR" },
        { 0x03, 0x1f, "SSP SPI #2, master, NOR" },
        { 0x04, 0x1f, "NAND" },
+       { 0x06, 0x1f, "JTAG" },
        { 0x08, 0x1f, "SSP SPI #3, master, EEPROM" },
        { 0x09, 0x1f, "SSP SD/MMC #0" },
        { 0x0a, 0x1f, "SSP SD/MMC #1" },
        { 0x13, 0x1f, "SSP SPI #3, master, 1V8 NOR" },
        { 0x04, 0x1f, "NAND, 3V3" },
        { 0x14, 0x1f, "NAND, 1V8" },
+       { 0x06, 0x1f, "JTAG" },
        { 0x08, 0x1f, "SSP SPI #3, master, 3V3 EEPROM" },
        { 0x18, 0x1f, "SSP SPI #3, master, 1V8 EEPROM" },
        { 0x09, 0x1f, "SSP SD/MMC #0, 3V3" },