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.

Linux/AM5718: PCIe enabled per default

Part Number: AM5718

Tool/software: Linux

Team,

For a quick test my customer tried to boot the IDK from a SD card, created with create-sdcard.sh using the pre-build images. But with this PCIe is not working. lspci doesn't give any output in Linux. During boot the only PCIe related message is:

[    0.585360] PCI: CLS 0 bytes, default 64


Version used is ti-processor-sdk-linux-rt-am57xx-evm-03.02.00.05.

Is PCIe not enabled by default? Does the customer have to rebuild the kernel with PCIe enabled?

Thanks,
  Robert

  • Hi,

    The software team have been notified. They will respond here.
  • Robert,

    Yes, PCI should be enabled by default. I get the following output:

    root@am57xx-evm:~# dmesg | grep pci
    [    0.601912] dra7-pcie 51000000.pcie_rc: GPIO lookup for consumer (null)
    [    0.601924] dra7-pcie 51000000.pcie_rc: using device tree for GPIO lookup
    [    0.601955] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie_rc@51000000[0]' - status (0)
    [    0.602073] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [    0.602085]   No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [    0.632819] dra7-pcie 51000000.pcie_rc: link is not up
    [    0.632986] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [    0.632999] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.633009] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.633019] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.633052] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [    0.633096] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [    0.633118] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [    0.633186] pci 0000:00:00.0: supports D1
    [    0.633196] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    0.633636] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [    0.633651] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [    0.633664] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    0.633890] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [    0.633903] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [    0.634020] aer 0000:00:00.0:pcie02: service driver aer loaded
    root@am57xx-evm:~# lspci
    00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)

  • Hello,

    I just downloaded SDK 04.00.00.04 from TI website for am5718 board.
    Using pre-compiled images, I have the exact same problem than Robert described.

    I have a intel ethernet PCI plugged, and "dmesg" does return the same string than Robert, and the PCI enumeration is not done.
    Do you have a solution for this ?

    Best regards
  • I did a quick browse of the am571x-idk.dts file, it does not have pcie1_rc enabled. The definition is in dra7.dtsi, but status is set to "disabled". Please refer to am572x-idk.dts file in which the pcie1_rc node is set to "okay".

    Rex
  • Hi rex,

    Thank you for your help.
    I updated the dtb file and the kernel now enumerates the PCI bus at stratup.

    regards