Tool/software: Linux
Hello,
I have been using beaglebone for several years, on kernel 3.2.33 and 4.1.10. I have also been using several gpio functions, without problems. Now it has come to a point where I need to enable the internal pull-up for a GPIO configured as input. In 3.2.33 this works flawlessly, and the button connected to the GPIO is read correctly (I have also tried disabling the pull-up and the value is pulled down by the connected circuitry, so the function of the internal pull-up has been verified). In 4.1.10 it seems that no matter the setting of the pin, the pull-up does not seem to have an effect, and the input that used to be read as high because of the pull-up in 3.2.33 is read low in 4.1.10. The pin is configured using a dtb file, and the GPIO is exported using /sys/class/gpio
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pinmux-pins
Pinmux settings per pin
Format: pin (name): mux_owner gpio_owner hog?
...
pin 50 (44e108c8.0): buttons (GPIO UNCLAIMED) function user_buttons_s0 group user_buttons_s0
pin 51 (44e108cc.0): buttons (GPIO UNCLAIMED) function user_buttons_s0 group user_buttons_s0
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
registered pins: 142
...
pin 50 (44e108c8.0) 00000067 pinctrl-single
pin 51 (44e108cc.0) 00000067 pinctrl-single
I have also tried setting the pins as 0x37 just in case, with no difference:
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins
registered pins: 142
...
pin 50 (44e108c8.0) 00000037 pinctrl-single
pin 51 (44e108cc.0) 00000037 pinctrl-single
Any idea what I am doing wrong in 4.1.10?
Thank you.
Best regards,
Nikos