Google Groups

Auto-Identify expansion boards


Dirk Apr 17, 2009 11:50 AM
Posted in group: BeagleBoard

It seems we get more and more expansion boards connected to Beagle's
expansion connector. Different expansion boards might need different
pin mux and other configuration changes in SW, e.g. in U-Boot and/or
Linux kernel.

 From the discussion at this list and at IRC we learned that
especially the pin mux configuration is confusing again and again. It
would be nice if we could avoid that each expansion board needs its
own U-Boot and Kernel (<= recompilation, x binaries). So best would be
to autodetect if and which expansion board is connected to Beagle and
then configure it automatically by SW. Example is OMAP Linux kernel
multi boot feature based on machine ID or Beagle rev Bx/rev C
detection based on GPIO states.

But for this we need a way to make SW able to detect which expansion
board is connected.

Idea was now to have something like an I2C EEPROM on *each* expansion
board which can be read by SW to get an explicit ID from each board.
This could use Beagle's i2c2 on the expansion connector (Overo could
use i2c3, btw).

What do you think?

If you like this, what do we have to standardize to make this work?

Best regards

Dirk