Search

Technical Discussion Group Forum

This forum is provided for user discussion. While Beacon EmbeddedWorks support staff and engineers participate, Beacon EmbeddedWorks does not guarantee the accuracy of all information within in the Technical Discussion Group (TDG).

The "Articles" forums provide brief Articles written by Beacon EmbeddedWorks engineers that address the most frequently asked technical questions.

To receive email notifications when updates are posted for a Beacon EmbeddedWorks product download, please subscribe to the TDG Forum of interest.

TDG Forum

PrevPrev Go to previous topic
NextNext Go to next topic
Last Post 18 Jul 2006 02:11 PM by  Anonymous
5485 PCI failure
 6 Replies
Sort:
You are not authorized to post a reply.
Author Messages
kamilgrig
New Member
New Member
Posts:


--
17 Jul 2006 09:13 AM
    Hi,

    We are using Zoom CDK MCF5485 board together with Freescale’s Linux Board Support Package ltib-mcf547x_8x-20051213.iso, based on kernel 2.6.10.
    Our project is actually in final stage, but we faced a problem with PCI communication. Our device makes reading information from PCI our device and transferring it through TCP/IP to host PC.
    The handshaking with PCI device is very simple. As soon as new device’s buffer is ready, the device pulls interrupt line down. We are using IRQ7 line for this purpose. When interrupt occurred, the interrupt routine reads information from PCI device, puts it into TCP/IP buffer and clears dedicated acknowledgement bit in PCI device. After that PCI device pulls the line up. This is repeating continuously.
    The problem occurred when the transfer made with high speed. Probably it can be observed with lower speed as well, we just need to wait it long time.
    The problem description:
    After arbitrary number of interrupts (say 1000, 10000, 50000, 100000, etc.) reading/writing from/to PCI device fails. We observed relevant signals on oscilloscope. The interrupt routine writes word to PCI (clears acknowledgement bit), however the line is not going up, i.e. the PCI device didn’t receive it. As a result, when interrupt routine exits, the line is still low. Since the interrupt is level-sensitive, it called immediately again. And again, the routine trying to acknowledge PCI device by writing the appropriate word, but it’s vain. This is repeating continuously and of course the system is actually hanged up, because all processors time is captured by persistent interrupt service.
    Since the PCI device could release the line too late, I tried to put delay on interrupt routine exits. It doesn’t resolve the problem.
    I checked what the interrupt routine reading from PCI device, when it’s happening. Instead of ‘normal’ words, it reads only ‘FFFFFFFF’.
    So, we are highly puzzled, what is the reason of the problem. It’s happening only if we do both transfers, through PCI and TCP/IP, simultaneously. I tried to bypass transfer via TCP/IP and system runs fine.
    I tried two different Linux Board Support packages (LTIB and PCS), but the system’s behavior is the same.
    May be this is already known issue? Bug in chip or in FireEngine board? Any known fixes/workaround?
    Could you please help us figure out the problem?
    Anonymous
    Posts:


    --
    17 Jul 2006 10:06 AM
    Hello,

    I think the best place to start looking would be the errata for the 5485 FireEngine. There are numerous references to PCI issues in it which might be related to what you're seeing.

    http://www.freescale.com/...errata/MCF5485DE.pdf

    Have you tried contacting Freescale for information on this? If memory serves me the PCI issues that I'm aware of were due to a problem in early versions of the silicon. Their support department might have more detail.

    What part number and revision FireEngine do you have?

    Thanks,
    kamil
    New Member
    New Member
    Posts:


    --
    17 Jul 2006 11:33 AM
    Yes, I have submitted appropriate request to FreeScale and still waiting for their response. However, I also hope to get some info here.
    My fire engine board code is 450.

    Thanks!
    kamil
    New Member
    New Member
    Posts:


    --
    17 Jul 2006 11:34 AM
    Sorry, I forgot about fire engine revision number:

    80000294, rev. B
    Anonymous
    Posts:


    --
    17 Jul 2006 03:54 PM
    How long ago did you purchase your kit? Was it given to you by Freescale?

    Also if you can forward your ticket that you have in with Freescale to platformsupport@logicpd.com I can ping one of my contacts at TIC to see where they're at on it for you.

    Cheers,
    kamil
    New Member
    New Member
    Posts:


    --
    18 Jul 2006 08:20 AM
    The kit was purchased in September 5, 2005. Vendor: Arrow Electronics.
    The processor code is QAA0450. The board's type: M5485CFE.
    I have submitted service request in Freescale's web-site. The SR number is 1-304182819.

    Thanks for your help!
    Anonymous
    Posts:


    --
    18 Jul 2006 02:11 PM
    I have emailed Freescale as well with your ticket number.

    Have you been able to make any headway working through the errata?
    You are not authorized to post a reply.