Closed medexs closed 10 months ago
This is probably caused by bad GPIO design. Trying to fix it now by using IOBUFs and/or latching the incoming values.
It looks like the bug is not associated with GPIOs at all. Even when all GPIO-related logic was removed, the bug still persisted.
Before reset, everything works correctly, but after reset all writes to GPIODIR_B are somehow "redirected" to GPIODIR_A. Suprisingly, if GPIODIR_B is moved to another "regsel address" (I tried moving it to address 000), it starts to work as expected. I suspect these weird bugs are caused by incorrectly applying reset. I will open another issue that will target reset-releated issues globally. In the related branch I'll only polish some stuff and close this issue.
After reset, the B ports stop working, but A ports still work.