Hi WayneWWW,
Thanks for your patient.
Config#2: PCIe#0_0 okay, USB_SS#0 okay. but I need another USB3. (default pcie set 4x1, 1x1)
So I consider to config#4 in the beginning.
config#3: PCIe is gone. USB_SS#1 and USB_SS#2 are okay.
Config#4: PCIe is gone. USB_SS#0, USB_SS#2 okay. (Our custom board only has two USB3 connectors)
So I think USB may not be a problem now. I can use config#3 for USB_SS#1 and USB_SS#2.
or config#4 fot USB_SS#0, USB_SS#2.
For USB configuration between config#3 and Config#4. I only choose usb3-1 and usb3-2 for config#3
Or usb3-0 and usb3-2 for config#4 because there are only two usb3-std-A-port can be modified.
Config#3
pinctrl@3520000 {
pinmux {
usb3-std-A-port2 {
<b>nvidia,lanes = "usb3-1";</b>
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
status = "okay";
};
usb3-std-A-port3 {
nvidia,lanes = "usb3-2";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
status = "okay";
};
e3325-usb3-std-A-HS {
status = "okay"; //This is usb2.0 port on M.2
};
};
};
pci@3,0 {
nvidia,num-lanes = <1>;
status = "okay";
};
pcie0_lane2_mux {
status = "okay";
};
Config#4
pinctrl@3520000 {
pinmux {
usb3-std-A-port2 {
<b>nvidia,lanes = "usb3-0";</b>
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
status = "okay";
};
usb3-std-A-port3 {
nvidia,lanes = "usb3-2";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
status = "okay";
};
e3325-usb3-std-A-HS {
status = "okay"; //This is usb2.0 port on M.2
};
};
};
pci@3,0 {
nvidia,num-lanes = <1>;
status = "disabled";
};
pcie0_lane2_mux {
status = "disabled";
};
For PCIe issue,
Once I config Pcie to 1x1x1 (check log, it indeed set to 1x1, 1x1, 1x1), no matter the status of pci@3,0 is set to okay or disabled, lspci can’t see anything.
By my previous test, PCie onle can detected by setting 4x1, 1x1 or 2x1, 1x1, 1x1.