ECE497 SPI Project

Team members: Sean Richardson, Greg Larmore

Executive Summary
For this project we want to further improve documentation available for SPI with the Beagle Bone. In the process of our information gathering we will connect two different product that use SPI, one being an SPI radio interface and the other being a SPI LED strand.

So far there exists documentation for the BeagleBoard/SPI. There also exists other documentation regarding the SPI specifications.

The documentation is lacking for the current Beagle Bone platform interfacing with SPI. Additionally there exists virtually no documentation for using a Beagle device with the LPD8806 LED controller.

In conclusion this project should help the Beagle community in general with information sharing and usable research.

Installation Instructions
The kernel driver for SPI is installed in the latest version of the beagle bone.

We have integrated some code to work with a SPI radio device. The code is located at github.

To get started hook up pins 30 and 11 to SPI Master and SPI clock.

Then echo 0 into both: /sys/kernel/debug/omap_mux/spi1_d1 /sys/kernel/debug/omap_mux/spi1_sclk

to select the pin mux for SPI.

Work Breakdown
So far we have done research on how Linux interfaces with SPI and we have integrated the SPI interface with current code that we have for an SPI radio. We also have explored methods of interfacing the SPI LED strip with a user to create a pleasant experience, such as creating a website to change the colors, or adding a possible twitter reader that would change the lights based on tweets.

Future Work
We want to develop a driver that will interface with SPI and potentially create a sysfs userspace utility for the LED strip.

Conclusions
The SPI interface is not well developed in Linux and can use some work progressing it. We have taken on the task of getting these two devices to work in an easier manner.