RTEMS | RTEMS GPIO Clear bug (#5235)

Ryan Simcock (@Ryan) gitlab at rtems.org
Mon Mar 31 12:18:23 UTC 2025



Ryan Simcock created an issue: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5235



## Summary

This bug has been produced on the Beagleboneblack (AM335 chip). When the RTEMS API is used to clear a GPIO pin, all pins which are set, are cleared. I am using the released version of RTEMS 6.1. 

## Steps to reproduce
Environment: Ubuntu 22.04.5 (LTS)
Using the released RTEMS source builder 6.1, I built the toolchain and the BSP for the beagleboneblack (following the user guide).
 
## Expected behaviour
BSP - beagleboneblack
RTEMS 6.1
When the function, rtems_gpio_bsp_clear is called, any GPIO that is currently set, is cleared. This is because mmio_set is being used, when in fact mmio_write is sufficient. mmio_set does a read of the register first and OR's with your wanted pin and writes again. The AM335X_GPIO_CLEARDATAOUT does not work this way, when it is read, it returns the register value of GPIO_DATAOUT (In the datasheet), so it clears all set GPIO pins at that time.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5235
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20250331/3e03e86d/attachment-0001.htm>


More information about the bugs mailing list