Hello
I have trouble with PCI-E root on IMX7Dual. Sometimes (appr. 10-20% of runnings) PCI-E root initialization failed. In dmesg is printed:
[ 5.743604] pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x00000000-0x000fffff 64bit pref] not claimed
[ 5.753563] pci 0000:00:00.0: Error enabling bridge (-22), continuing
[ 5.760722] pcieport 0000:01:00.0: enabling device (0140 -> 0143)
[ 5.767816] pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x00000000-0x000fffff 64bit pref] not claimed
[ 5.777715] pci 0000:00:00.0: Error enabling bridge (-22), continuing
[ 5.784297] pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x00000000-0x000fffff 64bit pref] not claimed
[ 5.794141] pci 0000:00:00.0: Error enabling bridge (-22), continuing
[ 5.800725] pcieport 0000:02:01.0: enabling device (0140 -> 0143)
[ 5.815680] pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x00000000-0x000fffff 64bit pref] not claimed
[ 5.826639] pci 0000:00:00.0: Error enabling bridge (-22), continuing
[ 5.833205] pcieport 0000:02:02.0: enabling device (0140 -> 0143)
[ 5.846646] pci 0000:00:00.0: can't enable device: BAR 0 [mem 0x00000000-0x000fffff 64bit pref] not claimed
[ 5.857934] pci 0000:00:00.0: Error enabling bridge (-22), continuing
Meanwhile on the bus there are two ethernet adapter and their driver hangs. If initialization of PCI-E root is successful then ethernet works perfectly.
lspci printing if error occures:
00:00.0 Non-VGA unclassified device: Synopsys, Inc. DWC_usb3 / PCIe bridge (rev 01)
01:00.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
02:01.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
02:02.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
02:03.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Unprogrammed (rev 03)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Unprogrammed (rev 03)
lspci printing if all right:
00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 / PCIe bridge (rev 01)
01:00.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
02:01.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
02:02.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
02:03.0 PCI bridge: Pericom Semiconductor PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch (rev 05)
03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Unprogrammed (rev 03)
04:00.0 Ethernet controller: Intel Corporation I210 Gigabit Unprogrammed (rev 03)
Linux kernel version 5.10.88 from here:
git clone -b git.kernel.org/linux-stable/linux-5.10.y https://source.codeaurora.org/external/imx/linux-imx
If I use version of kernel 4.14 then error doesn't appear.
What problem is this?
In attachment: config of kernel, dmesg | grep -i 'pci' if error occures (log_bad.txt) and doesn't (log_good.txt).