can you inform me of the meaning of PCIE ERROR CODE?
I.MX8MQ does not work with QCA9882 Wifi Module via PCIE #0 bus
we can not find the description of PCIE Error code in I.MX8M Reference Manual.
oot@imx8mq-var-dart:~# dmesg |grep -i pcie
[ 1.832210] i.MX PCIE endpoint device driver, version 0.1
[ 3.435295] imx6q-pcie 33800000.pcie: couldn't get pcie-phy
[ 3.441077] imx6q-pcie 33800000.pcie: 33800000.pcie supply epdev_on not found, using dummy regulator
[ 3.450843] imx6q-pcie 33800000.pcie: host bridge /soc@0/pcie@33800000 ranges:
[ 3.464149] imx6q-pcie 33800000.pcie: Parsing ranges property...
[ 3.470132] imx6q-pcie 33800000.pcie: IO 0x1ff80000..0x1ff8ffff -> 0x00000000
[ 3.477640] imx6q-pcie 33800000.pcie: MEM 0x18000000..0x1fefffff -> 0x18000000
[ 3.590427] imx6q-pcie 33800000.pcie: PCIe PLL locked after 0 us.
[ 4.592838] imx6q-pcie 33800000.pcie: Phy link never came up
[ 4.599007] imx6q-pcie 33800000.pcie: PHY DEBUG_R0=0x004abc43 DEBUG_R1=0x08000000
[ 4.599391] imx6q-pcie 33800000.pcie: failed to initialize host
[ 4.605371] imx6q-pcie 33800000.pcie: unable to add pcie port.
4.599007] imx6q-pcie 33800000.pcie: PHY DEBUG_R0=0x004abc43 DEBUG_R1=0x08000000
4.558441] imx6q-pcie 33800000.pcie: PHY DEBUG_R0=0x00b5bc43 DEBUG_R1=0x08000000
Thanks .
Hi JungHwan
from log "Phy link never came up" this may be hardware issue.
One can try other pcie cards and check hardware using pcie recommendations provided in
i.MX 8MDQLQ Hardware Developer’s Guide
Best regards
igor
Great Thanks !!
We want to know what the PCIE Error Code means.
in case of PCIE Link Failure,
why the Register PCIE_PORT_DEBUG1 Value remains 08000000 while trying to link up ??
<= VAL #### 3 # 08000000#
logging from dw_pcie_link_up function.
int dw_pcie_link_up(struct dw_pcie *pci)
{
u32 val;
if (pci->ops->link_up)
{
dev_info(pci->dev, "zzzzzzzzzzz ## 1 ## Link up\n");
return pci->ops->link_up(pci);
}
//dev_info(pci->dev, "zzzzzzzzzzz ## 2 # %016X# Link up\n", pci->dbi_base );
val = readl(pci->dbi_base + PCIE_PORT_DEBUG1);
dev_info(pci->dev, " dw_pcie_link_up # VAL #### 3 # %08X# \n", val );
return ((val & PCIE_PORT_DEBUG1_LINK_UP) &&
(!(val & PCIE_PORT_DEBUG1_LINK_IN_TRAINING)));
}
attached logs
==== Success log ======
2.488511] imx-cdnhdmi sound-hdmi: ASoC: failed to init link imx8 hdmi: -517
[ 2.574224] can: netlink gateway (rev 20190810) max_hops=1
[ 2.594256] tsn generic netlink module v1 init...
[ 3.569947] [+] [debug] message [F: imx6_pcie_establish_link, ::1795]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 3.569972] [+] [debug] message [F: imx6_pcie_establish_link, ::1810]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 3.569982] [+] [debug] message [F: dw_pcie_wait_for_link, ::452]: caller:(imx6_pcie_establish_link+0x190/0x480)
[ 3.569994] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 3.681844] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 3.801333] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 3.907494] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.028762] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.150548] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.276222] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.393034] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.427380] [+] [debug] message [F: imx6_pcie_establish_link, ::1795]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 4.454939] [+] [debug] message [F: imx6_pcie_establish_link, ::1810]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 4.468812] [+] [debug] message [F: dw_pcie_wait_for_link, ::452]: caller:(imx6_pcie_establish_link+0x190/0x480)
[ 4.485726] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.493494] imx6q-pcie 33800000.pcie: zzzzzzzzzzz #### Link up
[ 4.509392] [+] [debug] message [F: imx6_pcie_establish_link, ::1813]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 4.530221] [+] [debug] message [F: dw_pcie_wait_for_link, ::452]: caller:(imx6_pcie_establish_link+0x2d4/0x480)
[ 4.540635] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.547286] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.547294] imx6q-pcie 33800000.pcie: zzzzzzzzzzz #### Link up
[ 4.547330] imx6q-pcie 33800000.pcie: Link up, Gen1
[ 4.642922] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.665160] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.671912] imx6q-pcie 33c00000.pcie: dw_pcie_link_up # VAL #### 3 # 08200000#
[ 4.679650] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.723830] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.745984] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.768158] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.788170] imx6q-pcie 33c00000.pcie: Phy link never came up
[ 4.790313] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.807523] [+] [debug] message [F: imx6_pcie_establish_link, ::1813]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 4.811260] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.821823] imx6q-pcie 33c00000.pcie: Link Fail i## 444444#
[ 4.831915] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.845312] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.871177] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.893267] [+] [debug] message [F: imx6_pcie_clk_disable, ::1009]: caller:(imx6_pcie_establish_link+0x42c/0x480)
[ 4.917082] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.928672] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 4.942977] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.050332] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.072510] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.094608] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.116772] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.138942] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.161100] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.183219] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.211309] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.233453] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.255596] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.277804] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.299961] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.322073] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.344229] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.366357] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.388530] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.410681] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.432794] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.454962] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.477103] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.499282] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.521396] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.550398] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.572557] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.594692] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.616849] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.639003] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.661148] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.683265] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.705418] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.727596] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.756577] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.778758] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.800902] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.823081] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.845221] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.867367] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.889559] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.911680] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.933822] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.956012] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 5.978167] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.000310] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.022452] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.044605] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.066812] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.088979] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.111091] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.133299] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.155475] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.177647] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.199791] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.221937] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.244099] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.266247] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.288357] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.310502] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.332649] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.354790] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.376956] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.399095] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.421238] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.443367] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.465509] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.487689] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.509871] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.532017] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.554136] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.576304] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.598426] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.620607] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.642724] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.664891] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.687064] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.709221] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.731366] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.753517] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.775709] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.797855] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.819966] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.842146] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.864271] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.886424] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.908577] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.930702] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.952884] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.975042] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 6.997164] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.019385] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.041525] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.063688] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.085828] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.107992] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.130161] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.152312] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.174479] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.196643] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.218786] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.240947] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.263085] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.285266] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.307442] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.329567] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.351708] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.373882] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000010#
[ 7.396088] imx6q-pcie 33^C
==== Fail Case ====
SLC Wayland with XWayland 3.1 imx8mq-var-dart ttymxc0
imx8mq-var-dart login: root
root@imx8mq-var-dart:~# dmesg | grep -i link
[ 0.244878] audit: initializing netlink subsys (disabled)
[ 1.544449] usbserial: USB Serial support registered for carelink
[ 1.770664] can: netlink gateway (rev 20190810) max_hops=1
[ 1.771126] tsn generic netlink module v1 init...
[ 2.923860] [+] [debug] message [F: imx6_pcie_establish_link, ::1795]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 2.951478] [+] [debug] message [F: imx6_pcie_establish_link, ::1810]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 2.965370] [+] [debug] message [F: dw_pcie_wait_for_link, ::452]: caller:(imx6_pcie_establish_link+0x190/0x480)
[ 2.975590] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.076164] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.176747] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08100000#
[ 3.277328] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.377911] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.478855] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.579608] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.680374] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.781221] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.881963] imx6q-pcie 33800000.pcie: dw_pcie_link_up # VAL #### 3 # 08000000#
[ 3.982685] imx6q-pcie 33800000.pcie: Phy link never came up
[ 3.986666] [+] [debug] message [F: imx6_pcie_establish_link, ::1813]: caller:(imx6_pcie_host_init+0x1ec/0x238)
[ 3.996814] imx6q-pcie 33800000.pcie: Link Fail i## 444444#
[ 4.019841] [+] [debug] message [F: imx6_pcie_clk_disable, ::1009]: caller:(imx6_pcie_establish_link+0x42c/0x480)
[ 5.086165] systemd[1]: Listening on Network Service Netlink Socket.
[ 11.486524] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
[ 11.486594] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 54.496045] fec 30be0000.ethernet eth0: Link is Down