beaglebone.md: Added documentation for Beaglebone Black
authorMichael Ring <michael.ring@swisscom.com>
Thu, 9 Apr 2015 14:23:37 +0000 (16:23 +0200)
committerBrendan Le Foll <brendan.le.foll@intel.com>
Thu, 9 Apr 2015 15:45:22 +0000 (16:45 +0100)
Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
README.md
docs/beaglebone.md [new file with mode: 0644]
docs/index.md

index cec2769..1454808 100644 (file)
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ ARM
 ---
 * [Raspberry Pi](../master/docs/raspberry_pi.md)
 * [Bannana Pi](../master/docs/banana_pi.md)
-* Beaglebone Black
+* [Beaglebone Black](../master/docs/beaglebone.md)
 
 Installing on your board
 ========
diff --git a/docs/beaglebone.md b/docs/beaglebone.md
new file mode 100644 (file)
index 0000000..cd23bc2
--- /dev/null
@@ -0,0 +1,74 @@
+Beaglebone Black    {#beaglebone}
+================
+
+The Beaglebone Black is a very maker friendly Board with a huge amount of
+available I/O Pins. It consists of an Cortex-A8 single core CPU plus two
+additional microcontroller cores called 'pru' that can be used for realtime
+tasks.
+
+The official Beaglebone Black Image runs Debian on a 3.8.13 Kernel. But there
+are also mainline kernels available, either from Robert C. Nelson or also as
+part of the upcoming Fedora 22 release.
+
+The kernel releases from Robert C. Nelson have usually more complete support as
+not all code is yet commited to mainline kernel, your mileage may vary!
+
+In Kernel 3.8.13 there is a Capemanager included, a mechanism to load
+configuration data for devices and extension boards from userland.
+
+This mechanism does not (yet) exist in Mainline kernels, so for mainline
+kernels you need to either rely on the pre-delivered devicetree's or you will
+need to build your own devicetree to support hardware not available by default.
+
+Revision Support
+----------------
+Beaglebone Black Rev. B
+Beaglebone Black Rev. C
+
+Interface notes
+---------------
+
+**SPI** works fine with 3.8.13 kernels, on Mainline Kernel SPI does currently
+not work. mraa will activate spi on 3.8.13 if it finds out that spi is not yet
+configured
+
+**I2C** works both on 3.8.13 and mainline. i2c is activated if missing for
+3.8.13 kernels
+
+Mainline Kernel requires the use of Device-Trees, mraa tries it's best to guess
+which gpio/serial/i2c/spi is connected where but there is currently no support
+to manipulate the Device-Tree settings from within mraa.  If a device does not
+work as expected then please check syslog, mraa usually complains with a
+meaningful message when it is unable to initialize the device.
+
+It will also tell you which overlay for SPI/COM/I2C/PWM it tries to load, on
+some older Debian distributions (or heaven forbid, on Angström) you may need to
+install thoses overlays to /lib/firmware
+
+Capes and further documentation
+-------------------------------
+
+Correctly configuring i2c/spi/serial can get a little challenging as some pins
+have double functionality or are not available at all because hdmi is enabled.
+When something does not work as expected make sure to first check the syslog,
+then check the Beaglebone documentation. Some pointers for good descriptions
+are:
+
+http://elinux.org/BeagleBone_Black_Enable_SPIDEV
+http://elinux.org/Interfacing_with_I2C_Devices
+
+When working with mainline kernels take every hit you have on google with a
+grain of salt, a lot of documentation is based on 3.8 and older kernels. Using
+mainline kernels can be very rewarding, but at least at time of writing also
+can have some nasty
+pitfalls.
+
+Pin Mapping
+-----------
+
+mraa will take into account if you have hdmi cape or mmc enabled and will show
+you the gpio's available for your given configuration.
+
+To see the pin mapping use the command:
+
+$ sudo mraa-gpio list
index e286792..fd80c22 100644 (file)
@@ -44,6 +44,7 @@ Specific platform information for supported platforms is documented here:
 - @ref minnowmax
 - @ref rasppi
 - @ref bananapi
+- @ref beaglebone
 
 ## DEBUGGING