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.


_______________________________________________
bugs mailing list
bugs@rtems.org
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to