[PATCH] BeagleBone Universal Device Tree Overlay

Attached is a patch to add my universal device tree overlay to the
-bone41 kernel source, mostly for Robert Nelson to add to the kernel builds.

If you'd like to play with this, you can find details and the config-pin
helper utility on my github site:


As a reminder, this overlay enables most typically used hardware (things
like PWM and UARTs), and allows user-space run-time control of pin
multiplexing via the pinmux helper kernel module. In addition, there is
a user-space helper utility designed to make pin configuration easy for
those who don't want to mess with kernel GPIO numbers and custom device
tree overlays. This patch provides three overlays:

    Overlay for the eMMC pins, requires the on-board eMMC to be disabled

    Overlay that supports all pins other than eMMC and HDMI
    Requires HDMI audio be disabled, works with the HDMIn "cape"

    Overlay that leaves the audio pins free, so you can use the default
    HDMI "cape" with audio support

As a usage example, assuming you are running a stock BeagleBone Black
with one of RCN's recent 3.8 kernels and have compiled the overlay to
/lib/firmware. The HDMI cape (with audio) is loaded by default, so you
need to load the cape-universaln overlay:

# Install the overlay
sudo su -c "echo cape-universaln > /sys/devices/bone_capemgr.*/slots"

# Setup P9.26 to be UART1 RXD
sudo ./config-pin P9.26 uart

# Setup P9.27 to be a PRU direct input
sudo ./config-pin P9.27 pruin

# Setup P9.28 to be a GPIO pin with pull-up resistor
sudo ./config-pin P9.28 in+

# Report the status of P9.28:
./config-pin -q p9.28

A variety of other syntax is supported, see the README file and the
./config-pin usage for details. Also, the script is forgiving of
various pin naming conventions, so all of the following (and more) are
allowed and considered identical:


Holler if you have any questions!

0001-capes-Add-cape-universal-overlay-files.patch (158 KB)

Sorry for the delay, I was traveling. Answered in another thread.