Unable to use P9.17 (GPIO0[5]) and P9.18 (GPIO0[4]) as GPIO ports.

I am using the beaglebone black with the arch-linux environment booting from SD card.
I want to use the pins P9.17 and P9.18 as GPIO. These pins correspond to PIN number 86 and 87.

When i export these pins using:

`
echo 86 > /sys/class/gpio/export
echo 87 > /sys/class/gpio/export

`

When using these pins as input i always get a 0 back even when i attach a high signal on the pin.

`
cat /sys/class/gpio/gpio86/value
0
cat /sys/class/gpio/gpio87/value
0

`

I checked the pin mux status by:

`
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins


pin 82 (44e10948.0): 4a101000.mdio (GPIO UNCLAIMED) function davinci_mdio_default group davinci_mdio_default
pin 83 (44e1094c.0): 4a101000.mdio (GPIO UNCLAIMED) function davinci_mdio_default group davinci_mdio_default
pin 84 (44e10950.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 85 (44e10954.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 86 (44e10958.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 87 (44e1095c.0): (MUX UNCLAIMED) (GPIO UNCLAIMED)
pin 88 (44e10960.0): 48060000.mmc (GPIO UNCLAIMED) function pinmux_mmc1_pins group pinmux_mmc1_pins

`

So pin 86 and 87 should be free and useable by GPIO.
What is interfering with these pins?

Did you ever get this to work? I’m also finding that P9.17/18 do aren’t controllable (although I think they are GPIO0_4/5 and thus PIN 4/5).

Regards,
Hunter

I used a custom board. I ended up with changing the device tree. This can be found in the kernel source: am335x-bone-common.dtsi
The io’s became usable by changing the default muxmode to 7 (GPIO).

&am33xx_pinmux {
pinctrl-names = “default”;
pinctrl-0 = <&gpio_pins>;

gpio_pins: gpio_pins {
pinctrl-single,pins = <
0x0E4 (PIN_INPUT_PULLUP | MUX_MODE7) /* LCD_HSYNC to GPIO2_23 for TP21 /
0x0E8 (PIN_INPUT_PULLUP | MUX_MODE7) /
LCD_PCLK to GPIO2_24 for TP19 */

;
};

Then compile the device tree and put it on the image.