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?
↧