No PCIe support on Yocto HardKnot


  • Hello,

    We observe that on Yocto hardknott (which is the official version for the Adlink IMX8), PCIe doesn't work.

    After some investigation we found out they add proper detection on kernel > 5.4.0 of the platform which makes the IMX8/PCIe not recognized hence not functional anymore.

    Is this soemthing you have observed on your side as well and do you have a solution for it?

    Thanks,

    Manuel



  • We tested it on our end and it was ok. If you have any error message or log please share it with us.


  • Hello, 

    Here is some feedback:

    # Hardknott -> based on kernel 5.10

    ~/Downloads/adlink/hardknott/unzip ../LEC-IMX8MP-2G-IPi-SMARC-PLUS_Hardknott_1v7_20210826.zip
    ~/Downloads/adlink/hardknott$ sudo dd if=H_2G_imx-image-multimedia-lec-imx8mp-20210806094451.rootfs.wic of=/dev/mmcblk0 oflag=sync status=progress bs=4MiB
     
    # Testing PCIe
    sh-5.1# lspci => NO OUTPUT
     
    Here is an extract from dmesg,
    [...]
    [    0.174340] imx8-pcie-phy 32f00000.pcie-phy: failed to get imx pcie phy clock
    [...]
     

    Zeus -> based on kernel 5.4

    ~/Downloads/adlink/zeus/unzip ../../LEC-IMX8MP-2G-IPi-SMARC-PLUS_Yocto-zeus_1v6_20210712.zip
    ~/Downloads/adlink/hardknott$ sudo dd if=LEC-IMX8MP-2G-IPi-SMARC-PLUS_Yocto-zues_v1.6_20210712 of=/dev/mmcblk0 oflag=sync status=progress bs=4MiB
     
    ## Testing PCIe
    sh-5.0# lspci
    00:00.0 PCI bridge: Synopsys, Inc. DWC_usb3 (rev 01)
    01:00.0 PCI bridge: Pericom Semiconductor Device b304 (rev 01)
    02:01.0 PCI bridge: Pericom Semiconductor Device b304 (rev 01)
    02:02.0 PCI bridge: Pericom Semiconductor Device b304 (rev 01)
     
    Here is an extract from dmesg
    [...]
    [    2.588891] imx6q-pcie 33800000.pcie: 33800000.pcie supply epdev_on not found, using dummy regulator
    [    2.607170] imx6q-pcie 33800000.pcie: PLL REF_CLK is used!.
    [    2.613394] imx6q-pcie 33800000.pcie: PCIe PHY PLL clock is locked.
    [...]
     

    Conclusion

    There seems to be a regression related to a kernel update where imx8mp was wrongly detected as an imx6q although dts seems to match imx8mp PCIe pin mapping.
     
    Looking on Internet I found a similar issue with the I.MX8MM that you can find here, and NXP advice to modify the dts file. There is also this link, which is a set of linux patches titled 'Add the iMX8MP PCIe support'.
     
    Your feedback is welcome.
     

Please login to reply this topic!