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.

DM8168 PCIe EP mode

Hi all,

I am working on Netra, we need to boot Netra form PCIe.

Bus enumeration for our Netra PCIe EP card from a TI816X EVM RC is work without EP driver, "cat /sys/bus/pci/...",

but EP was not able to be recognized by x86 platform OS, linux or windows.

Not quite sure if we need to notice anything important.

Thanks

Andrew

 

  • Andrew,

    Are you using a custom PCIe EP card or EVM itself as EP?

    In either case, please note following:

    1) Are the PC and EP using separate 100MHz refclk?

    2) In case the PC uses Spread Spectrum Clocking (SSC), you might need to ensure that the PC and EP board use common clock.

    3) There may be an option in PC BIOS to turn off the SSC in such case you can continue to use separate clocks ensuring the tolerrance limits mentioned in PCIe spec (+- 300ppm) are obeyed

    4) What is the power on sequence you are following? Is the board reset out first?

    5) You might want to see if the pin A12 is connected resetting the EP and try keeping it open.

       Hemant

  • Hi Hemant,

    Thanks for your quick reply.

    Yes, we have a custom PCIe EP card.

    PC and EP are using the same refclock

    After checking my main board, there seems no the SCC option in my BIOS.

    The power sequence is, +3V -> +1.0AVS -> +1.0constant -> +1.8V -> +1.5V -> +0.9V -> POR -> RSTOUT

    PCI_PORz  before  POR -> RSTOUT

    And the pin A12 you mentioned is the DDR0_CLK0 of memory controller, it seems not open.

    Does it have any relation regarding PCIe ?

     

    Thanks and Best Regards

    Andrew

  • Andrew,

    Sorry, typo in my previous post - should be A11 (the last pin on the smaller end of PCIe slot on A side) should be driven high from PC if it is connected to PCI_PORz. A12 should be grounded always.

    I didn't not understand the power sequence you use. Can you clarify? Have you tried with powering up EP card (and ensuring that the PC doesn't reset the card when booting)?

    Do you have JTAG connectivity to EP card so that we can see some of the PCIe registers on the device?

    Also, which boot mode do you use for EP? Is it PCIe 32-bit boot mode?

       Hemant

  • Hi Hemant,

    The power sequence is Netra's POR will wait until both PCI_PORz from main board and Power Good signal are driven high (logical AND).

    Currently, we use PCIe 32-bit boot mode and I found our custom PCIe card was able to be recognized by only one specified motherboard, ASUS P7H57D-V EVO.

    It seems that PCIe is not work at other boot mode.

    We will check the power sequence of this motherboard  first and try to check register via JTAG later.

    Thanks.

    Andrew

  • Andrew,

    I assume you have verified that the A11 input (PWRGD) is driven high even in non-working case? In some cases, PCs might drive this low if they do not detect any card within specific time.

    Thanks.

       Hemant

     

  • Hi Hemant,

    Thanks your information. I will go further to check those points.

    Thanks.

    Andrew

  • Hey Andrew & Hemant,

    Did you guys solve this Netra PCIe Ep mode issue? we have the same problem right now, if yes, would you mind to post how you solve the issues?

    My setup is that Host side: Intel ATOM(Linux) + Netra (8168 EVM board ) EP mode, the Clock change is done following the user guider.

    The 8168 EVM bootstrap has been setup as PCIE_32 boot mode, and the power sequence is that Netra power on first, and then Atom board (Kontron EVM board), but after the Atom bootup, nothing shows up from lspci for Netra, the Atom side send the signal to Netra but the Netra didn't response it.

    Any suggestion? Thanks.

    Vincent

  • Vincent,

    1) What is the SW5-1 switch setting are you using on EVM?

    2) Can you try the EVM connecting to any other PCIe slot on ATOM machine (if another slot available) or in some other PC?

    3) Since you are connecting EVM to PC, you would be using Male-Male cable, what are the pin connections used?

    Thanks

       Hemant

  • Hi Hemant,

    Thank you for your reply. I'll reply on behalf of Vincent.

    1. The BTMODE is set at 0x01000 (boot from PCIe32).

    2. The slot we tried is the only slot available for the test, and it's very hard for us to move the setup to another PC.

    3. The pin connection from PC to EVM is as below: GND to GND; RST to RST, REFCLK+/- to REFCLK+/-, TX+/- to RX+/-, RX+/- to TX+/-.

    When I measured the signals, I could see the RST is released, REFCLK is good at 100MHz, and TX from PC is good, but nothing coming up from EVM. So I'm not sure if there will be more setting on the Netra side to get the PCIe configured as EP.

    I saw you mentioned about checking registers on Netra side with the emulator about the PCI. Can you let us know more detail about this?

    Thanks.

    Charles

  • Hi Hemant,

    Just noticed that I misunderstood your 1st question. I has SW5-1 set at off.

    Thanks.

    Charles

     

  • Charles,

    If you have JTAG connectivity, you can dump PCIe registers, especially register @0x51001728 where the lower 5 bits will show LTSSM status. This will be changing continuously if not in L0 (0x11). Can you provide that dump?

       Hemant


  • hi,Andrew

    i am use TI 8168EVM and C6678EVM,i want them communication with PCIe.I need to set the 8168EVM as EP mode,set 6678EVM as RC mode.The 8168EVM(EP) first send datas to C6678EVM(RC).can i do this solution? that is to say,the EP device first send data to RC device,does it work?

    does antthing or demos can i refer to?

    thanks 

  • Hi Cangtian,

    There is an example code in PDK,

    pdk_C6678_1_1_2_6\packages\ti\drv\pcie\example\

    the Readme.txt  file describe that example code was tested on two shannon EVMs. FYR

    And regarding EP device sending data to RC, it should work once EP was enumerated and inbound/outbound window was correctly mapped.

    Best Regards

    Andrew,

    Advantech

  • thanks for your reply

    i want to know when i set 8168 as EP mode,i need to follow ‘PCIe End Point Initialization Sequence’,for example i need to Configure PCIe Mode of operation for EP Mode by programming PCIE_CFG.PCIE_DEVTYPE with a
    value of 0.it is said on the document named TMS320DM816x DaVinci Digital Video Processors Technical Reference Manual 。

    how i do that?i need to configure the registers.doesn't it done in the ep_drv.c?but in the document,it hasn't the address of registers.

    also,i find the demo code downloaded from internet ,it also hasn't the configuration of those registers,why?

    thanks

  • can you give me your qq number or mail address?i want to ask for your some help .thanks very much.

  • hi,Andrew i want to know where is the 8168 PCIe boot demo,8168 EP connect with PC. http://processors.wiki.ti.com/index.php/DM81xx_AM38xx_PCI_Express_Endpoint_Driver_User_Guide#Package_Contents_and_Download this is the pcie boot userguide.and i have 8168 RC connect with 8168 EP.i need 8168 EP connect with PC RC thanks