Hi Kurt Am Mi., 23. Sept. 2020 um 21:06 Uhr schrieb Kurt Van Dijck <dev.kurt@xxxxxxxxxxxxxxxxxxxxxx>: > > Also receiving of any CAN frame doesn't work > > # candump any,0:0,#FFFFFFFF > > [ 259.937612] spi_master spi1: I/O Error in DMA RX > > [ 259.943743] mcp25xxfd spi1.0: SPI transfer failed: -110 > > [ 259.949644] spi_master spi1: failed to transfer one message from queue > > [ 259.956566] mcp25xxfd spi1.0 can0: IRQ handler > > mcp25xxfd_handle_rxif() returned -110. > > [ 259.964547] mcp25xxfd spi1.0 can0: IRQ handler returned -110 > > (intf=0x3f1a0002). > > There is something bizarre with the DMA implementation of imx. > The variscite device-tree's come with dma disabled in their SPI nodes, > using > > &ecspi1 { > status = "okay"; > /delete-property/ dmas; > /delete-property/ dma-names; > }; > > Since I was struggling to consume 1Mbit, I tried to enable DMA again, > and ran into the same SPI tranfer failed. Disabling DMA fixes this. After adopting my DT I am now able to successfully receive CAN frames now. Load testing needs to be done.... I also tried with different SDMA firmware versions but that didn't change anything. > > Trying to send a CAN-FD frame with baud rate switch fails > > # cansend can0 123##142 > > [ 190.921477] mcp25xxfd spi1.0 can0: bus-off This still leads to an immediate bus off. I think I have to get the scope out to check the reason here. Thanks, Matthias