[U-Boot] boards/p2041rdb: U-Boot 2013.10 SD Card Booting Issue
Ryan Barnett
rjbarnet at rockwellcollins.com
Thu Oct 24 21:51:33 CEST 2013
I was able to get SD Card booting for P2041RDB working correctly with
U-Boot 2013.07. However, today I was attempting to move to 2013.10, and
I'm having issues booting from the SD Card. Specifically issues with
U-Boot not reading my FMan firmware binary file on the SD Card.
NOTE: all of the following steps works fine with 2013.07 so I'm
wondering what changed to make this error happen.
The FMan binary I'm using is fsl_fman_ucode_p2041_r2.0_106_1_9.bin from
the Freescale FMAN git repo. Below are the commands I used to build
u-boot.
http://git.freescale.com/git/cgit.cgi/ppc/sdk/fm-ucode.git
Commands
----------
make P2041RDB_SDCARD_config
make u-boot.pbl
The commands I used to format my SD Card (granted there is more to my
SD card script than this):
# Partition Overview
# 1 - (Empty) partition since u-boot.pbl is dd to block 8
# 2 - (FAT32) Boot - where the kernel/device tree are located
# 3 - (EXT3) Rootfs
{
echo ,1,0x00,*
echo ,9,0x0C,-
echo ,,0x0C,-
} | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE
Then the commands to load my SD Card using dd:
sudo dd if=u-boot.pbl of=/dev/sdb bs=512 seek=8
sudo dd if=fsl_fman_ucode_p2041_r2.0_106_1_9.bin of=/dev/sdb bs=512
seek=1130
Boot log:
-----------------------------
U-Boot 2013.10 (Oct 23 2013 - 11:23:12)
CPU0: P2041E, Version: 1.1, (0x82180111)
Core: e500mc, Version: 2.2, (0x80230022)
Clock Configuration:
CPU0:1500 MHz, CPU1:1500 MHz, CPU2:1500 MHz, CPU3:1500 MHz,
CCB:750 MHz,
DDR:666.667 MHz (1333.333 MT/s data rate) (Asynchronous),
LBC:93.750 MHz
FMAN1: 583.333 MHz
QMAN: 375 MHz
PME: 375 MHz
L1: D-cache 32 KiB enabled
I-cache 32 KiB enabled
Reset Configuration Word (RCW):
00000000: 12600000 00000000 241c0000 00000000
00000010: 649fa0c1 c3c02000 68000000 40000000
00000020: 00000000 00000000 00000000 d0030f07
00000030: 00000000 00000000 00000000 00000000
Board: P2041RDB, CPLD version: 4.1 vBank: 1
SERDES Reference Clocks: Bank1=100Mhz Bank2=125Mhz
I2C: ready
SPI: ready
DRAM: Initializing....using SPD
Detected UDIMM UG51U6400N8SU-ACF
2 GiB left unmapped
4 GiB (DDR3, 64-bit, CL=9, ECC off)
DDR Chip-Select Interleaving Mode: CS0+CS1
Testing 0x00000000 - 0x7fffffff
Testing 0x80000000 - 0xffffffff
Remap DDR 2 GiB left unmapped
POST memory PASSED
Flash: 128 MiB
L2: 128 KiB enabled
Corenet Platform Cache: 1 MiB enabled
SERDES: bank 3 disabled
SRIO1: disabled
SRIO2: disabled
NAND: 512 MiB
MMC: FSL_SDHC: 0
MMC: block number 0xfffffffe exceeds max(0x0)
Using default environment
EEPROM: Invalid ID (ff ff ff ff)
PCIe1: disabled
PCIe2: Root Complex, no link, regs @ 0xfe201000
PCIe2: Bus 00 - 00
PCIe3: disabled
In: serial
Out: serial
Err: serial
Net: Initializing Fman
MMC read: dev # 0, block # 1130, count 128 ...
MMC: block number 0x4ea exceeds max(0x0)
Fman1: Data at 7fe32a80 is not a firmware
No ethernet found.
Hit any key to stop autoboot: 0
----------------------------------------------
I find it interesting that the block number that it attempts to read is
1258 when the line before that says that it is reading 1130.
Also interesting is this:
MMC: FSL_SDHC: 0
Any help or insight would be useful. I haven't had a chance to dig into
the issue to debug it further as I've revert back to 2013.07 for now. I
will eventually get around to looking into.
Thanks,
-Ryan
------------------------------------------------------------
Ryan J Barnett / Software Engineer / Platform SW
MS 137-157, 855 35th St NE, Cedar Rapids, IA, 52498-3161, US
rjbarnet at rockwellcollins.com
www.rockwellcollins.com
More information about the U-Boot
mailing list