[PATCH] Fix SPI Chipselect/Clock bug for sun6i

Maxime Ripard maxime at cerno.tech
Fri Jan 8 03:58:55 EST 2021


Hi,

On Sat, Dec 26, 2020 at 10:58:45AM +0100, Ralf Schlatterbeck wrote:
> This patch makes additional GPIOs usable as chipselects for SPI.
> It is available for years on the linux-sunxi SPIdev page at
> http://linux-sunxi.org/SPIdev and probably is originally by the user
> "Mirko" there. I've tried unsuccessfully to contact the author.
> Note that contrary to what is stated on the page above, the bug doesn't
> have cosmetic implications only:
> 
> The SPI-Driver for the H2 Allwinner processor in the Linux kernel is
> supposed to support normal GPIOs as additional chipselects but fails to
> do so without the patch.
> 
> For oscilloscope screenshots with/without the patch, see my blog post
> https://blog.runtux.com/posts/2019/04/18/
> or the discussion in the armbian forum at
> https://forum.armbian.com/topic/4330-spi-gpio-chip-select-support/
> (my logo there is a penguin).
> Please bear with me if I'm not following proper procedures, this is my
> first patch to the kernel in years.
> 
> Thanks
> Ralf Schlatterbeck
> 
> From 682ae1848b0df00cceb4c76486b971826b2737a9 Mon Sep 17 00:00:00 2001
> From: Ralf Schlatterbeck <rsc at runtux.com>
> Date: Thu, 11 Apr 2019 16:21:54 +0200
> Subject: [PATCH] Fix SPI Chipselect/Clock bug for sun6i
> Signed-off-by: Ralf Schlatterbeck <rsc at runtux.com>
> 
> The current sun6i SPI implementation initializes the transfer too early,
> resulting in SCK going high before the transer. When using an additional
> (gpio) chipselect with sun6i, the chipselect is asserted at a time when
> clock is high, making the SPI transfer fail.  This patch from the sunxi
> spidev page http://linux-sunxi.org/SPIdev fixes this, without the patch
> no additional gpio chipselects can be used. The relevant code seems to
> be from the user "Mirko" of the linux-sunxi wiki page, I was unable to
> contact the original author.

Unfortunately, without the author's Signed-off-by (and yours), we can't
merge that patch.

Maxime



More information about the linux-arm-kernel mailing list