I have just installed the latest u-boot from denx and latest kernel from kernel.org and my mx51evk boots fine.
make imx_v6_v7_defconfig (this is the defconfig for all i.MX of v6 and v7 types, which include mx51)
make uImage LOADADDR=0x90008000 (The 0x90008000 address for mx51 can be verified at arch/mach-imx/Makefile.boot)
This will generate a uImage at arch/arm/boot . Then I copied uImage to /tftpboot so that U-boot can load it via TFTP
This is my bootlog:
U-Boot 2011.12-06915-g290b53f (Feb 07 2012 - 15:18:57)
CPU: Freescale i.MX51 family rev3.0 at 800 MHz
Reset cause: POR
Board: MX51EVK
DRAM: 512 MiB
WARNING: Caches not enabled
MMC: FSL_SDHC: 0, FSL_SDHC: 1
In: serial
Out: serial
Err: serial
Net: FEC
Warning: failed to set MAC address
Hit any key to stop autoboot: 0
** Partition 2 not valid on device 0 **
** Unable to use mmc 0:2 for fatload **
** Partition 2 not valid on device 0 **
** Unable to use mmc 0:2 for fatload **
Using FEC device
TFTP from server 192.168.1.100; our IP address is 192.168.1.101
Filename 'uImage'.
Load address: 0x90800000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
############################################################
done
Bytes transferred = 2965656 (2d4098 hex)
## Booting kernel from Legacy Image at 90800000 ...
Image Name: Linux-3.3.0-rc2+
Created: 2012-02-07 17:26:06 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2965592 Bytes = 2.8 MiB
Load Address: 90008000
Entry Point: 90008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.3.0-rc2+ (fabio@fabio-Latitude-E6410) (gcc version 4.4.4 (4.4.42
CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale MX51 Babbage Board
Memory policy: ECC disabled, Data cache writeback
PERCPU: Embedded 7 pages/cpu @809a2000 s4928 r8192 d15552 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/nfs ip=dhcp nfsroot=192.1p
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 513992k/513992k available, 10296k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xa0800000 - 0xff000000 (1512 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.text : 0x80008000 - 0x804d3000 (4908 kB)
.init : 0x804d3000 - 0x80509340 ( 217 kB)
.data : 0x8050a000 - 0x80549fc0 ( 256 kB)
.bss : 0x80549fe4 - 0x8059dc34 ( 336 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:436
TrustZone Interrupt Controller (TZIC) initialized
CPU identified as i.MX51, silicon rev 3.0
sched_clock: 32 bits at 66MHz, resolution 15ns, wraps every 64585ms
Console: colour dummy device 80x30
Calibrating delay loop... 795.44 BogoMIPS (lpj=3977216)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket -1, mpidr 0
Setting up static identity map for 0x903ca8e8 - 0x903ca958
Brought up 1 CPUs
SMP: Total of 1 processors activated (795.44 BogoMIPS).
devtmpfs: initialized
print_constraints: dummy:
NET: Registered protocol family 16
gpiochip_add: registered GPIOs 0 to 31 on device: imx31-gpio.0
gpiochip_add: registered GPIOs 32 to 63 on device: imx31-gpio.1
gpiochip_add: registered GPIOs 64 to 95 on device: imx31-gpio.2
gpiochip_add: registered GPIOs 96 to 127 on device: imx31-gpio.3
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
fuse init (API version 7.18)
msgmni has been set to 1003
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-sdma imx35-sdma: initialized
Serial: IMX driver
imx21-uart.0: ttymxc0 at MMIO 0x73fbc000 (irq = 31) is a IMX
console [ttymxc0] enabled
imx21-uart.1: ttymxc1 at MMIO 0x73fc0000 (irq = 32) is a IMX
imx21-uart.2: ttymxc2 at MMIO 0x7000c000 (irq = 33) is a IMX
brd: module loaded
loop: module loaded
spi_imx imx51-ecspi.0: probed
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
mxc-ehci mxc-ehci.1: initializing i.MX USB Controller
mxc-ehci mxc-ehci.1: Freescale On-Chip EHCI Host Controller
mxc-ehci mxc-ehci.1: new USB bus registered, assigned bus number 1
mxc-ehci mxc-ehci.1: irq 14, io mem 0x73f80200
mxc-ehci mxc-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: no vmmc regulator found
mmc0: SDHCI controller on sdhci-esdhc-imx51.0 [sdhci-esdhc-imx51.0] using DMA
mmc1: no vmmc regulator found
mmc1: SDHCI controller on sdhci-esdhc-imx51.1 [sdhci-esdhc-imx51.1] using DMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
Registering the dns_resolver key type
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
input: gpio-keys as /devices/platform/gpio-keys/input/input0
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=imx27-fec-1:00, )
ADDRCONF(NETDEV_UP): eth0: link is not ready
mmc0: new high speed SDHC card at address 8551
mmcblk0: mmc0:8551 SD08G 7.40 GiB
mmcblk0: p1
usb 1-1: new high-speed USB device number 2 using mxc-ehci
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 7 ports detected
PHY: imx27-fec-1:00 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 192.168.1.1, my address is 192.168.1.101
IP-Config: Complete:
device=eth0, addr=192.168.1.101, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.101, domain=cps.virtua.com.br, nis-domain=(none),
bootserver=192.168.1.1, rootserver=192.168.1.100, rootpath=
usb 1-1.6: new high-speed USB device number 3 using mxc-ehci
scsi0 : usb-storage 1-1.6:1.0
scsi 0:0:0:0: Direct-Access USB TO I DE/SATA Device 0009 PQ: 0 ANSI: 0
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Asking for cache data failed
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled
sd 0:0:0:0: [sda] Asking for cache data failed
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI disk
usb 1-1.1: new high-speed USB device number 4 using mxc-ehci
usb-storage 1-1.1:1.0: Quirks match for vid 0457 pid 0151: 80
scsi1 : usb-storage 1-1.1:1.0
scsi 1:0:0:0: Direct-Access Ut163 USB2FlashStorage 0.00 PQ: 0 ANSI: 2
sd 1:0:0:0: [sdb] 248000 512-byte logical blocks: (126 MB/121 MiB)
sd 1:0:0:0: [sdb] Write Protect is off
sd 1:0:0:0: [sdb] Asking for cache data failed
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sd 1:0:0:0: [sdb] Asking for cache data failed
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 1:0:0:0: [sdb] Asking for cache data failed
sd 1:0:0:0: [sdb] Assuming drive cache: write through
sd 1:0:0:0: [sdb] Attached SCSI removable disk