PCIe Enumeration Issue Due to GPIO Toggle
Dear Team,
We have designed a new carrier board for the Jetson Xavier NX. On the carrier, we are using 2:1 muxes to route the PCIe signals based on certain conditions to say Device 1 & Device 2. The select line on the muxes are connected to the module pin# 128. According to the Xavier NX pinmux, this pin is configured as output to drive 0. So we updated the pinmux to configure the pin# 128 as input. However, during boot up, this signal is driven low & then made as input. During these transitions, the module initiates the PCIe enumeration process. Since the pin# 128 is driven low, the mux routes the signal to the Device 2 where it is not populated instead of Device 1 where the component is populated. Once the module boots to OS, due to these unintended signal transitions, the module misses the PCIe enumeration and our Device 1 doesn’t get exposed to the OS.
We have tried configuring the pin# 128 as Input with pull-up & Input with Z as intial states in 2 separate BSPs but this problem still exits.
Please provide some insights on how to make the module PCIe core retry the PCIe enumeration process or to avoid the unnecessary pin# 128 toggle so that the Device 1 can be properly enumerated before the boot process.