RTEMS | The XQspiPsu NOR driver layer needs improvement (#5054)

Kinsey Moore (@opticron) gitlab at rtems.org
Tue Jun 25 02:10:19 UTC 2024



Kinsey Moore created an issue: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5054

Assignee: Kinsey Moore

## Summary
The XQspiPsu driver for Xilinx platforms is used underneath the NOR layer that was also taken from the Xilinx embeddedsw repository. Unlike the driver, the NOR layer (xqspipsu-flash-helper.c) was not in a state to be used directly and so was imported and significantly modified. Even so, it needs further modification and cleanup since it uses several global variables that need to be handled on a per-instance basis.

Unfortunately, the XQspiPsu driver is directly imported code and so should not be modified to hold data for the NOR layer. This means that the NOR layer's interface needs to be modified to take a configuration/reporting struct that holds the XQspiPsu instance instead of passing that instance in directly for all these function calls.

In addition, only the DMA engine's DONE interrupt is enabled and handled which leaves errors presenting as an infinite hang since the interrupt to signal it never occurs or with !90 it will instead timeout and return an error as the only way to signal a failed transfer. This also needs to be rectified and could be handled by either multiple event types or an error state variable being introduced into the suggested NOR configuration/reporting struct.

It would also be convenient to be able to configure the NOR error timeout which is currently hard-set at 5 seconds.

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5054
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/20240625/ec8b1ef7/attachment.htm>


More information about the bugs mailing list