Jumpnow Technologies

home code consulting contact

More FreeBSD on the Gumstix Duovero

05 Nov 2014

Continuing to experiment with FreeBSD and the Duovero, I created the necessary kernel files to define a new DUOVERO machine in FreeBSD.

It’s really just a copy of the PANDABOARD machine at this point, though I did remove the USB ethernet that the Pandaboard uses since that doesn’t exist on the Duovero. The Duovero has a much better GPMC attached LAN 9221 ethernet controller.

I did add i2c2 and uart2 definitions to the duovero.dts. I chose those two devices since they are both exposed on the Duovero Parlor board expansion header and I wanted to try programming them with FreeBSD.

The kernel booted fine with the changes, but when the system reached userland I lost the console. I’m pretty sure this is the Linux equivalent of an inittab setting looking for the wrong terminal now that there are two uarts.

So I removed the UART2 definition temporarily and the system booted fine and I kept console.

The new boot log is here showing a DUOVERO kernel being used.

And here’s the device tree dump

root@duovero:~ # ofwdump -a
Node 0x38:
  Node 0xb0: aliases
  Node 0x100: memory
  Node 0x138: omap4430
    Node 0x19c: interrupt-controller@48241000
    Node 0x240: omap4_prcm@4a306000
    Node 0x29c: pl310@48242000
    Node 0x300: mp_tmr@48240200
    Node 0x398: serial@48020000
    Node 0x418: scm@4a100000
    Node 0x62c: gpio
    Node 0x6dc: ehci
    Node 0x784: i2c@x48070000
    Node 0x7f4: i2c@x48072000
    Node 0x864: sdma@x48070000
    Node 0x8d0: mmc@x4809C000
  Node 0x954: chosen

where you can see the i2c2 controller at i2c@x48072000.

Here is the duovero.dts I used (not showing the removed uart2).

Now I need to go figure out how to point the console at the right uart in userland…