Other Parts Discussed in Thread: AM3352, TPS65217
Tool/software:
We have an Octovo AM335X SOC on which we are trying to upgrade the Linux LTS kernel from 5.4 to 6.1. We did some basic testing and found that GPIO functionality was not working properly with 6.1 LTS.
We are unable toggle the GPIO pins
we are unable to access/control hardware such as LEDs which are connected through GPIO pins. we have tried accessing the hardware both through sysfs interface and libgpio interface but we could not.
while using SYSFS interface, we found that values of GPIO pins in SYSFS are changing when we write to the pins (using commands like "echo 1/0 > gpioxxx") but the LEDs are not changing their state.
.
we realized that gpio mapping is changed in the Linux kernel from 5.4.200 to 6.1-LTS, and to accommodate this change, we modified the GPIO mapping in the DTS file by changing "gpio1" to "gpio2" so that the mappings of the gpio pins stay same as they were in 5.4.200 kernel. After making this change we tried access the LED connected to the same gpio chipset (gpio1) but we are not able to get the expected output.
we want to confirm that the new mappings for the gpio pins are correct, also we want to find out if there are any other issues in the 6.1 kernel that are preventing us from accessing the hardware via gpio pins.
In dts four Led`s are mapped to GPIO chipset 1, but after device boot up we saw that this led are mapped to chipset 0.
in dts file :- gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
Below are device logs-
gpiochip0: GPIOs 512-543, parent: platform/4804c000.gpio, gpio-0-31:
gpio-533 ( |beaglebone:green:usr) out lo
gpio-534 ( |beaglebone:green:usr) out lo
gpio-535 ( |beaglebone:green:usr) out hi
gpio-536 ( |beaglebone:green:usr) out lo
gpio-539 ( |enable ) out lo
gpiochip1: GPIOs 544-575, parent: platform/481ac000.gpio, gpio-32-63:
We request your help in resolving this issue. Please do let us know if you need any specific log files.
