All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Kleine-Budde <mkl@pengutronix.de>
To: Pavel Pisa <pisa@cmp.felk.cvut.cz>
Cc: linux-can@vger.kernel.org, Petr Porazil <porazil@volny.cz>,
	Han Xu <han.xu@nxp.com>, Mingkai Hu <mingkai.hu@nxp.com>,
	Chris Packham <chris.packham@alliedtelesis.co.nz>,
	Tiago Brusamarello <tiago.brusamarello@datacom.ind.br>
Subject: Re: CAN FD controllers (M-CAN tcan4x5x as well as Microchip mcp251xfd) fails on iMX6 eCSPI interface
Date: Mon, 22 Mar 2021 09:31:28 +0100	[thread overview]
Message-ID: <20210322083128.ehblmvyxo5rggeno@pengutronix.de> (raw)
In-Reply-To: <202103220906.52896.pisa@cmp.felk.cvut.cz>

[-- Attachment #1: Type: text/plain, Size: 1769 bytes --]

On 22.03.2021 09:06:52, Pavel Pisa wrote:
> my colleague at Elektroline.cz works on design of iMX6
> based system with CAN FD support realized by tcan4x5x
> chip connected to eCSPI. It seems that there are problems
> with eCSPI DMA stucks and other troubles. When the same
> chip (or even Microchip's mcp251xfd) is connected to
> other (less industry sound platforms) as Allwinner etc...
> drivers seems to work reliably, but tests on iMX6 results
> in failures. They consider fast redesign to slCAN connected
> second Microchip MCU to resolve critical problem for the
> project now....

Don't use slcan, just don't.

- If you want to stick to the SPI, use a mcp2518fd.
- If you don't need CAN-FD, attach a stm32f042 or f072 via USB. There is
  a open source firmware and Linux drivers.
- If you need CAN-FD, use a more modern stm32. I think some of the "G"
  series have CAN-FD. But the firmware and Linux drivers are not
  adopted, yet.

Expect quite some CPU load for the SPI based CAN controllers, due to the
high Linux SPI overhead and the not that optimized imx SPI host driver.

> The setup on 5.7 kernel partially works

For the tcan4x5x better use latest v5.12 plus this series:
https://lore.kernel.org/linux-can/20210308102427.63916-1-torin@maxiluxsystems.com/

If the SPI DMA makes troubles, deactivate it. I think the tcan4x5x driver
uses single tcan4x5x register reads, which results in small SPI
transfers, so DMA brings no benefits.

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2021-03-22  8:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22  8:06 CAN FD controllers (M-CAN tcan4x5x as well as Microchip mcp251xfd) fails on iMX6 eCSPI interface Pavel Pisa
2021-03-22  8:31 ` Marc Kleine-Budde [this message]
2021-03-22  9:45   ` Pavel Pisa
2021-03-22 10:53     ` Marc Kleine-Budde

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210322083128.ehblmvyxo5rggeno@pengutronix.de \
    --to=mkl@pengutronix.de \
    --cc=chris.packham@alliedtelesis.co.nz \
    --cc=han.xu@nxp.com \
    --cc=linux-can@vger.kernel.org \
    --cc=mingkai.hu@nxp.com \
    --cc=pisa@cmp.felk.cvut.cz \
    --cc=porazil@volny.cz \
    --cc=tiago.brusamarello@datacom.ind.br \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.