Unable to acess GPIO pins after applying device tree overlay.

Hi,

I seem to have a strange problem with my BBB. I am using the device tree overlay given below.

/*

  • Copyright © 2012 Texas Instruments Incorporated -

http://www.ti.com/

  • This program is free software; you can redistribute it and/or modify
  • it under the terms of the GNU General Public License version 2 as
  • published by the Free Software Foundation.

*/

/dts-v1/;

/plugin/;

/ {

compatible = “ti,beaglebone”, “ti,beaglebone-black”;

/* identification */

part-number = “uart5”;

fragment@0 {

target = <&am33xx_pinmux>;

overlay {

pinctrl_uart5: pinctrl_uart5_pins {

pinctrl-single,pins = <

0x070 0x26 /* P9_11 = GPIO0_30 = GPMC_WAIT0 , MODE6 */

0x040 0x07 /*P9_15 48 = GPIO0_16 = Enable pin for RS 485 transciever- output */

0x078 0x2f /interrupt for keyboard i2c P9_12/

0x074 0x06 /* P9_13 = GPIO0_31 = GPMC_WPN, MODE6 */

;

};

};

};

fragment@1{

target = <&uart5>;

overlay {

status = “okay”;

};

};

fragment@2 {

target = <&ocp>;

overlay {

test_helper: helper {

compatible = “bone-pinmux-helper”;

pinctrl-names = “default”;

pinctrl-0 = <&pinctrl_uart5>;

status = “okay”;

};

};

};

};

This enables the uart5 pins on the BBB and two other GPIO pins. I have used this overlay successfully on my previous BBB (which is running quite satisfactorily) so I feel the overlay is quite alright.

After compiling and applying the overlay I find that the gpio pins are not listed in the /sys/class/gpio folder, what is listed is this.

drwxr-xr-x 2 root root 0 Jan 1 00:00 .

drwxr-xr-x 48 root root 0 Jan 1 00:00 …

–w------- 1 root root 4096 Jan 1 00:00 export

lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip0 → …/…/devices/virtual/gpio/gpiochip0

lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip32 → …/…/devices/virtual/gpio/gpiochip32

lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip64 → …/…/devices/virtual/gpio/gpiochip64

lrwxrwxrwx 1 root root 0 Jan 1 00:00 gpiochip96 → …/…/devices/virtual/gpio/gpiochip96

–w------- 1 root root 4096 Jan 1 00:00 unexport

I have re-flashed the BBB but the problem is still the same. I cannot get the GPIO pins. Although the overlay itself is applied successfully. After doing cd /sys/devices/bone_capemgr* and doing cat slots, I get the following list.

0: 54:PF—

1: 55:PF—

2: 56:PF—

3: 57:PF—

4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G

5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI

7: ff:P-O-L Override Board Name,00A0,Override Manuf,enable-uart5

So the overlay is applied correctly.

Could anyone explain why this is happening, is the BBB defective ??

thanks
a

SO i Could be remembering wrongly but doesnt UART5 share pins with hdmi or the eMMC ? if so you need to disable the offender in uEnv.txt . .

Thanks,

I got that working, but now I am having problem getting P9_13 and P9_12 GPIOs. Most times I can export the GPIOs but sometimes I get an error that the GPIO cannot be exported. The problem I believe is mostly in P9_13 (configured as input).

Do you think the problem could be the same as with the UART5 ?? sharing of pins…

thanks
a