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:IDK 上的 PCIe EP 配置

Guru**** 2905430 points

Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/662863/linux-am5728-pcie-ep-configuration-on-idk

器件型号:AM5728

工具/软件:Linux

我观看   了培训视频、完成了电缆和修改。

SDK 版本4.1.0.6

我已执行的步骤:

1.从*。bin 安装文件清理安装 SDK。

2.设置环境路径

3运行/bin/create-sdcard.sh 以使用预构建映像创建 SD 卡。

4.在 SDK 根文件夹中,运行 make all 进行编译一次(否则我在 linux-4.9.41+gitxxxxxxx 下看不到任何内容,需要修改 DTS)

仍然在 SDK 根目录中 、使 arch=arm cross_compile=arm-linux-gnueabihf- menuconfig

6.启用总线支持--> PCI 端点--> PCI 端点支持和 PCI 端点测试驱动程序

7.启用 PCI 主机控制器驱动程序-->通用 PCI 主机控制器和 Altera PCIe 控制器(不必要)

8.保存配置并退出

9.打开 am572x-idk.dts、

变化  

pcie1_rc{(&P)

状态="正常";
GPIO =<&GPIO3 23 GPIO_ACTIVE_HIGH_>;
};

pcie1_ep{(&P)

GPIO =<&GPIO3 23 GPIO_ACTIVE_HIGH_>;
};

更改为  

pcie1_rc{(&P)
GPIO =<&GPIO3 23 GPIO_ACTIVE_HIGH_>;
};

pcie1_ep{(&P)
状态="正常";
GPIO =<&GPIO3 23 GPIO_ACTIVE_HIGH_>;
};

10. 使 arch=arm cross_compile=arm-linux-gnueabihf- zImage

11.使 arch=arm cross_compile=arm-linux-gnueabihf- am572x-idk.dtb

12.将 zImage 和 am572x-idk.dTB 复制到 sdcard rootfs/boot/中

13将 SD 卡插入 IDK 和 BOOT。 (未连接电缆)。 当我"lspci"时没有显示任何内容

14.在 IDK 和 PC 主板上插入电缆,重新启动,问题仍然存在。

根据上面链接中的培训视频、我应该在/sys/kernel/config/pci_ep/pci_epf_test.0.下看到一组内容  但是、我在这里只看到 EPC 和 EPF。 当我"lspci"时、没有任何显示

请帮助。 谢谢你。

Peter

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

    我相信 lspci 只适用于 RC、而不适用于 EP。 要连接到 PC、这是另一个故事。 有关将 AM57x 连接到 PC (Windows 或 Linux)的讨论、请参阅以下主题。

    e2e.ti.com/.../653443

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

    根据该帖子、似乎需要修改 IDK 才能通过 PCIe 与 PC 通信、我将等待我们的定制板准备就绪、然后再继续。

    但是、在观看 PCIe 培训视频时、我只看到 EPC 和 EPF、而不是其他内容(在第二张图片中)

    有人知道原因吗?

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

    SDK 4.1.0.9是内核 v4.9。 您是否遵循 PCIe EP 用户指南 processors.wiki.ti.com/.../Linux_Core_PCIe_EP_User's_Guide

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

    是的、我发现了这个问题、因为有两个内核部分、分别标记为4.4和4.9、但没有说明对于 am5728、应遵循哪个内核部分。

    不管怎样、我再次被困在另一个地方。 更改了"主机设置"部分中的说明。

    配置内核时、为了启用端点测试功能、我必须启用端点模式。 (我对端点测试功能的支持是、它在 RC/主机上创建此类驱动程序以供测试程序使用、以便在/dev/dev 下看到一个测试驱动器; 另一方面、端点模式是将功能更改为端点)那么我的问题是、如何在仍然不启用端点模式的情况下启用端点测试功能?

    "PCI_endpoint_test 驱动程序创建端点测试功能设备(/dev/pci-endpoint-test.0)"

    我看不到/dev/pci-endpoint-test.o.

    我设法修复了 EP 侧、但 RC 侧仍然存在问题。

    在 RC 侧、我应该在 root/dev/dev (而不是/sys/kernel/config/dev)下看到一个 PCI 驱动程序。 我认为这是因为我没有启用驱动程序。 因此、我尝试在内核中为 RC 启用端点测试功能、但这需要启用端点模式(这是 RC 侧)。 您能告诉我这是如何工作的?

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

    《PCIe EP 用户指南》在 EP 部分中介绍了如何在 EP 侧进行配置、还介绍了 RC 需要执行的操作。 它还指示 EP 需要在为 RC 加电之前先启动。 让我回顾一下用户指南、看看是否存在导致混淆的地方。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我设法修复了 EP 侧、但 RC 侧仍然存在问题。

    在 RC 侧、我应该在 root/dev/dev (不是/sys/kernel/config/dev)下看到一个 PCI 驱动程序("PCI_endpoint_test 驱动程序创建端点测试功能设备(/dev/pci-endpoint-test.0)")、但它不在那里。 我认为这是因为我没有启用驱动程序。 因此、我尝试在内核中为 RC 启用端点测试功能、但这需要启用端点模式(这是 RC 侧)。 您能告诉我这是如何工作的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Xiang、

    我在4.1版本中检查了.config 文件、默认情况下、配置已全部设置。

    编号
    # PCI 端点
    编号
    CONFIG_PCI_终结 点= y
    CONFIG_PCI_EPF_TEST=y

    # DesignWare PCI 核心支持
    编号
    CONFIG_PCIe_DW=y
    CONFIG_PCIe_DW_HOST=y
    CONFIG_PCIe_DW_EP=y
    CONFIG_PCI_DRA7XX=y
    CONFIG_PCI_DRA7XX_HOST=y
    CONFIG_PCI_DRA7XX_EP=y

    未设置# CONFIG_Lattice_ECP3_CONFIG
    CONFIG_SRAM=y
    CONFIG_PCI_EN终结 点_TEST=y

    您只需拥有2个不同的 DTS 文件、一个用于 EP、一个用于 RC。 您的情况不是这样吗?

    如果它仍然不适合您、那么我需要启动我的设置。 如果我今天无法完成、明天我将下班、然后在2月21日返回后继续。

    雷克斯
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    IDK 到 IDK 连接现在可以正常工作。 我将创建另一个帖子、以进一步支持 PC Linux 至 IDK 连接。