[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <3f71bdff8f4f4fe19ad9a09be89bc73d@escrypt.com>
Date: Wed, 14 Aug 2019 15:01:44 +0000
From: "FIXED-TERM Buecheler Konstantin (ETAS-SEC/ECT-Mu)"
<fixed-term.Konstantin.Buecheler@...rypt.com>
To: "linux-can@...r.kernel.org" <linux-can@...r.kernel.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: Dan Murphy <dmurphy@...com>
Subject: can: tcan4x5x: spi bits_per_word issue on Raspberry PI
> Hi all,
>
> I am trying to use a tcan4550 together with a Raspberry PI 3 B. I am using the
> tcan4x5x driver from net-next.
> I always get the following error during startup.
> tcan4x5x spi0.0: Probe failed, err=-22
> tcan4x5x: probe of spi0.0 failed with error -22
>
> I realized that this happens because the Raspberry PI does only support 8/9 bit
> words. https://elinux.org/index.php?title=RPi_SPI#Supported_bits_per_word
> In the driver it is set to 32.
> spi->bits_per_word = 32;
>
> Setting this to 8 does not help of course since the tcan chip expects a multiple of
> 32 per spi transaction.
> I don't know if this is a Raspberry Pi specific problem or if there are more devices
> with this hardware limitation.
>
> Does anyone have a workaround for that?
It seems to be enough to just change the bits_per_word value to 8
>
> If this a common issue it might be a good idea to patch the driver. I will check if I
> can find proper a way to do so.
>
> Regards,
> Konstantin
Now I have another really confusing problem. Anything I write to SPI is written little endian. The tcan chip expects big endian.
Anything I read from SPI is treated as little endian but is big endian. Does anyone know why this happens?
Is there a flag or something I can set for the SPI device/wire to fix this?
Regards,
Konstantin
Powered by blists - more mailing lists