In our design, we use SPI of Jetson Nano board to connect a MCP2515. We find there is a lot of packet loss on CAN bus if configured in 500Kbps. And the MCP2515 reports rx buffer overflow.
If set the baud rate in 250Kbps, the symptom ease a lot.
But our CAN device requires 500Kbps.
So we captured the signal of spi cs, and found there is almost 100us delay between 3 sequent spi operations(spi_sync()). See the attached capture. the yellow line is spi cs signal.
would you like help check why there is 100us delay.
I had done below modification in kernel source. It only had a little improvement.
1.set tspi->polling_mode = true; in tegra_spi_parse_dt() in spi-tegra114.c
2.master->rt = 1; in tegra_spi_probe() in spi-tegra114.c