Hi all,
I am using the iMX6Q Apalis and would like to make PCIe working on a custom board with an Artix-7 as a PCIe endpoint. However, on every boot, I’m greated with the following messages:
[ 0.321358] imx6q-pcie 1ffc000.pcie: 1ffc000.pcie supply epdev_on not found, using dummy regulator
[ 0.609430] imx6q-pcie 1ffc000.pcie: host bridge /soc/pcie@1ffc000 ranges:
[ 0.609442] imx6q-pcie 1ffc000.pcie: Parsing ranges property...
[ 0.609474] imx6q-pcie 1ffc000.pcie: IO 0x01f80000..0x01f8ffff -> 0x00000000
[ 0.609494] imx6q-pcie 1ffc000.pcie: MEM 0x01000000..0x01efffff -> 0x01000000
[ 1.603017] imx6q-pcie 1ffc000.pcie: Phy link never came up
[ 1.614673] imx6q-pcie 1ffc000.pcie: failed to initialize host
[ 1.622486] imx6q-pcie 1ffc000.pcie: unable to add pcie port.
The Artix-7 design used in this case is the following:
The problem here seems to be with the REFCLK_0
signal (which is the interface to the PCI clock). Indeed, its value is always 1
. Thus, the mmcm_lock
signal has always the value 0
, indicating that the reference clock is not stable.
Moreover, I disabled the PCIe switch driven by I2C in the Device Tree since there is no such switch on the custom board - pcie-switch@58
entry in imx6q-apalis-eval.dts
.
I can’t figure out what I’m doing wrong.
The only thing that seems odd to me is that I did not add an entry about the AXI Memory Mapped To PCI Express IP in the device tree but I don’t think this is mandatory. To be fair, I tried but everytime the driver fails saying it could not register irq 0.
Does someone have a clue about what is going on here? I’m completely out of ideas.
Thank you very much in advance.
Lucas
EDIT: I don’t know if it helps but I can’t even execute devmem 0x01FFC000 32
. The commands hangs and the device becomes non-responsive.