accessing P9.13 on Beaglebone AI

I’m trying to configure P9.13 on the Beaglebone AI as an input pull up, but am not having any success. In the System Manual it lists P9.13a as not being bound to a GPIO port, but P9.13b is bound to GPIO6_12. This is the device tree overlay I’m using with line 56 showing how I’m attempting to configure P9.13b (and P9.13a the line above it). Am I doing something wrong in my device tree overlay? I’ve had success configuring many other pins, but P9.13 is giving me trouble for some reason.

I’m testing it a couple ways:

  1. with sysfs
    echo 172 > /sys/class/gpio/export
    cat /sys/class/gpio/gpio172/value

  2. with libgpio
    gpioget gpiochip5 12

Both return a value of 0, when I’d expect it to be 1 (I don’t have anything wired to it). Any idea what I’m doing wrong?

When I manually wire a pull up resistor, I still am not able to detect a high signal using the methods I listed, though I can verify with a multimeter that P9.13 is high.

Some other processors gpio have a mode internal pull ups it’s worth checking for in TRM section on GPIO as well as all modes that pin can be set up for maybe someone’s using it.

According to the spreadsheet that Jason sent some time back, P9.13 does not have the gpio value highlighted in blue but I am not sure what that really means. However, it seems the pins with a gpio value in blue seem to work fine, such as P9.12 (gpio5_0).
https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing

You could check the output of showpins to see what P9.13x is set to:

`

sudo /opt/scripts/device/bone/show-pins.pl |grep “P9.13”
P9.13b 160 AB10 e fast rx gpio6_12
P9.13a 204 C17 e fast down

`

With P9.12 set, it looks as such:

`

sudo /opt/scripts/device/bone/show-pins.pl |grep “P9.12”
P9.12 171 B14 e fast rx gpio5_0

`

Also, I do add this in the .dts file:

`

cape_pins: cape_pins {
compatible = “gpio-leds”;
pinctrl-names = “default”;
gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>,
<&gpio5 0 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&cape_pins_default>;
};

`

Perhaps there is another trick to get P9.13b to work as a GPIO pin.

Cheers,

Jon

Thanks for the suggestions. Here’s what I get when I run show_pins.pl when I use the device tree overlay linked above:
$ sudo /opt/scripts/device/bone/show-pins.pl | grep “P9.13”
P9.13b 160 AB10 e fast rx up gpio6_12
P9.13a 204 C17 f fast rx Driver off

That seems right, but unfortunately I can’t seem to properly read from it. When I take out the line that configures P9.13b from my device tree, it also does what would be expected so it seems like I’m configuring my device tree correctly.
$ sudo /opt/scripts/device/bone/show-pins.pl | grep P9.13
P9.13b 160 AB10 f fast down Driver off
P9.13a 204 C17 f fast rx Driver off

Maybe Jason can chime in here. Why is P9.13b not blue in your spreadsheet? Does that mean it’s not a usable pin?

There is an open issue for the BBAI in reference to adding AB10 GPIO support but states being added with rev. A2 which I thought was the current rev board:
This is also mentioned in the System Reference Manual:
https://github.com/beagleboard/beaglebone-ai/wiki/System-Reference-Manual

HW: P9.13 does not have a GPIO:

https://github.com/beagleboard/beaglebone-ai/issues/22

Perhaps it was not implemented yet?

Cheers,

Jon

There is an open issue for the BBAI in reference to adding AB10 GPIO support but states being added with rev. A2 which I thought was the current rev board:
This is also mentioned in the System Reference Manual:
https://github.com/beagleboard/beaglebone-ai/wiki/System-Reference-Manual

HW: P9.13 does not have a GPIO:

https://github.com/beagleboard/beaglebone-ai/issues/22

Perhaps it was not implemented yet?

Correct. The current revision is A1a. Sorry to jump the gun on adding AB10 to the code–it isn’t on the board.

At one point, I thought A2 would come out a lot faster. I just got updated schematics yesterday for review and it is going into layout.

Gotcha, thanks! I’ll use a different pin.