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 命令不起作用

Guru**** 2619195 points

Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/575583/linux-am5728-lspci-command-not-working-on-custom-board

器件型号:AM5728

工具/软件:Linux

大家好、

我有两个 AM5728板、一个 EVM、另一个是定制板。

我们知道 EVM 具有 PCIe、具有用于 PCIe 参考时钟的板载外部时钟。 在我的定制板中、PCIe 参考时钟没有板载外部时钟。

目前、我使用的是 Linux SK v.03.02、并且在 u-boot 中对 board.c 文件进行了少量修改、从而为这两个电路板运行默认的 u-boot、内核和 devicetree。
int board_fit_config_name_match (const char *名称)

 if (board_is_x15 ()&&!strcmp (名称、"am57xx-beagle-x15"))
返回0;
否则、如果(board_is_am572x_evm ()&&!strcmp (名称、"am57xx-beagle-x15"))
返回0;
否则、如果(board_is_am572x_idk ()&&!strcmp (名称、"am572x-idk"))
返回0;
否则、如果(board_is_am571x_idk ()&&!strcmp (名称、"am571x-idk"))
返回0;
其他
返回0;//-1;已修改

TI AM5728电路板的 Linux 控制台中的"lspci"命令将显示以下消息

am57xx-EVM 登录:root
root@am57xx-EVM:~# lspci
00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)

但是对于定制板、我没有收到任何有关同一命令"lspci"的消息。

我们非常感谢您的帮助。

谢谢

Srikanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Srikanta、

    我们需要您提供更多信息。 TI AM5728板是5728 GP EVM 还是572x IDK EVM? 当您将 TI EVM 与电路板连接时、哪一个电路板是 RC、哪一个是 EP? 如果您的板是 EP、您能否在不进行板对板连接的情况下将 PCIe 作为 RC 来启动? 也就是说、您的电路板上的 PCIe 实际上是否被枚举为 RC、并且是否正常工作?

    在我看来、lspci 会在 TI EVM 上显示内容。 这意味着 TI EVM 是 RC。 lspci 命令在 EP 上不起作用。 lspci 是用于获取 RC 上器件列表的实用程序。 作为 EP (器件)本身、lspci 无法正常工作。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rex。

    非常感谢您的回答。

    我认为您对我的理解不完全:

    我没有将 EVM 与我的定制板连接。 我将在两个板上测试相同的 u-boot、内核和文件系统。

    实际上,我只制作了一张带有 u-boot (MLO、u-boot.img)和 rootfs 映像的 SD 卡,这些映像是通过 SDK v.03.02获得的,但有一个微小的更改(如上一篇文章所示)。

    现在、'lspci'命令适用于 AM5728 GP EVM、但不适用于具有相同 SD 卡的定制板。

    如果我使用 SDK v.02.02、我已经看到'lspci'命令对两个电路板都起作用的另一件事。

    谢谢、此致

    Srikanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Srikanta、

    如果 lspci 命令不起作用、通常意味着未枚举 PCIe。 您能否检查引导日志以查看是否存在与 PCIe 相关的任何消息?

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Rex:
    我通过在 AM5728 GP EVM 中使用 SDK v.03.02在引导日志中收到以下消息。
    [0.603075]  PCI 主机桥/ocp/axi@0/PCIE_RC@51000000范围:
    [0.603086]   使用[bus 00-ff]找不到/ocp/axi@0/PCIE_RC@51000000的总线范围
    [0.603119]    IO 0x20003000.0x20012fff -> 0x00000000
    [0.603139]   MEM 0x20013000..0x2ffffffff -> 0x20013000
    [0.633648]  dra7-PCIe 51000000.PCIe_RC:链路未建立
    [0.633814]  dra7-PCIe 51000000.PCIe_RC:PCI 主机桥至总线0000:00
    [0.633827]  PCI_BUS 0000:00:根总线资源[bus 00-ff]
    [0.633837]  PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFF]
    [0.633848]  PCI_BUS 0000:00:根总线资源[mem 0x20013000-0x2fffffff]
    [0.634248]  PCI:总线0:快速背对背传输被禁用
    [0.634364]  PCI:总线1:启用快速背对背传输
    [0.634447]  PCI 0000:00:00.0:条0:已分配[mem 0x20100000-0x201fff]
    [0.634462]  PCI 0000:00:00.0:条1:已分配[mem 0x2000000-0x2002FFF]
    [0.634475]  PCI 0000:00:00.0:PCI 桥至[bus 01]
    [0.634698]  pcieport 0000:00:00.0:通过 PCIe PME 中断向 PME 发送信号
    但我没有收到任何有关我的定制板的 PCIe 相关消息。
    您能否就这种行为提出一些想法?
    谢谢  
    Srikanta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Srikanta、

    在您之前的帖子中、您提到过如果您使用 ProcSDK 2.0.2、那么您电路板上的 PCIe 将会出现、对吧?
    1) 1)您是使用2.0.2中的所有映像(包括内核、u-boot、MLO、文件系统)重新创建 SD 卡、还是仅从2.0.2中复制内核和 DTS 文件?
    2) 2)使用 ProcSDK 2.0.2、我假设您在引导日志中看到 PCIe 消息、lspci 会显示器件、对吧?

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rex:

    很抱歉我迟到了。 实际上我在休假。

    在您之前的帖子中、您提到过如果您使用 ProcSDK 2.0.2、那么您电路板上的 PCIe 将会出现、对吧?  

    我提到'lspci'在 自定义板中用于 LinuxSDK_02_02、而不是用于 LinuxSDK_03_02。 对于 EVM 和定制板、没有关于 PCIe 链路的内核消息。

    1) 1)您是使用2.0.2中的所有映像(包括内核、u-boot、MLO、文件系统)重新创建 SD 卡、还是仅从2.0.2中复制内核和 DTS 文件?

    是的、我 使用2.0.2中的所有映像创建 SD 卡、包括内核、u-boot、MLO、文件系统。

    现在、我将 在 u-boot 中设置"setenv board_name am57xx_EVM_reva3"($board_name = am57xx_EVM_reva3;然后设置 env fdtfile am57xx-EVM-reva3.dtb)、从而为 EVM 和定制板使用 LinuxSDK_03_02和相同的.dts 文件

    将 LinuxSDK_03_02与上述设置一起使用后、我将获得两个板(GP EVM 和定制)的以下内核启动消息。

    [0.603117] PCI 主机桥/ocp/axi@0/PCIE_RC@51000000范围:
    [0.60312]使用[bus 00-ff]时、未找到/ocp/axi@0/PCIE_RC@51000000的总线范围
    [0.603160] IO 0x20003000.0x20012fff -> 0x00000000
    [0.603180] MEM 0x20013000..0x2ffffff -> 0x20013000

    [0.816328] dra7-PCIe 51000000.PCIe_RC:链路未建立

    [0.816490] dra7-PCIe 51000000.PCIe_RC:PCI 主机桥至总线0000:00
    [0.816503] PCI_BUS 0000:00:根总线资源[bus 00-ff]
    [0.816513] PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFF]
    [0.816523] PCI_BUS 0000:00:根总线资源[mem 0x20013000-0x2fffffff]
    [0.816918] PCI:总线0:禁用快速背对背传输
    [0.817032] PCI:总线1:启用快速背对背传输
    [0.817115] PCI 0000:00:00.0:条0:已分配[mem 0x20100000-0x201fff]
    [0.817129] PCI 0000:00:00.0:条1:已分配[mem 0x2000000-0x2002FFF]
    [0.817142] PCI 0000:00:00.0:PCI 桥至[bus 01]
    [0.817365] pcieport 0000:00:00.0:通过 PCIe PME 中断向 PME 发送信号

    因此、您可以看到、PCIe 链路在两个电路板的内核引导期间都没有出现。

    您是否想了解有关此链路建立问题的一些信息?

    谢谢、此致

    Srikanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Srikanta、

    我上周五修改了 AM5728 GP EVM、以禁用 ljcb_clkp 和 ljcb_clkn 的外部时钟输出。 我使用 ProcSDK 3.2版本运行了2个方案。 第一个没有任何 PCIe 卡插入连接器、第二个插入 Intel N-1000 WiFi 卡。 我在这两种情况下都看不到任何问题。 请参阅以下日志。

    1.未在连接器上插入 PCIe 卡:

    root@am57xx-EVM:~# dmesg | grep pci
    [0.603006] dra7-PCIe 51000000.PCIe_RC:消费类 GPIO 查找(空)
    [0.603017] dra7-PCIe 51000000.PCIe_RC:使用器件树进行 GPIO 查找
    [0.603048] of _get_named_gpio_FLAGS:解析了节点'/ocp/axi@0/PCIe_RC@51000000[0]'的'GPIO'属性-状态(0)
    [0.603163] PCI 主机桥/ocp/axi@0/PCIE_RC@51000000范围:
    [0.603175]使用[bus 00-ff]找不到/ocp/axi@0/PCIE_RC@51000000的总线范围
    [0.633690] dra7-PCIe 51000000.PCIe_RC:链路未建立
    [0.633853] dra7-PCIe 51000000.PCIe_RC:PCI 主机桥至总线0000:00
    [0.633866] PCI_BUS 0000:00:根总线资源[bus 00-ff]
    [0.633877] PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFF]
    [0.633887] PCI_BUS 0000:00:根总线资源[mem 0x20013000-0x2fffffff]
    [0.633922] PCI 0000:00:00.0:[104C:888]类型01类0x060400
    [0.633966] PCI 0000:00:00.0:寄存器0x10:[MEM 0x00000000-0x000fff]
    [0.633989] PCI 0000:00:00.0:寄存器0x14:[MEM 0x0000-0x0000FFF]
    [0.634056] PCI 0000:00:00.0:支持 D1
    [0.634065] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
    [0.634489] PCI 0000:00:00.0:条0:已分配[mem 0x20100000-0x201fff]
    [0.634504] PCI 0000:00:00.0:条1:已分配[mem 0x2000000-0x2002FFF]
    [0.634516] PCI 0000:00:00.0:PCI 桥至[bus 01]
    [0.634735] pcieport 0000:00:00.0:通过 PCIe PME 中断向 PME 发送信号
    [0.6347474] PCIe_PME 0000:00:00.0:pcie01:已加载服务驱动程序 PCIe_PME
    [0.634871] aer 0000:00:00.0:pcie02:服务驱动程序 aer loaded
    root@am57xx-EVM:~# lspci
    00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)


    2.将 Intel N-1000 WiFi 卡插入 PCIe 连接器:

    root@am57xx-EVM:~# dmesg | grep pci
    [0.603048] dra7-PCIe 51000000.PCIe_RC:消费类 GPIO 查找(空)
    [0.603060] dra7-PCIe 51000000.PCIe_RC:使用器件树进行 GPIO 查找
    [0.603090] of _get_named_gpio_FLAGS:解析了节点'/ocp/axi@0/PCIe_RC@51000000[0]'的'GPIO'属性-状态(0)
    [0.603206] PCI 主机桥/ocp/axi@0/PCIE_RC@51000000范围:
    [0.603219]使用[bus 00-ff]找不到/ocp/axi@0/PCIE_RC@51000000的总线范围
    [0.616547] dra7-PCIe 51000000.PCIe_RC:PCI 主机桥至总线0000:00
    [0.616561] PCI_BUS 0000:00:根总线资源[bus 00-ff]
    [0.616573] PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFF]
    [0.616583] PCI_BUS 0000:00:根总线资源[mem 0x20013000-0x2fffffff]
    [0.616617] PCI 0000:00:00.0:[104C:888]类型01类0x060400
    [0.616660] PCI 0000:00:00.0:寄存器0x10:[MEM 0x00000000-0x000fff]
    [0.616681] PCI 0000:00:00.0:寄存器0x14:[MEM 0x00000000-0x0000FFF]
    [0.616748] PCI 0000:00:00.0:支持 D1
    [0.616758] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
    [0.617171] PCI 0000:01:00.0:[8086:0084]类型00类0x028000
    [0.617349] PCI 0000:01:00.0:寄存器0x10:[MEM 0x00000000-0x00001fff 64位]
    [0.617728] PCI 0000:01:00.0:D0 D3hot D3cold 支持 PME#
    [0.628498] PCI 0000:00:00.0:条0:已分配[mem 0x20100000-0x201fff]
    [0.628513] PCI 0000:00:00.0:条8:已分配[mem 0x20200000-0x202fff]
    [0.628524] PCI 0000:00:00.0:条1:已分配[mem 0x2000000-0x2002FFF]
    [0.628540] PCI 0000:01:00.0:条0:已分配[mem 0x20200000-0x20201fff 64位]
    [0.628595] PCI 0000:00:00.0:PCI 桥至[bus 01]
    [0.628608] PCI 0000:00:00.0:桥接器窗口[mem 0x20200000-0x202fff]
    [0.628829] pcieport 0000:00:00.0:通过 PCIe PME 中断向 PME 发送信号
    [0.628839] PCI 0000:01:00.0:通过 PCIe PME 中断向 PME 发出信号
    [0.628850] PCIe_PME 0000:00:00.0:pcie01:已加载服务驱动程序 PCIe_PME
    [0.628968] aer 0000:00:00.0:pcie02:service driver aer loaded

    root@am57xx-EVM:~# lspci
    00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)
    01:00.0网络控制器:英特尔公司迅驰 Wireless-N 1000 [冷凝器峰值]

    我认为您的问题与内核无关。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Rex:

    非常感谢您的宝贵响应。

    我认为您的回答将引导我朝着正确的方向前进。

    我在连接器中未插入任何 PCIe 卡的情况下测试了两个板(EVM 和定制)。
    我已经检查了两个板上的日志与 您的日志完全相同。

    您可以在下面看到它们的日志。

    EVM
    ------
    root@am57xx-EVM:~# dmesg | grep pci
    [0.602803] dra7-PCIe 51000000.PCIe_RC:消费类 GPIO 查找(空)
    [0.602816] dra7-PCIe 51000000.PCIe_RC:使用器件树进行 GPIO 查找
    [0.602846] of _get_named_gpio_FLAGS:解析了节点'/ocp/axi@0/PCIe_RC@51000000[0]'的'GPIO'属性-状态(0)
    [0.602962] PCI 主机桥/ocp/axi@0/PCIE_RC@51000000范围:
    [0.602972]使用[bus 00-ff]找不到/ocp/axi@0/PCIE_RC@51000000的总线范围
    [0.816085] dra7-PCIe 51000000.PCIe_RC:链路未建立
    [0.816247] dra7-PCIe 51000000.PCIe_RC:PCI 主机桥至总线0000:00
    [0.816260] PCI_BUS 0000:00:根总线资源[bus 00-ff]
    [0.816271] PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFF]
    [0.816280] PCI_BUS 0000:00:根总线资源[mem 0x20013000-0x2fffffff]
    [0.816314] PCI 0000:00:00.0:[104C:888]类型01类0x060400
    [0.816356] PCI 0000:00:00.0:寄存器0x10:[MEM 0x00000000-0x000fff]
    [0.816378] PCI 0000:00:00.0:寄存器0x14:[MEM 0x00000000-0x0000FFF]
    [0.816444] PCI 0000:00:00.0:支持 D1
    [0.816453] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
    [0.816874] PCI 0000:00:00.0:条0:已分配[mem 0x20100000-0x201fff]
    [0.816888] PCI 0000:00:00.0:条1:已分配[mem 0x2000000-0x2002FFF]
    [0.816901] PCI 0000:00:00.0:PCI 桥至[bus 01]
    [0.817120] pcieport 0000:00:00.0:通过 PCIe PME 中断向 PME 发送信号
    [0.817133] PCIe_PME 0000:00:00.0:pcie01:已加载服务驱动程序 PCIe_PME
    [0.817248] aer 0000:00:00.0:pcie02:service driver aer loaded
    root@am57xx-EVM:~# lspci
    00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)

    定制板
    --------
    root@am57xx-EVM:~# dmesg | grep pci
    [0.672357] dra7-PCIe 51000000.PCIe_RC:消费类 GPIO 查找(空)
    [0.672382] dra7-PCIe 51000000.PCIe_RC:使用器件树进行 GPIO 查找
    [0.672435] of _get_named_gpio_FLAGS:解析了节点'/ocp/axi@0/PCIe_RC@51000000[0]'的'GPIO'属性-状态(0)
    [0.672653] PCI 主机桥/ocp/axi@0/PCIE_RC@51000000范围:
    [0.672670]使用[bus 00-ff]找不到/ocp/axi@0/PCIE_RC@51000000的总线范围
    [0.894670] dra7-PCIe 51000000.PCIe_RC:链路未建立
    [0.894962] dra7-PCIe 51000000.PCIe_RC:PCI 主机桥至总线0000:00
    [0.894991] PCI_BUS 0000:00:根总线资源[bus 00-ff]
    [0.895009] PCI_BUS 0000:00:根总线资源[IO 0x0000-0xFFF]
    [0.895026] PCI_BUS 0000:00:根总线资源[mem 0x20013000-0x2fffffff]
    [0.895081] PCI 0000:00:00.0:[104C:888]类型01类0x060400
    [0.895149] PCI 0000:00:00.0:寄存器0x10:[MEM 0x00000000-0x000fff]
    [0.895194] PCI 0000:00:00.0:寄存器0x14:[MEM 0x0000-0x0000FFF]
    [0.895301] PCI 0000:00:00.0:支持 D1
    [0.895317] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
    [0.896063] PCI 0000:00:00.0:条0:已分配[mem 0x20100000-0x201fff]
    [0.896092] PCI 0000:00:00.0:条1:已分配[mem 0x2000000-0x2002FFF]
    [0.896111] PCI 0000:00:00.0:PCI 桥接器至[bus 01]
    [0.896510] pcieport 0000:00:00.0:通过 PCIe PME 中断向 PME 发送信号
    [0.896538] PCIe_PME 0000:00:00.0:pcie01:已加载服务驱动程序 PCIe_PME
    [0.896750] aer 0000:00:00.0:pcie02:服务驱动程序 aer loaded
    root@am57xx-EVM:~# lspci
    00:00.0 PCI 桥接器:德州仪器(TI)器件8888 (修订版01)

    目前、我没有任何微型 PCIe 卡。 因此、我将使该卡快速开始。

    您是否正在使用随附的英特尔 N-1000 WiFi 卡?

    谢谢、此致

    Srikanta

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Srikanta、

    很抱歉、上周二我的回答很慢。

    WiFi 卡的型号相同、但外观不同。 它可能来自不同的制造商。 我的是
    型号:112BNHMW
    英特尔Registered迅驰Registered
    Wireless-N 1000

    我的产品如下所示: www.google.com/search

    雷克斯