[PATCH 0/7] [U-Boot] spi: atmel-quadspi: Refresh and add classic mode support

Tom Rini trini at konsulko.com
Thu Jan 30 15:49:46 CET 2025


On Thu, Jan 30, 2025 at 04:07:27PM +0200, Eugen Hristev wrote:
> 
> 
> On 1/23/25 14:12, Alexander Dahl wrote:
> > Hello everyone,
> > 
> > this patch series is for U-Boot, although Linux might be affected.
> > 
> > The quadspi controller on microchip (former atmel) sama5d2, sam9x60 and
> > other soc variants of the at91 family is usually used in hardware
> > accelerated spi-mem mode.  It also supports a classic mode for
> > interfacing all kinds of SPI peripherals like ADCs, IO expanders,
> > displays, you name it.  However the drivers in Linux and U-Boot did not
> > support that mode, yet.
> > 
> > While spi-mem subsystem interface is comparable between Linux and
> > U-Boot, SPI subsystem interface is rather different in Linux and U-Boot.
> > So there's no previously written Linux support just ported here.  I
> > tried that, but the simple implementation for U-Boot's .xfer() used here
> > does not work for Linux' .transfer_one() because of the OVRES flag set
> > all the time.  I guess a more sophisticated approach has to be taken in
> > Linux with interrupts, completions and/or dma?
> > 
> > According to commit 24c8ff4684c5 ("spi: Add Atmel QuadSPI driver")
> > message, the initial U-Boot variant of this driver was ported from Linux
> > v5.1-rc5 back then.  I hope it's okay to squash the fixes added to Linux
> > after that into patch 2 and 3 of this series?
> > 
> > Patch 4 and 5 come from my efforts to hack this feature into the Linux
> > driver.  (Not sure if those should be added to the Linux driver
> > anyways, even if nobody ever implements transfer_one() over there?)
> > 
> > Patch 5 is the actual work, very much inspired by the current U-Boot
> > driver atmel_spi for the generic SPI controllers on at91 family.
> > 
> > Patch 1 is copied from my other spi series for U-Boot, just added it
> > here for better build results.
> > 
> > Patch 6 is optional, because not portable towards Linux.
> > 
> > Tested on top of v2024.10, because v2025.01 won't build as debug
> > for sam9x60 as described in another thread.  But there are almost no
> > changes related to at91 socs, boards, and drivers in the last months
> > here, so it should be comparable.
> > 
> > Greets
> > Alex
> > 
> > (Cc-ing the contributors of the Linux fixes here.)
> > Cc: Tudor Ambarus <tudor.ambarus at microchip.com>
> > Cc: Yoshitaka Ikeda <ikeda at nskint.co.jp>
> > Cc: Csókás Bence <csokas.bence at prolan.hu>
> > 
> > Alexander Dahl (7):
> >   spi: atmel-quadspi: Depend on SPI_MEM
> >   spi: atmel-quadspi: Port collected fixes from Linux v5.10 and v5.15
> >   spi: atmel-quadspi: Avoid overwriting MR register settings
> >   spi: atmel-quadspi: Remove default mode setting at probe time
> >   spi: atmel-quadspi: Allow setting SMM to classic SPI mode
> >   spi: atmel-quadspi: Add support for classic SPI mode
> >   spi: atmel-quadspi: Improve probe debugging
> > 
> >  drivers/spi/Kconfig         |   2 +-
> >  drivers/spi/atmel-quadspi.c | 294 ++++++++++++++++++++++++++++--------
> >  2 files changed, 228 insertions(+), 68 deletions(-)
> > 
> > 
> > base-commit: 2eed5a1ff36217372e19f7513bd07077fc76718a
> 
> Hello Alex,
> 
> I had a quick look over your patches, but it would require to get a
> review from SPI maintainers to apply these.

Our SPI maintainer is currently not very responsive. Would you be OK
taking this via the atmel tree since it's an atmel platform driver and
not core changes? Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20250130/b68226f8/attachment.sig>


More information about the U-Boot mailing list