This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCIe enumeration process

Hi,

I ‘m trying to perform a PCIe transactions between shannons with a PCIe switch.

  1. with Computer (host) as RC: looks that the enumeration process is done automatically.
  2. Shannon as RC: the enumeration is also done automatically ? If not how can I do it?

PS: the enumeration process should support:

•Scan for PCIe to PCIe Bridge (Read Vendor ID register)

•Assign Bus number to all PCIe interfaces starting at Bus number 0

•Configure Primary, Secondary and Subordinate Bus Number Registers in each one of the P2P bridge

•Scan for Endpoint BARs and Allocate address space

•Configure Memory Base and Limit Registers in each one of the P2P Bridge

  • Delared,

    The bus enumeration is usually done by the system's firmware/device drivers or the operating system in the host/Root Complex.There is no Root Complex driver provided by TI for C66x PCIe module. The C66x PCIe module provides a shortcut for the peer-to-peer connection that the RC could access the EP configuration registers directly with memory map space (starting from 0x2180000+0x2000). If there are multiple EPs in the system, the user could use CFG_SETUP register to change the bus/device/function numbers to scan the bus for the enumeration purpose.

    Please take a look at the following thread, which discussed the similar topic. It also has the link of the Root Complex PCIe driver for another TI device, which has the similar PCIe module as C66x devices. Hope it could help.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/232907.aspx

  • Steven,

    As you said TI don’t provide any driver to do enumeration process,

    so the CFG_SETUP is the only way left to perform the enumeration of the system including the switch (IDT PCIe switch ).
    and here I have some difficulties!
    I wonder if TI has worked on such systems (DSPs shannons with IDT  switch) or if there are some configuration examples, or other things that could help me,

    I will be grateful