Request For Comment
===================

In order to make the cape-universal approach to modifying the BeagleBone
I/O setup at runtime via user-land (ie: no kernel driver and no
device-tree overlays or changesets), the bone-pinmux-helper driver needs
to be in control of the pinmux register for each I/O pin.  It is not
currently possible, however, to (easily) set the default pinmux mode for
the bone-pinmux-helper.

Therefore, I have modified the bone-pinmux-helper code to support a
"mode" parameter in the device tree:

https://github.com/cdsteinkuehler/linux/commit/e0e0f1da3f2df4bc4ee2b27a65ee99734bd3fb77

...which allows a device tree fragment to specify the startup default
mode of the pinmux from one of the available choices:

https://github.com/cdsteinkuehler/dtb-rebuilder/commit/b78226fdf0c420dcadf8a606e4795cefbc8c7428

...and a tweaked the config-pin utility supporting the new options:

https://github.com/cdsteinkuehler/beaglebone-universal-io/commit/e742ff15f7abbc2cf80141ea49269eb0a2f2a8b3

This will allow any initial hardware pinmux configuration to be
overridden by user-space code at run-time, making it possible to switch
(for instance) the i2c2 cape EEPROM bus to standard GPIO pins as shown
in this example.

"Takeover" of the i2c2 bus is intended mainly as a proof-of-concept, the
real power of this approach is the ability to do things like enable SPI
or a UART in the boot-time device tree and have the pin muxing correct,
but be able to override the pinmux settings once the system is booted
(perhaps turning an unused RxD line into a useful PWM or similar).  This
also makes it possible to modify the pinmux hardware configuration as
soon as sysfs is available (ie: very early in the system boot stage).
Who wants to write the user-mode version of cape-manager?!?

-- 
Charles Steinkuehler
[email protected]

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to