edison-fw / meta-intel-edison

Here is the meta-intel-edison that builds, tries to stay up to date. Master is based on Yocto Poky Gatesgarth LTS 5.10.yy vanilla kernels. It builds a 32bit kernel (Gatesgarth branch 64bit) with ACPI enabled and corresponding rootfs. Telegram group: https://t.me/IntelEdison Web-site:
https://edison-fw.github.io/meta-intel-edison/
MIT License
60 stars 37 forks source link

tri_state_all line always show 0 with gpioget #109

Closed xlla closed 4 years ago

xlla commented 4 years ago

I first report this issue at here, in backward 6th.

I observed it is always return 0 not just after reboot. even after explicit pull up.

root@edison:~# gpioset gpiochip2 14=1
root@edison:~# gpioget `gpiofind TRI_STATE_ALL`
0

I have an oled screen connected on spi bus, it works fine, after I do a gpioget on TRI_STATE_ALL line, it goes off, need reload acpi ssdt to wake up it.

andy-shev commented 4 years ago

When you get a value, it means that library requests that pin to be input, and driver reads input register state. According to the Edison/Arduino schematic there is a pull down R35 10kOhm which makes it always to be read as '0'. I think you are talking about explicit built-in pull up, which is quite weak (50kOhm or so), you can easily see that you will get a level as 1:6 of the input voltage which is not recognized as '1'.