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/AM5728: lspci command not working on custom board

Part Number: AM5728

Tool/software: Linux

Hi All,

I have two AM5728 boards one EVM and another one is custom Boards.

We know that evm has PCIE with on board external clock for PCIe ref clock. In my custom board there is no on board external clock for PCIe ref clock.

Presently I am using Linux SK v.03.02 and running the default u-boot, kernel and devicetree for both the board with a minor modification in board.c file in u-boot.
int board_fit_config_name_match(const char *name)
{
 if (board_is_x15() && !strcmp(name, "am57xx-beagle-x15"))
return 0;
else if (board_is_am572x_evm() && !strcmp(name, "am57xx-beagle-x15"))
return 0;
else if (board_is_am572x_idk() && !strcmp(name, "am572x-idk"))
return 0;
else if (board_is_am571x_idk() && !strcmp(name, "am571x-idk"))
return 0;
else
return 0;//-1; modified
}

The "lspci" command in Linux console for TI Am5728 board is giving the following message

am57xx-evm login: root
root@am57xx-evm:~# lspci
00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)

But for custom board I am not getting any message for the same command "lspci".

Any help will be greatly appreciated.

Thanks

Srikanta

  • Hi,

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

    We need more info from you. Is the TI AM5728 board a 5728 GP EVM or a 572x IDK EVM? When you connecting TI EVM with your board, which board is the RC and which is the EP? If your board is a EP, can you bring up the PCIe as RC without doing board to board connection? That is, is the PCIe on your board actually enumerated as RC, and is working?

    It seems to me that lspci displays contents on TI EVM. It means TI EVM is the RC. lspci command does not work on EP. lspci is the utility to get a list of devices on RC. Being a EP (device) itself, lspci won't work.

    Rex
  • Hi Rex.

    Thanks a lot for your response.

    I think you didn't understand me completely:

    I am not connecting the EVM with my custonm board. I am testing the same u-boot, kernel and file system in both the boards.

    Actually I have made only one SD card with u-boot(MLO, u-boot.img) and rootfs images obtained from SDK v.03.02 with a minor change (shown in last post).

    Now, the 'lspci' command is working for AM5728 GP EVM but not for my Custom board with the same sd card.

    I have seen one more thing that the 'lspci' command is working for both the boards if I use SDK v.02.02.

    Thanks & Regards

    Srikanta

  • Hi, Srikanta,

    If lspci command is not working, it usually means the PCIe is not enumerated. Could you check the boot logs to see if there is any messages related to PCIe?

    Rex
  • Hi Rex,
    I am getting the following messages in the boot logs by using SDK v.03.02 in the AM5728 GP EVM.
    [    0.603075] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [    0.603086]   No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [    0.603119]    IO 0x20003000..0x20012fff -> 0x00000000
    [    0.603139]   MEM 0x20013000..0x2fffffff -> 0x20013000
    [    0.633648] dra7-pcie 51000000.pcie_rc: link is not up
    [    0.633814] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [    0.633827] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    0.633837] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
    [    0.633848] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [    0.634248] PCI: bus0: Fast back to back transfers disabled
    [    0.634364] PCI: bus1: Fast back to back transfers enabled
    [    0.634447] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [    0.634462] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [    0.634475] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    0.634698] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    But I am not getting any PCIe related message for my custom board.
    Could you please give some idea regarding this behaviour?
    Thanks 
    Srikanta
  • Hi, Srikanta,

    In your earlier post, you mentioned that if you use ProcSDK 2.0.2, then the PCIe on your board will come up, correct?
    1) do you recreate the SD card using all images from 2.0.2 including kernel, u-boot, MLO, file system, or you just copy the kernel and dts files from 2.0.2?
    2) Using ProcSDK 2.0.2, I assume you see the PCIe messages in the boot logs, and lspci shows the device, right?

    Rex
  • Hi Rex,

    Sorry for my late response. Actually I was on leave.

    In your earlier post, you mentioned that if you use ProcSDK 2.0.2, then the PCIe on your board will come up, correct? 

    I have mentioned that 'lspci' is working for LinuxSDK_02_02 but not for LinuxSDK_03_02 in the Custom board. There was no kernel message regarding PCIe link for both the EVM and custom boards.

    1) do you recreate the SD card using all images from 2.0.2 including kernel, u-boot, MLO, file system, or you just copy the kernel and dts files from 2.0.2?

    Yes, I create the SD card using all images from 2.0.2 including kernel, u-boot, MLO, file system.

    Now, I am using LinuxSDK_03_02 and same .dts file for both the evm and custom boards by setting "setenv board_name am57xx_evm_reva3" in u-boot ($board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb)

    After using LinuxSDK_03_02 with above mentioned settings I am getting the following Kernel boot message for both the boards (GP EVM and Custom).

    [ 0.603117] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [ 0.603128] No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [ 0.603160] IO 0x20003000..0x20012fff -> 0x00000000
    [ 0.603180] MEM 0x20013000..0x2fffffff -> 0x20013000

    [ 0.816328] dra7-pcie 51000000.pcie_rc: link is not up

    [ 0.816490] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [ 0.816503] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.816513] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 0.816523] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 0.816918] PCI: bus0: Fast back to back transfers disabled
    [ 0.817032] PCI: bus1: Fast back to back transfers enabled
    [ 0.817115] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 0.817129] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 0.817142] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 0.817365] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt

    So, you can see that the PCIe link doesn't come up during kernel boot for both the board.

    Would you please give some idea regarding this Link establishment problem?

    Thanks & Regards

    Srikanta

  • Hi, Srikanta,

    I got my AM5728 GP EVM modified last Friday to disable the external clock outputs to ljcb_clkp and ljcb_clkn. I ran 2 scenarios using ProcSDK 3.2 release. The first one without any PCIe card inserted in the connector, and the 2nd with an Intel N-1000 wifi card inserted. I don't see any issues in both cases. Please see the logs from them below.

    1. Without PCIe card inserted at the connector:

    root@am57xx-evm:~# dmesg | grep pci
    [ 0.603006] dra7-pcie 51000000.pcie_rc: GPIO lookup for consumer (null)
    [ 0.603017] dra7-pcie 51000000.pcie_rc: using device tree for GPIO lookup
    [ 0.603048] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie_rc@51000000[0]' - status (0)
    [ 0.603163] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [ 0.603175] No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [ 0.633690] dra7-pcie 51000000.pcie_rc: link is not up
    [ 0.633853] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [ 0.633866] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.633877] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 0.633887] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 0.633922] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [ 0.633966] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [ 0.633989] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [ 0.634056] pci 0000:00:00.0: supports D1
    [ 0.634065] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [ 0.634489] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 0.634504] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 0.634516] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 0.634735] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [ 0.634747] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [ 0.634871] 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)


    2. With Intel N-1000 wifi card inserted at the PCIe connector:

    root@am57xx-evm:~# dmesg | grep pci
    [ 0.603048] dra7-pcie 51000000.pcie_rc: GPIO lookup for consumer (null)
    [ 0.603060] dra7-pcie 51000000.pcie_rc: using device tree for GPIO lookup
    [ 0.603090] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie_rc@51000000[0]' - status (0)
    [ 0.603206] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [ 0.603219] No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [ 0.616547] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [ 0.616561] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.616573] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 0.616583] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 0.616617] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [ 0.616660] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [ 0.616681] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [ 0.616748] pci 0000:00:00.0: supports D1
    [ 0.616758] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [ 0.617171] pci 0000:01:00.0: [8086:0084] type 00 class 0x028000
    [ 0.617349] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00001fff 64bit]
    [ 0.617728] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
    [ 0.628498] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 0.628513] pci 0000:00:00.0: BAR 8: assigned [mem 0x20200000-0x202fffff]
    [ 0.628524] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 0.628540] pci 0000:01:00.0: BAR 0: assigned [mem 0x20200000-0x20201fff 64bit]
    [ 0.628595] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 0.628608] pci 0000:00:00.0: bridge window [mem 0x20200000-0x202fffff]
    [ 0.628829] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [ 0.628839] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
    [ 0.628850] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [ 0.628968] 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)
    01:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000 [Condor Peak]

    I don't think your issue is kernel related.

    Rex
  • Hi Rex,

    Thanks a lot for your valuable response.

    I think your answer is guiding me in the right direction.

    I have tested both the boards (EVM and Custom) without any PCIe card inserted in the connector.
    I have checked the logs form both the boards are exactly same as your logs.

    You can see the logs from them below.

    EVM
    ---------
    root@am57xx-evm:~# dmesg | grep pci
    [ 0.602803] dra7-pcie 51000000.pcie_rc: GPIO lookup for consumer (null)
    [ 0.602816] dra7-pcie 51000000.pcie_rc: using device tree for GPIO lookup
    [ 0.602846] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie_rc@51000000[0]' - status (0)
    [ 0.602962] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [ 0.602972] No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [ 0.816085] dra7-pcie 51000000.pcie_rc: link is not up
    [ 0.816247] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [ 0.816260] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.816271] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 0.816280] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 0.816314] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [ 0.816356] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [ 0.816378] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [ 0.816444] pci 0000:00:00.0: supports D1
    [ 0.816453] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [ 0.816874] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 0.816888] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 0.816901] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 0.817120] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [ 0.817133] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [ 0.817248] 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)

    Custom Board
    --------------
    root@am57xx-evm:~# dmesg | grep pci
    [ 0.672357] dra7-pcie 51000000.pcie_rc: GPIO lookup for consumer (null)
    [ 0.672382] dra7-pcie 51000000.pcie_rc: using device tree for GPIO lookup
    [ 0.672435] of_get_named_gpiod_flags: parsed 'gpios' property of node '/ocp/axi@0/pcie_rc@51000000[0]' - status (0)
    [ 0.672653] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges:
    [ 0.672670] No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff]
    [ 0.894670] dra7-pcie 51000000.pcie_rc: link is not up
    [ 0.894962] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00
    [ 0.894991] pci_bus 0000:00: root bus resource [bus 00-ff]
    [ 0.895009] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
    [ 0.895026] pci_bus 0000:00: root bus resource [mem 0x20013000-0x2fffffff]
    [ 0.895081] pci 0000:00:00.0: [104c:8888] type 01 class 0x060400
    [ 0.895149] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
    [ 0.895194] pci 0000:00:00.0: reg 0x14: [mem 0x00000000-0x0000ffff]
    [ 0.895301] pci 0000:00:00.0: supports D1
    [ 0.895317] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [ 0.896063] pci 0000:00:00.0: BAR 0: assigned [mem 0x20100000-0x201fffff]
    [ 0.896092] pci 0000:00:00.0: BAR 1: assigned [mem 0x20020000-0x2002ffff]
    [ 0.896111] pci 0000:00:00.0: PCI bridge to [bus 01]
    [ 0.896510] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
    [ 0.896538] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
    [ 0.896750] 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)

    Presently, I don't have any mini PCIe card. So, I will get this card asap.

    Are you using the attached Intel N-1000 wifi card?

    Thanks & Regards

    Srikanta

  • Hi, Srikanta,

    Sorry so the slow response for I was out since last Tuesday.

    The wifi card looks different though they are the same Model number. It could be from different manufactures. Mine is
    Model: 112BNHMW
    Intel(R) Centrino(R)
    Wireless-N 1000

    Mine looks like this: www.google.com/search

    Rex