By default, the configuration is used for the devkit. If you are using the custom carrier board, please configure it according to your custom board design.
There are also several examples which have been verified from us, please check https://elinux.org/Jetson/L4T/peripheral/
Please share the full dmesg and device tree for us to check your status in detail.
Just a thought, could this be due to UART interrupts not being serviced in time? Doing high bandwidth I/O such as NVMe read/write on R36.x results in a very high interrupt load on CPU#0.
We do not think there is any interference between NVMe and UART.
It’s just that the CPUs are busy which might cause delay while reading data from UART port and cause an overflow, an interference would actually cause garbage data.
You can try connecting RTS/CTS and then run the same test with HW Flow control enabled, this will rule out any interference with PCIe.