Re-enumerate PCI devices after boot

Hi,

I have an Orin Nano where I want to re-enumerate the PCI devices after boot since I have a FPGA that needs a bit-stream programmed before the device will show up.
I got some inspiration from a previous post;

Based on the last comment in that thread I can get it to work by commenting out the part suggested in drivers/pci/controller/dwc/pcie-tegra194.c at line 1675.

	// pcie->link_state = tegra_pcie_dw_link_up(&pcie->pci);
	// if (!pcie->link_state) {
	// 	ret = -ENOMEDIUM;
	// 	goto fail_host_init;
	// }

It is also suggested that the property “nvidia,enable-power-down” can be removed from DTS, but it doesn’t seem to exist for tegra234 (Orin Nano). It looks like a prettier solutions as it can be done through an DTS overlay, but unfortunately not possible.

I only need one specific root port to stay enabled and not all like the driver patch does.

My question is;
What is the best way to keep a specific PCI root port enabled?

You almost had it. The property you need to add is nvidia,disable-power-down
Im using this on my carrier board and it works well.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.