BBB - using "special" P9.41 as GPIO

I don’t like to admit defeat, but this time I give up…

I am trying to use the BeagleBone Black P9_41 pin as a GPIO (GPIO3_20/GPIO0_20). According to the BeagleBone Black System reference manual two different balls are connected to that pin:
"# Both of these signals connect to pin 41 of P11. Resistors are installed that allow for the GPIO3_20 connection to be removed by removing R221. The intent is to allow the SW to use either of these signals, one or the other, on pin 41. SW should set the unused pin in input mode when using the other pin. This allowed us to get an extra signal out to the expansion header. "

I realize this complicates matters, but I have no choice but to use this exact pin. I am using other pins succesfully. Additionally, I am using overlays to use ttyO1, ttyO2, ttyO4 and ttyO5.
The R221 designator is not correct, so I downloaded the boardfiles and looked at them in Orcad. I tryed desoldered R19 (which disconnects CLKOUT2) as well as R20 (one at a time), but that didn’t help. I resoldered both 0R bridges.

I have created a DTS which compiles succesfully with

After doing

echo 116 > /sys/class/gpio/unexport echo 116 > /sys/class/gpio/export echo out > /sys/class/gpio/gpio116/direction

I can toggle the pin in software:

echo 1 > /sys/class/gpio/gpio116/value


cat /sys/class/gpio/gpio116/value

returns 1 or 0 depending on what value I set it to

However, the voltage of the pin stays at 3.3V.
I’ve also tried to init GPIO20 as well as 116, set them both to low or set one to input and the other output/high. No luck.

I guess I need more than a simple overlay/pinmux config/… to set the pin configuration (and disable CLKOUT2)

There is lots of information on how to create and use them, but no clear explanation on how to do this with current kernels. I’ve gone through Derek Malloys book, but some of his methods seems deprecated with newer kernels.

My (compiling but not functioning) p941test-00A0.dts (based on the TI dts example files):


If you really need extra io pins, use a I2C io expander. much easier than
beating yourself up.

That would be an option where it not for the fact that I have a board that has a peripheral connected to P9_41, so I really need to get that pin to toggle…

Were you able to solve this problem?