[U-Boot] OMAP3630 Falcon Mode Questions
Adam Ford
aford173 at gmail.com
Tue Nov 1 00:40:25 CET 2016
On Mon, Oct 31, 2016 at 6:57 AM, Tom Rini <trini at konsulko.com> 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 <aford173 at gmail.com>
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
More information about the U-Boot
mailing list