• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Digital Signal Processors (DSP) » C6000 Multicore DSP » Keystone Multicore Forum (C66, 66A, AM5) » Skipping PCIe link training steps
Share
C6000 Multicore DSP
  • Forums
  • Announcements
Options
  • Subscribe via RSS
Training Available
TI provides self-paced online training that introduces the primary components of the KeyStone II family of SoC devices.

  • KeyStone II SoC Overview >
  • KeyStone II Software Overview >
  • KeyStone II ARM Cortex-A15 Corepac Overview >
  • More Information >
  • Check out
    Multicore Mix blog
    • $core_v2_blog.Current.Name

      Geeks UNITE for Geek Pride Day

      Posted 1 day ago
      by Lauren Reed1
      Happy Geek Pride Day from the Processors team! We wanted to celebrate...
    • $core_v2_blog.Current.Name

      OpenMP - All aboard!

      Posted 3 days ago
      by Debbie Greenstreet
      With so many end products today relying on multicore DSPs for...
    • $core_v2_blog.Current.Name

      A look back: Two years of Multicore Mix

      Posted 4 days ago
      by Lauren Reed1
      A big thank you to everyone who participated in our contest last...

    Forums

    Skipping PCIe link training steps

    This question is not answered
    Andrew Giusti
    Posted by Andrew Giusti
    on Aug 02 2012 12:24 PM
    Intellectual370 points

    We have a working PCIe example using the C6678 EVM and an FPGA EVM connected through a custom PCIe backplane.  Link training works fine, and we are able to write / read data to / from the FPGA from the DSP.

    We are now trying to run the same example over a fiber optic PCIe link (Finisar Laserwire).  We have two of custom PCIe backplanes (both verified) - one with the DSP EVM and a Laserwire adaptor board, the other with the FPGA EVM and a Laserwire adaptor board.

    With this setup, the DSP never gets past the DETECT_QUIET ltssm value during link training. 

    Is there a way to force the DSP's PCIe state machine past the DETECT_QUITE state? 

    Any trouble-shooting suggestions will be greatly appreciated.

     

    ~ Andrew.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Steven Ji
      Posted by Steven Ji
      on Aug 02 2012 16:51 PM
      Expert8595 points

      Andrew,

      1. As you said, the two PCIe backplanes are verified, what about the two Laserwire adapters and the Laserwire link between them?

      Do they have the good signal quality over the Laserwire link please?

      2. Have you checked the PCIe reference clocks provided to both DSP EVM and FPGA please?

      Do they have good quality (and same frequency) on those two separate backplanes?

      I think you verified the DSP and FPGA are working in the single backplane testing. Then any new components in the two backplanes testing will be in question first.

      Hope it helps.

      Sincerely,

      Steven

      ------------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Ronning
      Posted by Joel Ronning
      on Aug 02 2012 18:17 PM
      Prodigy60 points

      Steven,

      I work with Andrew. All the hardware is verified without the LaserWire link and hardware, less the LaserWire, is verified with the LaserWire link, i.e. PCIe referenc clocks. I believe we started with your software example. The problem we are having specifically is that the DSP PCIe controller sends out a pulse on both TX+ and TX-. It is looking for a path back to common mode and I do not believe the LaserWire is satisfying that so link negotiation fails here and retries. We have compared scope traces on TX+ & TX- with end-point removed, FPGA eval board as end-point installed, and LaserWire installed.  The LaserWire appears as an open termination to the DSP PCIe controller.  With the PCIe connected electrically, link negotiation performs this pulse once, is satisified, and moves on to the next state. We have verified the LaserWire physically works by temporarily running the PCIe clock over it.  The DSP PCIe controller does not detect the LaserWire, which its specs state has a 100 Ohm termination and supports PCIe.  The problem I fear is that the LaserWire does not have a balanced termination back to ground - the required PCIe common mode termination.

      So I have tried to justify "why" we want to do the following as I don't believe the LaserWire is ever going to satisfy the detect test.

      We are hoping that there is some way we can tell the DSP PCIe controller to assume that a valid receiver exists and force it to bypass this first step, receiver detection, in link negotiation as we are confident the LaserWire will carry data, but we have no way to verify this without bypassing receiver detection.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Steven Ji
      Posted by Steven Ji
      on Aug 03 2012 09:46 AM
      Expert8595 points

      Joel,

      I see your point. The normal link training states of PCIe are Detect -> Polling -> Configuration -> L0 (normal operation).

      If you would like to skip the first "Detect" step and move forward, you can give a try on one register in C66x PCIe module as PL_FORCE_LINK (0x21801708). There is one "FORCE_LINK" field to force the link to the state specified by "LINK_STATE" field.

      Based on the LTSSM States table in Appendix. A of C66x PCIe user guide, the POLL_ACTIVE state is coded as 0x02. If your current step is stuck in "DETECT_QUIET" and "DETECT_ACT" stages, you can set the "LINK_STATE" field to be 0x02 and set 1 in "FORCE_LINK" field to see if PCIe module could be forced to Polling Active status and move forward.

      I do not think we can just force to link to "L0" status since there are lots of negotiation to be done between PCIe link peers in Polling and Configuration states, such as data rate, lane number, polarity, etc.

      It may need both ends (C66x PCIe and FPGA PCIe ports) to be forced to the same link training status.

      Hope it helps. But I am not sure if it could work. Otherwise, we may need to think of how the LaserWire could be compatible with PCIe link requirement since the LaswerWire spec says so.

      Sincerely,

      Steven

      ------------------------------------------------------------------------------------------------------------

      Please click the Verify Answer button on this post if it answers your question.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joel Ronning
      Posted by Joel Ronning
      on Aug 03 2012 16:00 PM
      Prodigy60 points

      Hi Steven,

      By forcing both the DSP PCIe controller and the FPGA PCIe core to skip their DETECT state, the link is up and running over the LaserWire.

      Many thanks!

      Joel.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use