On Mon, Oct 31, 2016 at 6:57 AM, Tom Rini <[email protected]> wrote: > On Sat, Oct 29, 2016 at 12:53:27PM -0500, Adam Ford wrote: >> I am trying to utilize Falcon mode on an OMAP3630 (DM3730), but it >> just hangs, and I was hoping someone might find something obvious that >> I missed. I am able to boot from NAND through U-boot, so I know my >> kernel and device tree are OK as are the boot parameters, MLO and >> U-boot. >> >> I have read through the ./doc/README.falcon, and I read through some >> of the am33 docs regarding this, and I think I'm doing it right, but >> I'm obviously missing something. >> >> I have reset my partition structure to: >> device nand0 <omap2-nand.0>, # parts = 6 >> #: name size offset mask_flags >> 0: MLO 0x00080000 0x00000000 0 >> 1: u-boot 0x001c0000 0x00080000 0 >> 2: spl-os 0x00020000 0x00240000 0 >> 3: u-boot-env 0x00020000 0x00260000 0 >> 4: kernel 0x00800000 0x00280000 0 >> 5: fs 0x1f580000 0x00a80000 0 >> >> My defines in the header file are set as follows: >> >> #define CONFIG_CMD_SPL_NAND_OFS 0x240000 >> (matches spl-os offset) >> >> #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000 >> (matches kernel offset) >> >> #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000 >> >> >> #define CONFIG_SYS_TEXT_BASE 0x80100000 >> #define CONFIG_SPL_BSS_START_ADDR 0x80000000 >> #define CONFIG_SPL_BSS_MAX_SIZE (512 << 10) /* 512 KB */ >> #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 >> #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 >> >> >> I build my uImage with LOADADDR=0x80008000 >> >> My bootargs are as follows: >> console=ttyO0,115200n8 ignore_loglevel early_printk no_console_suspend >> root=ubi0:rootfs rw ubi.mtd=fs noinitrd rootfstype=ubifs rootwait >> display=15 ignore_loglevel early_printk no_console_suspend >> mtdparts=omap2-nand.0:512k(MLO),1792k(u-boot),128k(spl-os),128k(u-boot-env),8m(kernel),-(fs) >> >> >> I can load uImage and fdtimage, then with the bootargs set, I run >> >> spl export fdt $loadaddr - $fdtaddr >> >> ## Booting kernel from Legacy Image at 81000000 ... >> Image Name: Linux-4.9.0-rc2-00040-g9fe68ca-d >> Image Type: ARM Linux Kernel Image (uncompressed) >> Data Size: 3869952 Bytes = 3.7 MiB >> Load Address: 80008000 >> Entry Point: 80008000 >> Verifying Checksum ... OK >> ## Flattened Device Tree blob at 86000000 >> Booting using the fdt blob at 0x86000000 >> Loading Kernel Image ... OK >> Loading Device Tree to 8df1f000, end 8df33114 ... OK >> subcommand not supported >> subcommand not supported >> Loading Device Tree to 8df07000, end 8df1e114 ... OK >> Argument image is now in RAM: 0x8df07000 >> >> I then write this blob to my spl-os partition with the following: >> >> nand write 0x8df07000 spl-os 0x20000 >> >> When I eject the SD card and I boot from NAND (attempting) with Falcon >> it just hangs: >> >> U-Boot SPL 2016.11-rc2-00164-g7904673-dirty (Oct 29 2016 - 10:28:32) >> Trying to boot from NAND >> >> Does anyone know if I missed a step somewhere, or do I have something >> configured incorrectly? > > OK, just to be clear, did you test reading the uImage and spl-os back in > U-Boot and booting those? If so and it works, try enabling DEBUG for > SPL and seeing if you get more output.
I can load the uImage and the created spl-os back and it boots fine. I enabled DEBUG, but I had to make a tweak to the printf statement to get the name of Linux to display correctly. Here is my dump: U-Boot SPL 2016.11-rc3-00009-g050adda-dirty (Oct 31 2016 - 18:29:40) Trying to boot from NAND spl: nand - using hw ecc spl: payload image: Linux-4.9.0-rc2-00040-g9fe68ca-d load addr: 0x80007fc0 si ze: 3869936 Jumping to Linux In order to get to "Jumping to Linux" I removed some of the default memory overrides: >From 050addab9986c35822bbe8f677fb8e7b2c4cb2f6 Mon Sep 17 00:00:00 2001 From: Adam Ford <[email protected]> Date: Mon, 31 Oct 2016 18:19:39 -0500 Subject: [PATCH] OMAP3: omap3_logic_defconfig Use the SPL info inherited from the common TI files. diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h index 2dcc729..0bff817 100644 --- a/include/configs/omap3_logic.h +++ b/include/configs/omap3_logic.h @@ -19,14 +19,10 @@ * 1MB into the SDRAM to allow for SPL's bss at the beginning of SDRAM * 64 bytes before this address should be set aside for u-boot.img's * header. That is 0x800FFFC0--0x80100000 should not be used for any - * other needs. We use this rather than the inherited defines from - * ti_armv7_common.h for backwards compatibility. + * other needs. */ -#define CONFIG_SYS_TEXT_BASE 0x80100000 -#define CONFIG_SPL_BSS_START_ADDR 0x80000000 -#define CONFIG_SPL_BSS_MAX_SIZE (512 << 10) /* 512 KB */ -#define CONFIG_SYS_SPL_MALLOC_START 0x80208000 -#define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 +/* #define CONFIG_SYS_TEXT_BASE 0x80100000 */ + #include <configs/ti_omap3_common.h> -- 2.7.4 ~ Unfortunately, it still doesn't work, but it gets further along than it used to. I know I have to be close. Thanks for all your help. adam > -- > Tom _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

