Problem with controlling GPIO
Hi.
I have a problem with controlling the LED on the stm32mp135f-dk board.
bash
root@techs:~# gpioinfo -c0
gpiochip0 - 16 lines:
line 0: "PA0" input
line 1: "PA1" input consumer="kernel"
line 2: "PA2" input consumer="kernel"
line 3: "PA3" input
line 4: "PA4" input
line 5: "PA5" input
line 6: "PA6" input consumer="kernel"
line 7: "PA7" input
line 8: "PA8" input
line 9: "PA9" input
line 10: "PA10" input
line 11: "PA11" input
line 12: "PA12" input consumer="kernel"
line 13: "PA13" input active-low bias=pull-up consumer="User-PA13"
line 14: "PA14" output active-low consumer="blue:heartbeat"
line 15: "PA15" input consumer="kernel"
This is the output of gpioinfo command, which shows the information about the GPIO lines on chip gpiochip0. I want to read the value of line PA13 and write a value to line PA14, which are connected to the LED.
However, when I try to read the value of PA13 using gpioget command, I get an error message:
bash
root@techs:~# gpioget PA13
gpioget: unable to request lines: Device or resource busy
This means that some other process or driver is using this line and preventing me from accessing it. I tried to find out which module could be occupying the line using lsmod command, but I got no output:
bash
root@techs:~# lsmod
Module Size Used by
This suggests that the line is used by a module that is compiled into the kernel and not loaded as a separate module.
I have a similar situation when I try to write a value to PA14 using gpioset command:
bash
root@techs:~# gpioset -c0 PA14=0
gpioset: unable to request lines on chip '/dev/gpiochip0': Device or resource busy
Again, this indicates that the line is already used by another process or driver.
How can I find out which process or driver is using these lines and how can I free them for my own use? Is there a way to disable or override the kernel modules that are using them?
Any help would be appreciated.
