IMX6 PCIe link up problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX6 PCIe link up problem

ソリューションへジャンプ
2,640件の閲覧回数
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 解決策
2,011件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Amna

one can try attached sdk example.

Best regards
igor

元の投稿で解決策を見る

0 件の賞賛
返信
4 返答(返信)
2,011件の閲覧回数
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 件の賞賛
返信
2,011件の閲覧回数
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 件の賞賛
返信
2,012件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Amna

one can try attached sdk example.

Best regards
igor

0 件の賞賛
返信
2,011件の閲覧回数
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 件の賞賛
返信