Pin MUX and other Mode Settings

Hi all,

I know this sort of topic has been discussed at different times, the Kernel, Capemgr and slots files have changed over the time.

uBoot is supposed to manage device tree overlays or something, at it seems that one has to reboot each time you want to change cape overlays.
https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays

I just want to first cover individual pin settings (MUX, pull resistors, input/output etc), and later make my own overlay.

What is the central resource that covers all this?

I’m hoping to find examples and documentation for:

  1. Individual pin control/settings
  2. The current device tree/Cape overlay system & files
  3. How uBoot conrols this, and other options one may do themselves.

There is the config-pin tool which is supposed to help one configure individual pins, where is the documentation and example uses for it?

The PRU is my main target, and I’ve been using TI’s PRU hands on labs, which have been very helpful with RPMSG etc, but now I’m doing LEDs, buttons and IO, so need to configure pins to the external environment.

Thanks,
Fisher

Hi Fisher!

For pinmuxing without limitations and performed from user space (no re-booting) check out libpruio.

Drop rpmsg, it isn’t helpful at all (for real projects and professional development). UIO_PRUSS is the driver to use.

Regards

Thanks Thomas,

I’ll look into your project, I had come across it before, but wanted to first complete the TI hands on labs to get my mind around the basics.

I’ll have a look further, though for basic pin configuration to test code, are the config-pin and gpioinfo commands all one needs?

How does one find out which pin IO files in the /sys/class folder control which pins? The image has changed and older instructions don’t work.

I’ve come across this page:
https://www.elinux.org/EBC_Exercise_41_Pin_Muxing_for_the_AI

Fisher