请问,如果在PCIe RC设备上可以枚举到EP设备,并且分配了对应的PCIe地址空间,是否EP的PCIe链路就已经链接上了,不需要对PCIe接口进行设置了?
Shine:
枚举前已经对PCIe接口进行了配置,不需要再配置。请看user guide上的配置流程。 2.11.2 PCIe as End Point http://www.ti.com/lit/ug/sprugs6d/sprugs6d.pdf
xs wan:
回复 Shine:
谢谢,但是在我的设计中,keystone单板是作为PC的一块板卡,是EP设备。PC驱动可以正确识别单板,这个时候是否在Linux内核不用在配置PCIe phy设备,也就是PCIe链路已经建立。
另外一个问题,如果我在Linux设备树中开启PCIe phy,驱动的时候出现如下错误提示:
[ 3.406779] ti,keystone-serdes 2320000.phy: Direct firmware load for ks2_pcie_serdes.bin failed with error -2 [ 3.406789] ti,keystone-serdes 2320000.phy: can't get any serdes init fw [ 3.406797] ti,keystone-serdes 2320000.phy: serdes procider init failed -19
请问,如何解决?
设备树修改如下:
pcie0_phy: phy@2320000 { #phy-cells = <0>; compatible = "ti,keystone-serdes-pcie"; reg = <0x02320000 0x4000>; link-rate-kbps = <2500000>; num-lanes = <2>; status = "okay"; clocks = <&clkpcie>; clock-names = "fck"; };