I have the Saber i.MX6sx board and I can't get the PCIe to be enabled, that is lspci returns nothing. The default kernel with this board has PCI disabled. I have enabled PCI, PCIe, the Freescale i.MX6 PCIe controller, PCIe RC mode, and PCI express Port bus support. I have: /sys/bus/pci/drivers:: ci_hdrc_pci ehci-pci pcieport and /sys/bus/pci_express. However /sys/bus/pci/devices is empty and lspci returns nothing. I expect to see the Root Complex bridge there, at least 0000:00:00.0.
Here is the list of errors I get during boot:
8ffc000.pcie supply pcie-bus not found, using dummy regulator
imx6q-pcie 8ffc000.pcie: phy link never came up
imx6q-pcie 8ffc000.pcie: failed to initialize host: ret: -22
imx6q-pcie: probe of 8ffc000.pcie failed with error -22
My questions are:
Why does devm_regulator_get(pp->dev,"pcie-bus") fail? Is that what causes imx6_pcie_link_up() to fail? Then where does regulator_get find the name "pcie-bus"? How does regulator_dev_lookup list of names get populated?
Thank you for reading and I greatly appreciate any help or ideas.