• 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) » PCIE Transactions
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

      OpenMP - All aboard!

      Posted 1 day 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 2 days ago
      by Lauren Reed1
      A big thank you to everyone who participated in our contest last...
    • $core_v2_blog.Current.Name

      It’s our second anniversary, but you get the present!

      Posted 9 days ago
      by Lindsey Bare
      It’s hard to believe it’s already been two years...

    Forums

    PCIE Transactions

    This question is not answered
    ait el maati younes
    Posted by ait el maati younes
    on Apr 17 2012 06:19 AM
    Prodigy210 points

    Hello

     How  can i perform this two operations in the  DSP C6678 of Texas instrument   : 

    - Generating  Configuration transactions

    - Generating Memory Read from a remote device 

    i have already configured one DSP C6678 as Root Complex

    NB : The example given within the Device treats only memory write 

    sincerely 

    Younes

    PCI Express
    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 Apr 17 2012 10:10 AM
      Expert8595 points

      Younes,

      1. In C66x device, the PCIe remote configuration space is located starting from offset 0x2000 (i.e. 0x21802000). The RC could read/write from/to that address space to access the configuration space of remote device and the configuration transactions will be issued automatically. Please note that there is one CFG_SETUP register (offset 0x8) to be configured for different remote devices on the bus. The default values should be working to access the EP directly connected to the RC (without any PCIe switch or bridge).

      If there is PCIe switch or bridges in the system, it is better to use certain PCIe host driver on RC side to enumerate the bus and assign the bus/function/device numbers to each device on the PCIe bus.

      2. Generating memory read transaction is very similar as generating memory write transaction. The PCIe device could just read from its PCIe data space (i.e. starting from 0x60000000 for C6678 device) using EDMA or CPU read.

      Sincerely,

      Steven

      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.
    • ait el maati younes
      Posted by ait el maati younes
      on Apr 18 2012 06:53 AM
      Prodigy210 points

      Thank  You Steven ,

      I understood your answer , but the problem is that the remote device for me is not an other C6678 , it is a bridge function in a switch , so i want to read one register of the bridge 

      Configuration space and display the value on the console ( screen )

      Sincerely 

      Younes

      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 Apr 18 2012 14:16 PM
      Expert8595 points

      Younes,

      I think the configuration access to bridge or switch from RC should be similar as access to EP.

      If the bus/device/function numbers of the Bridge are setup correctly in the RC CFG_SETUP register. The RC could access the configuration registers in the Bridge by reading the remote configuration space (starting from 0x21802000 in C66x PCIe).

      Or if there is BAR register in the Bridge which could be mapped to its configuration register space (similar as BAR0 mapping to C66x PCIe apps registers), the RC could generate normal memory write/read to access the Bridge registers with packet address matching to the Bridge BAR register. In this way, the RC should access to the PCIe data space (starting from 0x60000000 in C66x).

      Sincerely,

      Steven

      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.
    • ait el maati younes
      Posted by ait el maati younes
      on Apr 25 2012 10:44 AM
      Prodigy210 points

      Thank you Steven ,

      Actualy , i want to access a remote register which is not a PCI Express register , what i want is a function of your module C6678 , which take an adress in parameters and

      return the contain of this adress , 

      I precise :  i have the C6678 as RC , and a bridge in the other side of the link , and i want to acess to a regiser in this bridge , it is sufficient that i use your function : pcie_Readregs(.....,PCIE_LOCATION_REMOTE,...)  , while this function can  read just a PCIE register 

      NB: i specified the bus , device , function number of my bridge 

      Thanks 

      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 Apr 25 2012 18:00 PM
      Expert8595 points

      If it is not in the PCIe configuration register space in the Bridge, I am afraid you could not use the LLD function directly.

      Another way is to do the memory read from the Bridge just as you may intend to do so. You have to configure BAR and other inbound registers in the Bridge to cover the memory location of that register you want to read from Bridge. And configure the RC outbound registers to issue the memory read to the Bridge which is just similar as normal memory read access to the remote device.

      Sincerely,

      Steven

      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.
    • ait el maati younes
      Posted by ait el maati younes
      on Apr 30 2012 04:42 AM
      Prodigy210 points

      Thank you Steven for your answer ,

      im trying also to perform a PIPE loopback . How to check that the loopback has been performed correctly if knowing that this kind of loopback doesnt allow looping back

      datas and allows just looping back symbols ( mentionned in the document of the C6678 of PCI express module)

      Sincerely 

      Younes 

      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 Apr 30 2012 09:10 AM
      Expert8595 points

      Younes,

      PIPE Loopback is a test and debug feature. The Loopback master (such as a PCIe protocol tester) when connected to a device's Link (the device under the test) can place the Link and Loopback slave into the Loopback state by transmitting TS1ordered-sets with the Loopback bit asserted.

      If the C66x PCIe module is used as Loopback master, it could put the Loopback slave (at the other end of the PCIe link) into loopback mode by following the programming sequence described in the user guide. And the Loopback slave is better to be a PCIe tester which could decode and display the symbols for the user to monitor the symbols being looping back over the link.

      If C66x PCIe module is used as Loopback slave, the Loopback master is better to be a PCIe tester, which could put the Loopback slave into loopback mode and send out the symbols for testing.

      Sincerely,

      Steven

      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.
    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