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.


_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs

Reply via email to