Is power enable GPIO required for pcie?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is power enable GPIO required for pcie?

Jump to solution
1,832 Views
rfindley
Contributor I

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.

Labels (2)
0 Kudos
1 Solution
1,272 Views
fabio_estevam
NXP Employee
NXP Employee

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.

View solution in original post

0 Kudos
4 Replies
1,272 Views
fabio_estevam
NXP Employee
NXP Employee

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.

0 Kudos
1,272 Views
rfindley
Contributor I

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

....

0 Kudos
1,273 Views
fabio_estevam
NXP Employee
NXP Employee

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.

0 Kudos
1,272 Views
rfindley
Contributor I

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!

0 Kudos