New MPC5200 Eratta/ATA Bugs

Stephen Warren SWarren at nvidia.com
Tue Apr 26 08:13:54 EST 2005


From: Eric N. Johnson (ACD) [mailto:ejohnson at acdstar.com] 
> At 02:35 PM 4/25/2005, Stephen Warren wrote:
> >Freescale have been working with us on a board work-around for the
> >problem. This basically involves deriving a substitute ATA_ISOLATION
> >signal from the regular ATA control signals, in some cases.
> 
> Are you able to share the circuit they've recommended?  Is it as
simple as:
>    ISOLATION = ((ATA_CS1 or ATA_IOR) and (ATA_CS0 or ATA_IOR))
> 
> This seems like it would be in violation of the setup and hold time 
> requirements for the data bus.

This was suggested:

>>> 2. ... beleives that to fix the ATA_ISOLATION with logic would be
>>>  something like this:
>>>  ATA_ISOLATION_TO_BUFFERS = MPC's_ATA_ISOLATION or (GPIO_UDMA and
ATA_DMA_ACK#) 

The idea is that the errata only causes a problem for UDMA (not MDMA or
PIO). So, the kernel is modified to set a GPIO whenever UDMA is in
progress. This triggers the external logic to use ATA_DMA_ACK# to
trigger the bus drivers. ATA_DMA_ACK# is the signal that means an actual
DMA data transfer is in progress.

That said, various people are in the process of trying the above logic,
and the more explicit:

ATA_ISOLATION_TO_BUFFERS = \
    (~GPIO_UDMA and MPC's_ATA_ISOLATION) | \
    (GPIO_UDMA and ATA_DMA_ACK#)

(possibly with the extra ~'s in there to fix high v.s. low true...)

And neither of these approaches actually works for us.

If I recall correctly, one of the other errata means MDMA can't work
either...

> I've been told there's a new silicon revision of the MPC5200 due
sometime 
> later in the year, but the date keeps getting pushed back.

We were told this too. Sounds like maybe sometime in the middle of the
year at the earliest.

-- 
Stephen Warren, Software Engineer, NVIDIA, Fort Collins, CO
swarren at nvidia.com        http://www.nvidia.com/
swarren at wwwdotorg.org     http://www.wwwdotorg.org/pgp.html



More information about the Linuxppc-embedded mailing list