Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

DMA engine always busy, trying to initialize SATA drive

$
0
0

Hi All,

I have a customer who is having trouble initializing a SATA drive on a custom L138 board. Here is what I got from the customer:

"

I'm running vxWorks on a custom l138 board design based closely to the LogicPD eval board.  My code and drivers initialize a SATA drive with no problems using the eval board but the same drive and similar code is failing on the custom design.  I suspect a hardware issue on the new design and I'm trying to narrow down the problem.  On the custom board, a link is always established but I'm getting a watchdog timeout on the first FIS send attempt.  I believe the SATA command list DMA engine is not starting.  The one difference I've identified between the two boards is that the P0CMD register on the eval board shows 0x0004C017 after the ST bit is set (CR is set and FR is set) but on the custom design P0CMD show 0x00044017 after the ST bit is set (FR is set but CR is not set).  My question is: what would keep the command list DMA engine from starting?

At the time when I’m setting the ST bit in P0CMD, the P0TFT reg is reporting 0x80 which I believe indicates the controller is busy.  This busy state activates as soon as I enable the PHY with a drive connected or, after I enable the PHY as soon as I connect a drive.  The busy state never clears.  My question now is what might be causing the controller to always be busy and is there any way for me to clear the state in software?"

 

Any help on this would be greatly appreciated.

 

Thanks

Ian

 

Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>