IMX6 PCIe link up problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX6 PCIe link up problem

跳至解决方案
4,679 次查看
amnatehreem
Contributor II

Hi,

I am writing a driver for PCI express (RC mode) on IMX6 (var-som-mx6). I have successfully enabled the clock and have access to PCIe registers. But I cannot link up the port. I followed the steps in imx6 SDK except for two parts

1- In the SDK, external oscillator is being used to provide the clock to the PCIe module whereas I have used internal           clock

2 - There was a step to enable 3.3v for PCI mini by making a GPIO high. I couldn't find which pin it was and also I       checked the voltages on PCI mini connector on the board and all of the voltages were there, so I am assuming that        we don't require this step for my board.

After trying a lot I looked at the Linux driver for IMX6. It does all of the configuration being done in SDK along with some extra things like setting the number of lanes and speed of the link, setting bus number, BARs, memory base and limit etc. It also forces Gen1 operation before starting the link. 

I have tried both but I am not successful. Also, I have searched a lot, looked at the PCI specifications document, imx6 reference manual, tried EP mode etc but haven't found anything that helped me. I am writing the PCI driver for the first time and also haven't worked with Phy before. 

 I will really appreciate if anybody can help me. 

Best Regards,

Amna

标签 (2)
0 项奖励
回复
1 解答
4,050 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Amna

one can try attached sdk example.

Best regards
igor

在原帖中查看解决方案

0 项奖励
回复
4 回复数
4,050 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Amna

what sdk used in the case, is it possible to provide link.

Basic PCIe test steps are described in

i.MX6Q PCIe EP/RC Validation System 

Also one can test with nxp linux bsps described on

https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-6ser...

recommended to test several pcie cards.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
4,050 次查看
amnatehreem
Contributor II

Igor,

Thanks for your reply. I am using the SDK provided in this link.

GitHub - ted-juan/iMX6_Platform_SDK: Freescale iMX6 SDK 

I have the correct test setup and I also used multiple pcie cards including PCIe base USB host controller, ethernet cards and SSD drive but the link does not go up with any of them.

I don't have any experience with building and debugging linux so that will be very time consuming. I would really appreciate if someone can help me with the link up without having to build linux.

Regards,

Amna

0 项奖励
回复
4,051 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Amna

one can try attached sdk example.

Best regards
igor

0 项奖励
回复
4,050 次查看
amnatehreem
Contributor II

Igor,

Thank you. I was not enabling the differential clock for the PCIe (CLK1_N and CLK1_P). I got the link up after enabling this clock.

Regards,

Amna

0 项奖励
回复