[U-Boot] OMAP3630 Falcon Mode Questions

Adam Ford aford173 at gmail.com
Sat Oct 29 19:53:27 CEST 2016


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?

I don't think it's an ECC issue, because I can boot to and read/write
from the UBI partition from Linux going through U-boot.

adam


More information about the U-Boot mailing list