On my SabreSD (quad) board, I plugged in a RealTek-based mini-PCIe ethernet card (StarTech ST1000SMPEX). The card is detected fine in u-boot.
On my TechNexion board, I plugged in the same card, but the card is not detected (same version of u-boot, 2014.07).
I compared the two dev boards, and corresponding software, I discovered one main difference: The SabreSD board has a Power-Enable GPIO that controls a load-switch to the mini-PCIe slot. The TechNexion doesn't have it. So, I tried disabling the GPIO on the SabreSD board to see if that was the problem. Sure enough, u-boot failed to detect the card.
In my understanding, PCIe should be able to work just fine without that GPIO, since it is really just intended for hot-plug capability. Is that not true? We have a custom board that doesn't have a power-enable, and I can't communicate over PCIe.
Solved! Go to Solution.
On a sabresd you really need to pass the GPIO pin to U-boot, otherwise the PCI card will not be powered.
In your case if the PCI card is powered externally, without being controlled by a GPIO, then you don't need to pass the gpio PCI power pin in U-boot.
If the power to the PCI slot is not controlled via a GPIO then you don't need to add the power gpio in U-boot.
Well, I'm glad to know it's not required.... but of course it's still not working :-/
On the SabreSD board, with the power-gpio unused, I get the following (with some extra debug added):
U-Boot 2014.07 (Sep 17 2014 - 04:21:40)
CPU: Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: MX6-SabreSD
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
imx_pcie_init()
Skipping POWER_GPIO
Cycling PERST#
DEBUG REGISTERS:
[00ca7600 08200000] (0)
phy link never came up
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In: serial
Out: serial
Err: serial
....
On a sabresd you really need to pass the GPIO pin to U-boot, otherwise the PCI card will not be powered.
In your case if the PCI card is powered externally, without being controlled by a GPIO, then you don't need to pass the gpio PCI power pin in U-boot.
Wow... I know I checked that it was getting power at least twice... but it turns out I wasn't probing what I *thought* I was probing. You are correct... that was the issue. Thanks so much for leading me to recheck!