Here's the dmesg:
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 10.0-CURRENT #13 r238762:238811M: Thu Jul 26 23:10:37 MDT 2012 email@example.com:/dune/imp/obj/arm.arm/dune/imp/FreeBSD/sys/SAM9260EK arm CPU: ARM926EJ-S rev 5 (ARM9EJ-S core) DC enabled IC enabled WB enabled LABT 8KB/32B 4-way Instruction cache 8KB/32B 4-way write-back-locking-C Data cache real memory = 67108864 (64 MB) avail memory = 61501440 (58 MB) atmelarm0:
at91_pmc0: mem 0xdffffc00-0xdffffcff irq 1 on atmelarm0 at91_pmc0: Primary: 18432000 Hz PLLA: 198 MHz CPU: 198 MHz MCK: 99 MHz at91_wdt0: mem 0xdffffd40-0xdffffd4f irq 1 on atmelarm0 at91_wdt0: Watchdog disabled! (Boot ROM?) at91_rst0: mem 0xdffffd00-0xdffffd0f irq 1 on atmelarm0 at91_rst0: Reset cause: Software Request. at91_pit0: mem 0xdffffd30-0xdffffd39 irq 1 on atmelarm0 Timecounter "AT91SAM9 timer" frequency 6208000 Hz quality 1000 at91_pio0: mem 0xdffff400-0xdffff5ff irq 2 on atmelarm0 at91_pio1: mem 0xdffff600-0xdffff7ff irq 3 on atmelarm0 at91_pio2: mem 0xdffff800-0xdffff9ff irq 4 on atmelarm0 at91_twi0: mem 0xdffac000-0xdffaffff irq 11 on atmelarm0 iicbus0: on at91_twi0 iic0: on iicbus0 icee0: at addr 0xa0 on iicbus0 at91_mci0: mem 0xdffa8000-0xdffabfff irq 9 on atmelarm0 mmc0: on at91_mci0 uart0: mem 0xdffff200-0xdffff3ff irq 1 on atmelarm0 uart0: console (115200,n,8,1) uart1: mem 0xdffb0000-0xdffb3fff irq 6 on atmelarm0 uart2: mem 0xdffb4000-0xdffb7fff irq 7 on atmelarm0 uart3: mem 0xdffb8000-0xdffbbfff irq 8 on atmelarm0 uart4: mem 0xdffd0000-0xdffd3fff irq 23 on atmelarm0 uart5: mem 0xdffd4000-0xdffd7fff irq 24 on atmelarm0 uart6: mem 0xdffd8000-0xdffdbfff irq 25 on atmelarm0 ate0: mem 0xdffc4000-0xdffc7fff irq 21 on atmelarm0 miibus0: on ate0 ukphy0: PHY 0 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ate0: Ethernet address: 3a:1f:34:08:54:54 ohci0: mem 0xdfc00000-0xdfcfffff irq 20 on atmelarm0 usbus0 on ohci0 Timecounters tick every 10.000 msec usbus0: 12Mbps Full Speed USB v1.0 Root mount waiting for: usbus0 ugen0.1: at usbus0 uhub0: on usbus0 uhub0: 2 ports with 2 removable, self powered Root mount waiting for: usbus0 Root mount waiting for: usbus0 ugen0.2: at usbus0 umass0: on usbus0 Trying to mount root from ufs:/dev/da0s1a ... mountroot: waiting for device /dev/da0s1a ... da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: Removable Direct Access SCSI-0 device da0: 1.000MB/s transfers da0: 483MB (990976 512 byte sectors: 64H 32S/T 483C) warning: no time-of-day clock registered, system time will not be set accurately
I'll have to migrate over to booting off the NAND from the Dataflash I'm booting off of now. Having the SD card in the slot during early boot hangs because on this board both the SPI0 dataflash and the MMC are hard wired to the same, well, wires. This means I should get the nand and nandfs stuff working on this board as well, so I can boot off of its 256MB flash.
Plus I need to get back to refactoring. After editing board_sam9260ek.c I can see that I need to extend the AT91RM9200 device stuff I've done to the sam9260 (and sam9g20). But I'm not sure how far I want to go down that path. But we need some way to have a generic pin mux system. Linux has a fine example.
However, I think that many of the issues that I'm running into may be solved by moving to device-tree stuff. Other ARM ports support this now, and Linux is moving that way. Newer Atmel CPUs will have DTS files. All boards supported by Linux appear to be getting DTS files to replace the custom code for each board. It seems that this is a good way to go. AT91RM9200 is the only one that seems to not have dts files, so I may need to write those from scratch.
But the bottom line is that I'm excited. I'd given up hope on this board, and now it is booting. Woo hoo!