+3.3V missing on Jetson Xavier PCIe slot


we have run into a problem where some of our PCIe adapter models would not be detected by the system. It turned out that these are cards that use the +3.3V supply directly. Other cards, that derive it from the +12V supply work fine. When we measure the supply voltages on the slot we see +12V and +3.3Vaux but not +3.3V. Since Vaux is coming from the same power source we think the Load Switch U82 is not turned on.

For a working card the kernel reports “pciex8a yes” in /sys/kernel/debug/powergate.
For a non-working card it reports “pciex8a no”. But in neither case is +3.3V enabled.

Toggling the pciex8a power domain via /sys/kernel/debug/pg_domains/pciex8a/state has no effect either.



EN pin of U82 is controlled by GPIO23 (GPIO23_USB_VBUS_EN1. However, GPIO23 is TEGRA194_MAIN_GPIO(Z, 2) which should already been set to GPIO_ACTIVE_HIGH.

Could you check if your cboot log has "I> node /plugin-manager/fragment-pcie-p2822-B00 matches

Or you could check the dt value in driver ->kernel-4.9/drivers/pci/host/pci-tegra.c.

for (count = 0; count < rp->n_gpios; ++count) {
  				gpio = of_get_named_gpio_flags(port,
  							count, &flags);
  				if (!gpio_is_valid(gpio))
  					return gpio;
  				f = (flags & OF_GPIO_ACTIVE_LOW) ?
  				err = devm_gpio_request_one(pcie->dev, gpio, f,
  				if (err < 0) {
  					dev_err(pcie->dev, "gpio %d request failed\n",
  					return err;
  				rp->gpios[count] = gpio;

I do not see that particular line in the cboot log.

There is no “nvidia,plat-gpios” property in the DT.

That is weird. Could you please share what is under this node?

nvidia@jetson-0422418042113:/proc/device-tree/chosen/plugin-manager/ids$ ls
2822-0000-400  2888-0001-400  name

nvidia@xavier:~$ ls /proc/device-tree/chosen/plugin-manager/ids
2888-0001-400 name XXXX-XXXX-XXX

I guess there is no such line either, right?

0002.131] I> create_pm_ids: id: 2822-0000-400-C, len: 15

If so, please directly add below pcie@141a0000 in device tree.

nvidia,plat-gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(Z, 2) GPIO_ACTIVE_HIGH    /* 3V3 */
 			&tegra_main_gpio TEGRA194_MAIN_GPIO(A, 1) GPIO_ACTIVE_LOW     /* 12V */

We notice similar issues.


Do you use custom carrier board or our devkit?

We are using the Nvidia devkit.

It looks like we have the same empty EEPROM issue that was reported in the other topic. We can’t do further testing at the moment since the device is on it’s way to GTC where we’ll use it for a demo at booth 1520. Maybe some Nvidia engineer can swing by to have a look and fix it right there?

I cannot guarantee. Please seek some Nvidia sales to tell them this issue.

The issue is still present. We’ve tried with two different Xavier’s from the one sfr was testing, and the issue persists. The only difference is EEPROM no longer being empty.

Both jetpack 4.2 and 4.1 have been tested with the following patches: Bar size and 3.3V (from this thread).
Neither can find the any card that require +3.3V.

Hi Arel,

Please file a new topic for this and share the method /release/board you are using.