IMX8MM PCIE isn't stable

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8MM PCIE isn't stable

1,380 Views
kcmetercec
Contributor I

Hi,

I use IMX8MM to communicate with zynq7035 through pcie:

imx8mm_zynq7035imx8mm_zynq7035

The zynq7035 board has been tested with PC(X86) through pcie,and it can run 7x24 hours stability.

 

But it can only run about 20 hours with IMX8MM,after that the communication is crash.

I have tried many methods to resume the communication,the easiest way is:

step 1. remove pcie device and bridge:

# remove pcie device which is zynq 7035

echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove

# remove pcie bridge

echo 1 > /sys/bus/pci/devices/0000\:00\:00.0/remove

step 2. rescan pcie

echo 1 > /sys/bus/pci/rescan

After that the communication works again.(It may crash some hours later again...)

 

The kernel version is 5.4.160 which follow Freescale github on 5.4-2.1.x-imx tag .

I have no idea how to fix the problem,it seems like bug of kernel.

 

Can someone help me?

Best regards.

Labels (1)
0 Kudos
Reply
4 Replies

1,377 Views
kcmetercec
Contributor I

When i use echo 1 > rescan ,the kernel report some warning:


[183402.475074] .........
[183402.479225] pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
[183402.487424] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[183402.495878] ............

This warning message isn't reported when kernel bootup.

0 Kudos
Reply

1,364 Views
igorpadykov
NXP Employee
NXP Employee

Hi

 

may be recommended to try with nxp linux releases from source.codeaurora.org/external/imx/linux-imx repository
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=lf-5.10.y

It is different from "https://github.com/Freescale/linux-fslc"  as described for example on:

https://lists.yoctoproject.org/g/meta-freescale/topic/imx6dl_dunfell_and_kernel/80897983?p=,,,20,0,0...

From hardware perspective issue may be caused by poor soldering (one can try to resolder chip)

or instablity of PCIe clock generator, one can check Table 9. PCIe recommendations

i.MX 8M Mini Hardware Developer’s Guide

 

Best regards
igor

 

 

0 Kudos
Reply

1,347 Views
kcmetercec
Contributor I

Hi igor,

I use the version of kernel is 5.4.x.

I have compared the branch 5.4-2.1.x-imx on github is same as branch git.kernel.org/linux-stable/linux-5.4.y.

So, I think it's hardware perspective issue.

0 Kudos
Reply

1,368 Views
kcmetercec
Contributor I

Sometimes,when rescan pci,the IMX8MM pci bridge bandwidth will be limited which should be 5 GT/s:

root@imx8mm:~/module/xdma# echo 1 > /sys/bus/pci/rescan

[190079.798131] ......
[190079.804983] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot
[190079.811197] pci 0000:01:00.0: 2.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s x1 link at 0000:00:00.0 (capable of 4.000 Gb/s with 5 GT/s x1 link)
[190079.826921] pci 0000:00:00.0: BAR 0: assigned [mem 0x18000000-0x180fffff]
[190079.833857] ......

0 Kudos
Reply