Table of Contents

FreeBSD/arm port to BeagleBoard-xM

Student

AleksanderDutkowski

Mentor

RafalJaworowski

Project description

I want to port FreeBSD/arm to BeagleBoard-xM platform. This board is based on OMAP3 arm chip, which is not supported right now by FreeBSD. Besides implementing SoC support, I will write and adapt support for peripherals: USB host, ethernet, microSD. If time permits I will write support for audio and DVI device. After my project, FreeBSD will be able to boot on BeagleBoard-xM and read rootfs from either USB memory stick or microSD card. Additionally, audio playing/recording and using LCD screen instead of rs232 will be possible.

After my project, porting other OMAP3-based boards will be much easier and faster. This includes regular BeagleBoard support also.

Approach to solving the problem

My working environment for running kernel includes openocd with jtag adapter and gdb and BeagleBoard-xM. The port will be based on existing ti/BeagleBone code and some snippets of BeagleBoard code, done by Ben Gray.

Deliverables

Milestones

core kernel is booting (without any peripherals, mounting the compiled-in memory disc) done
SoC's internal device drivers (i2c, gptimer) are written done
MMC/sd driver is writen - BB-xM is booting from SD card done
EHCI USB driver is working done after GSoC (14.10.2012)
dvi driver - console on external screen not done

Things to do after the GSoC

Test Plan

USB

USB on BB is working since revision 242720. I have tested it with couple of USB devices I had in my drawer:

profilic 2303 based usb-rs232 converter works
Logitech wireless mouse works (cat /dev/mouse | hexdump)
some random camera detected but no module
smsc3320 ethernet works

The Code

https://socsvn.freebsd.org/socsvn/soc2012/aleek/

http://beagleboard.org

#beagle@freenode - BeagleBoard channel

#bsdmips@efnet - The IRC channel for FreeBSD on ARM, MIPS, and PowerPC