Hardware Reference
In-Depth Information
Understanding the benefit of cape
EEPROMs
At a glance, the CAT24C256 Electrically Erasable Programmable Read Only Memory
( EEPROM ) doesn't appear to add much value to the board. After all, the BeagleBone has a
2GB eMMC on the early revisions and a 4GB eMMC on revision C. An extra 256 kB of
memory is hardly food scraps for the beagle. However, it serves a greater purpose; it's what
enables automatic cape detection by the BBB.
The BBB has two 46 pin female expansion ports offering much more I/O capabilities than
any other hobbyist board on the market. Certain pins can actually support eight different
modes, mode 0 through mode 7. The mapping of pin features to a mode is known as pin
muxing , short for pin multiplexing. To use a pin in a certain mode, the software must en-
able and configure this pin through the kernel's interface. This can be manually performed
or scripted, but the easiest method is to use a BeagleBone cape.
During the kernel startup, the software will probe the I2C bus looking for cape EEPROMs.
There are four valid addresses for Cape EEPROMs, 0x54 through 0x57. Therefore, the
BBB supports up to four attached capes. The BBB will read the cape EEPROM, which
must be programmed using the format in the BBB System Reference Manual ( SRM ). The
BBB, using a software package called the capemgr , short for Cape Manager , will read the
board name and revision from the Cape EEPROM. It will then try to match the name and
revision to a compiled device tree fragment on your BBB. If there is a match, it will load
that fragment.
Note
The latest production files for the BBB including the schematics and the SRM are located
on the BBB wiki at http://elinux.org/Beagleboard:BeagleBoneBlack .
This automatic configuration provides two benefits. The first is that the pins on the BBB
are automatically configured for a cape. The second is that the device tree can specify the
kernel driver for the hardware on the cape, which means that the drivers for your hardware
can be automatically loaded. The capemgr provides a plug-and-play like experience for
embedded Linux.
If you are developing a BeagleBone cape, you should consider the process to have your
cape supported in the BeagleBone images. This is a three-step process. First, you need to
Search WWH ::




Custom Search