I am using a A20 based Olimex Micro A20 as a development board with openwrt 18.0.6. I face a strange issue that some of GPIO works perfectly others will accept the commands to set as out put and set value High or Low but physically the output will not change. I have a previous built image based on lede17.0.1 and in that all these GPIOs work fine.
when I issue cat /sys/kernel/debug/gpio
This is the result
gpiochip0: GPIOs 0-287, parent: platform/1c20800.pinctrl, 1c20800.pinctrl:
gpio-35 ( |sysfs ) in lo
gpio-36 ( |sysfs ) in lo
gpio-40 ( |ahci-5v ) out lo
gpio-41 ( |usb0-vbus ) out hi
gpio-80 ( |sysfs ) out lo
gpio-81 ( |sysfs ) out lo
gpio-82 ( |sysfs ) out lo
gpio-87 ( |sysfs ) out lo
gpio-96 ( |sysfs ) in hi
gpio-97 ( |sysfs ) in hi
gpio-98 ( |sysfs ) in hi
gpio-99 ( |sysfs ) in hi
gpio-100 ( |sysfs ) in hi
gpio-101 ( |sysfs ) in hi
gpio-102 ( |sysfs ) in hi
gpio-103 ( |sysfs ) in hi
gpio-104 ( |sysfs ) in hi
gpio-105 ( |sysfs ) in hi
gpio-106 ( |sysfs ) in hi
gpio-107 ( |sysfs ) in hi
gpio-108 ( |sysfs ) in hi
gpio-109 ( |sysfs ) in hi
gpio-110 ( |sysfs ) in hi
gpio-111 ( |sysfs ) in hi
gpio-113 ( |sysfs ) out hi
gpio-114 ( |sysfs ) out lo
gpio-115 ( |sysfs ) out hi
gpio-117 ( |sysfs ) out lo
gpio-128 ( |sysfs ) out lo
gpio-129 ( |sysfs ) out hi
gpio-130 ( |sysfs ) out lo
gpio-132 ( |sysfs ) out lo
gpio-133 ( |sysfs ) out lo
gpio-134 ( |sysfs ) out lo
gpio-135 ( |sysfs ) out lo
gpio-136 ( |sysfs ) out lo
gpio-137 ( |sysfs ) out lo
gpio-138 ( |sysfs ) out lo
gpio-139 ( |sysfs ) out lo
gpio-202 ( |sysfs ) in hi
gpio-203 ( |sysfs ) in hi
gpio-225 ( |cd ) in lo IRQ
gpio-226 ( |a20-olinuxino-micro:) out lo
gpio-227 ( |usb2-vbus ) out hi
gpio-230 ( |usb1-vbus ) out hi
gpio-231 ( |sysfs ) out lo
gpio-235 ( |cd ) in hi IRQ
gpio-256 ( |sysfs ) out hi
gpio-257 ( |sysfs ) out lo
gpio-258 ( |sysfs ) out hi
gpio-259 ( |sysfs ) out hi
gpio-266 ( |sysfs ) out lo
gpio-267 ( |sysfs ) out lo
gpio-270 ( |sysfs ) out hi
gpio-271 ( |sysfs ) out hi
gpio-273 ( |sysfs ) out hi
gpio-275 ( |sysfs ) out hi
In this case gpio257 for example would work properly while gpio138 will accept all the commands but physically the output will be same
ls /sys/class/gpio/
export gpio109/ gpio128/ gpio139/ gpio270/ gpio96/
gpio100/ gpio110/ gpio129/ gpio202/ gpio271/ gpio97/
gpio101/ gpio111/ gpio130/ gpio203/ gpio273/ gpio98/
gpio102/ gpio113/ gpio132/ gpio231/ gpio275/ gpio99/
gpio103/ gpio114/ gpio133/ gpio256/ gpio35/ gpiochip0/
gpio104/ gpio115/ gpio134/ gpio257/ gpio36/ gpiochip413/
gpio105/ gpio116/ gpio135/ gpio258/ gpio80/ unexport
gpio106/ gpio117/ gpio136/ gpio259/ gpio81/
gpio107/ gpio118/ gpio137/ gpio266/ gpio82/
gpio108/ gpio119/ gpio138/ gpio267/ gpio87/
How can I solve this issue .
There are several such GPIO at least 8 -9 that I have encountered