am5728 idk板,使用的 processor-sdk-linux 05.02.00.10。现在想把pcie用起来:am5728配置为RC模式,通过pcie连接线和外部fpga(EP模式)进行通信。
我是个pcie小白,这两天才开始了解pcie的一些基础知识。而官方文档只有EP模式有较详细的描述,RC模式的说明很少,而且是基于Keystone的,和现在的大不相同:http://software-dl.ti.com/processor-sdk-linux/esd/docs/05_02_00_10/linux/Foundational_Components_Kernel_Drivers.html#pcie-root-complex
我使用的文件系统是sdk里最大的那个系统(tisdk-rootfs-image-am57xx-evm),设备树(am572x-idk-lcd-osd101t2587.dts)和内核配置(am57xx_evm_defconfig)都是默认的:
设备树相关节点:
&pcie1_rc {
status = "okay";
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
};
&pcie1_ep {
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
};
内核相关配置:
通过pcie连接线连上主板和fpga后,启动主板。输入 lspci 只有一条打印信息。 没有 找到fpga对应的 pcie设备(vid:10EE,did8021)。
通过journalctl查看日志,发现 “phy link never came up”,phy link up就失败了。
还下面几个疑问:
1.目前的这些配置有问题吗
2.journalctl日志可以看出 是哪里出问题了吗,其中有三个modprobe 失败的错误,是否有影响
3.如果枚举成功了,该怎么和EP通信?需要再封装一层驱动吗? 还是直接在应用层需要通过/dev/xxx 或 /sys/xxx 通信?
Annie Liu:
您的问题在E2E英文论坛已有工程师跟进,请继续关注。https://e2echina.ti.com/question_answer/dsp_arm/sitara_arm/f/25/t/183777