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.

RTOS/AM5728: PCIe EP set-up

Part Number: AM5728

Tool/software: TI-RTOS

Hello, I'm using idk5728.

I'd like to set idk5728 as pcie ep and connect to windows pc.

First of all, I want to check if pc scan idk5728 as pci device successfully or not.

So, what process should I do to set my idk5728 as pcie ep.

1)should I modify idk5728 hardware?

2)can I use pcie example in pdk? and should I modify code in example?

thanks.

  • Thank you so much.

    Now, my windows pc detects idk5728 as TI's unknown pcie device.

    Let me elaborate what I did for this. It may be helpful to other ppl.

    1> Hardware edit(idk5728)

      a. depopulate C439, C438, C437, C436

      b. connect 'soc side refclk pins(p/n)' to 'connector side refclk(p/n)'. you can use capacitor pads of (a)

      c. depopulate R581(there are two 100ohm resistors between refclkP and refclkN, and I depopulated one of them)

      ************refer e2e.ti.com/.../738397

    2> Cable making(pc connector to idk5728 connector)

      It's hard to find pcie male to male cross cable in Korea. So, I just made by myself.

      a. connect all GNDs

      b. connect refclkP, refclkN

      c. connect rxData(p/n) to txData(p/n) which is cross way(just like rs422). I guess there is auto negotiation for rx,tx pins, but I just wanted to make it sure

      d. tie two present pins in pc side only

      e. leave other pins open

    3> Example project  'PCIE_idkAM572x_wSoCFile_armExampleProject' in pdk

      a. change code at  PlatformPCIESS1PllConfig()

    HW_WR_FIELD32(SOC_SEC_EFUSE_REGISTERS_BASE + CSL_CONTROL_CORE_SEC_SMA_SW_6,                      CSL_CONTROL_CORE_SEC_SMA_SW_6_PCIE_TX_RX_CONTROL, 0x02U); // Rx mode. the value might be 0x02 original project. just check one more time

      b. change code at PlatformPCIESS1PllConfig()

    HW_SET_FIELD(regVal, CM_CLKMODE_APLL_PCIE_REFSEL, CM_CLKMODE_APLL_PCIE_REFSEL_CLKREF_ACSPCIE); // use acspcie clock as ref

      c. remove '#define GEN2' at pcie_sample.h(if I remember file name correctly)

      d. The example project asks user to choose ep mode or rc mode.

          I removed scanf line at pcie_sample.c and just set value to 'E'. so that it goes to initialize as EP mode automatically

      ************refer e2e.ti.com/.../662221 

    4> Test

      a. I used sd card for boot media

      b. Do hard reset idk5728, and then turn on your PC(I turned on PC right after I did 'idk5728 hard reset'. I saw pc didn't boot up sometime when I turn on my pc late about 5seconds)

      c. I used 'pci-z' software to check pci list on my pc and could see "ti's unknown device" on the list

    Thank you.