On 9/29/20 4:11 PM, Matthias Weißer wrote: > 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. At least it works now :) > 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. Are you using latest stable v5.4? Try latest mainline, if it still breaks drop the a regression bug on the spi list. >>> 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. I have only tested the mcp25xxfd against each other, maybe there is a problem with the automatic bitrate calculation. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: OpenPGP digital signature