On Thu, Jan 30, 2025 at 04:53:14PM +0200, Eugen Hristev wrote: > > > On 1/30/25 16:49, Tom Rini wrote: > > 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.amba...@microchip.com> > >>> Cc: Yoshitaka Ikeda <ik...@nskint.co.jp> > >>> Cc: Csókás Bence <csokas.be...@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! > > > > Yes, that is fine. However the review would be to the best of my ability > only.
That's fine, thanks! -- Tom
signature.asc
Description: PGP signature