Что-то не получается управлять пинами.
У меня нет описания в DT pd20 - прекрастно управляется с
gpioset 0 116=1 или gpioset 0 116=1
Пин встает в "1" или "0".
А вот с пинами PE13 и PE14 какая-то беда. Их так же нет в DT, но вот как работают команды gpioset 0 141=1(0) пин уходит в 3,3 и тут же скатывается в 0,2 В, после set 0 пин из 0,2 уходит в 0В.
пины в системе одинаковы
# gpioinfo gpiochip0 | grep -wE '116|142'
line 116: unnamed unused output active-high
line 141: unnamed unused output active-high
line 142: unnamed unused output active-high
нагрузка одинаковая 20 кОм. Попробовал через sys - работает. Описал в DT, подтянул драйвер led к этим пинам, и управляется через
echo 1 > /sys/class/leds/my_pin
работает. костыль.
в T507 не все пины одинаковые? такой чувство, как будь-то при gpioset пин работает как open drain, а не output
если я опишу пины в DTS, (например как led), rst, int и т.п. и использую их в каком нибудь spi/i2c/uart/led/... пин работает прекрасно в этом spi/i2c/uart/led.... если пин в dts не описывать, то по идее, gpioinfo его показывает как unused и он должен управляться gpioset. Но не управляется.
я пины указал в dts как
compatible = "gpio-leds";
то при использовании gpioset получаю - пин занят, что правильно.
управляю через /sys/class/leds/. Пины PE13, PE14 и PD20 работают. Но если убрать из dts все led-костыли, то пин будет как unused и должен управляться через gpioset.
В таком варианте, у меня PD20 управляется через gpioset, а PE13 и PE14 нет.
дело оказалось в управлении питанием - почему-то при использовании gpioset не включается регулятор питания для порта PE - он там отдельный от других портов (bldo3). Лечится просто - надо дописать в DT своей платы для него выделенный текст чтобы он всегда был включен