Hi forum, we're using an i.MX7D SoM by Variscite on our own carrier board. The SoC on the module fails to boot because our board doesn't have a 100 MHz external PCIe reference clock, and the kernel hangs with the following line:
imx6q-pcie 33800000.pcie: PCIe PLL lock timeout
The datasheet suggests the SoC is able to use an internal reference clock. We've tried disabling ext_osc in the device tree:
&pcie {
ext_osc = <0>;
};
However it appears that this option is only effective for iMX8 and iMX6, not iMX7, as in NXP's kernel PCIe driver code.
As a workaround, since we don't need PCIe for our application for now, we commented out the call to imx7d_pcie_wait_for_phy_pll_lock and the kernel boots successfully without the external REFCLK. We would like to find a way to properly switch the SoC to using an internal reference clock.
We've attached the hanging kernel boot log. Much thanks.