In our custom board using Jetson Orin Nano module, we have a PCIe port to connect the EM9293 modem. This works as expected in USB mode.
But when we follow the power up sequence for PCIe facing problem that it is not powering on or enumerated in PCIe.
What is the real problem here. Any one encountered such issue?
Here are some of the details,
Schematic:
GPIO Expander:
Pin Label State
------------------------------------------------------------------------------------------
14 CELL_3.3V_RESET_N HIGH
15 CELL_DPR HIGH
16 CELL_WIRELESS_DISABLE LOW
17 GPS_DISABLE HIGH
19 CELL_PCIe_CLKREQn HIGH
20 CELL_MODEM_OFFn LOW
24 CELL_PWR_ON HIGH
39 CELL_PWR_LOSS_ACKs LOW
40 PCIEorUSB_SELECT HIGH
Here is the power up sequence:
Step #1:
Drive PCIEorUSB_SELECT: Low and hold (For PCIe mode)
Step #2:
Drive CELL_PWR_ON: Low and hold
Step #3: After 100ms
Drive CELL_MODULE_OFFn: High after 100ms and hold
Step #4: = After 300ms (from Step #1)
Drive modem PERST# High and hold (This is connected to the Jetson SFIO PERST# Pin)
-- This is where our problem is because Jetson drives this pin as soon as Step #1
Step #5:
Drive CELL_WIRELESS_DISABLE Low and hold to enable Internal Cell Radio
Drive CELL_3.3V_RESET_N High and hold to enable Cell Module
Device tree overlay:
/dts-v1/;
/plugin/;
/ {
compatible = "nvidia,p3768-0000+p3767-0000", "nvidia,p3767-0003", "nvidia,tegra234";
fragment@0 {
target-path = "/bus@0/pcie@141e0000";
__overlay__ {
status = "okay";
num-lanes = <0x01>;
nvidia,enable-ext-refclk;
nvidia,max-speed = <0x01>;
nvidia,link-speed-retries = <0x14>; // 20
};
};
};
