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.
Bumping for visibility because the post was marked as spam by mistake.