[PATCH v4 0/6] spi: cadence-qspi: add Mobileye EyeQ5 support

Théo Lebrun posted 6 patches 1 week, 4 days ago
arch/mips/boot/dts/mobileye/eyeq5-epm5.dts | 15 +++++
arch/mips/boot/dts/mobileye/eyeq5.dtsi     | 15 +++++
drivers/spi/spi-cadence-quadspi.c          | 91 +++++++++++++++++++++++-------
3 files changed, 102 insertions(+), 19 deletions(-)
[PATCH v4 0/6] spi: cadence-qspi: add Mobileye EyeQ5 support
Posted by Théo Lebrun 1 week, 4 days ago
Hi all,

V4 of this series adding octal SPI-NOR support to Mobileye EyeQ5
platform. It has been tested on EyeQ5 hardware successfully. Patches
have been taken over time, meaning series got smaller over time.

Patches:
 - Make cdns,fifo-depth optional by computing it from hardware.
 - No-IRQ mode for indirect read operations. Behind a quirk flag.
 - Busywait on commands and indirect reads; reduces hrtimeouts load.
 - Add mobileye,eyeq5-ospi compatible.
 - EyeQ5 devicetree:
    - Add octal SPI-NOR node.
    - Add SPI-NOR flash node on eval board.

There is no dependency except if you want zero errors in devicetree:
system-controller series [3] for <&clocks> phandle.

Have a nice day,
Théo

[0]: https://lore.kernel.org/lkml/20240216174227.409400-1-gregory.clement@bootlin.com/
[1]: https://lore.kernel.org/linux-mips/20240209-regname-v1-0-2125efa016ef@flygoat.com/
[2]: https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/log/
[3]: https://lore.kernel.org/lkml/20240301-mbly-clk-v9-0-cbf06eb88708@bootlin.com/
[4]: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git/log/
[5]: https://lore.kernel.org/lkml/20240308-cdns-qspi-mbly-v1-0-a503856dd205@bootlin.com/
[6]: https://lore.kernel.org/lkml/171259906078.120310.15397790336440498713.b4-ty@kernel.org/

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Changes in v4:
- Fix -Wunused-variable warning on patch "allow FIFO depth detection"
  by dropping two unused local variables.
- Rebase onto spi/for-next, drop three applied patches:
  - spi: dt-bindings: cdns,qspi-nor: sort compatibles alphabetically
  - spi: dt-bindings: cdns,qspi-nor: add mobileye,eyeq5-ospi compatible
  - spi: dt-bindings: cdns,qspi-nor: make cdns,fifo-depth optional
- Link to v3: https://lore.kernel.org/r/20240410-cdns-qspi-mbly-v3-0-7b7053449cf7@bootlin.com

Changes in v3:
- dt-bindings:
  - Patch "sort compatibles alphabetically":
    - Moved first.
    - Take Reviewed-By Krzysztof.
  - Patch "add mobileye,eyeq5-ospi compatible":
  - EyeQ5 no longer implies no cdns,fifo-depth prop. Patch now only adds
    compatible, no more property conditional.
  - New "make cdns,fifo-depth optional" patch, for all compatibles.
- Driver:
  - FIFO depth detection is no longer a quirk. It is for all compatibles
    if no DT property is provided.
  - Rebase onto spi-next [4] to drop three patches. No-IRQ mode patch is
    mentioned in email saying a subset of patches got applied [6].
    However, it is not in spi-next, so it is kept in series.
  - Busywait is no longer behind a quirk; it applies to all compatibles.
  - No-IRQ mode patch got modified to change its quirk index because
    previous quirk got removed.
  - As we removed some quirks, we no longer overflow u8 quirks.
- Link to v2: https://lore.kernel.org/r/20240405-cdns-qspi-mbly-v2-0-956679866d6d@bootlin.com

Changes in v2:
- Rebase upon v6.9-rc2.
- Fix dt-bindings commit subject tags.
- Take Reviewed-by: Krzysztof Kozlowski on dt-bindings commit.
- Add dt-bindings commit to order compatibles alphabetically.
  Krzysztof: unsure if you want this. It is second so that commit
  adding EyeQ5 compatible can be taken alone easily.
- Drop patch taken upstream:
  spi: cadence-qspi: switch from legacy names to modern ones
- Add To: Rob Herring, following get_maintainer.pl recommendation.
- Link to v1: https://lore.kernel.org/r/20240308-cdns-qspi-mbly-v1-0-a503856dd205@bootlin.com

---
Théo Lebrun (6):
      spi: cadence-qspi: allow FIFO depth detection
      spi: cadence-qspi: add no-IRQ mode to indirect reads
      spi: cadence-qspi: add early busywait to cqspi_wait_for_bit()
      spi: cadence-qspi: add mobileye,eyeq5-ospi compatible
      MIPS: mobileye: eyeq5: Add SPI-NOR controller node
      MIPS: mobileye: eyeq5: add octal flash node to eval board DTS

 arch/mips/boot/dts/mobileye/eyeq5-epm5.dts | 15 +++++
 arch/mips/boot/dts/mobileye/eyeq5.dtsi     | 15 +++++
 drivers/spi/spi-cadence-quadspi.c          | 91 +++++++++++++++++++++++-------
 3 files changed, 102 insertions(+), 19 deletions(-)
---
base-commit: 9deae5003d0e89ec6ef15879a70ba6fb43e15029
change-id: 20240209-cdns-qspi-mbly-de2205a44ab3

Best regards,
-- 
Théo Lebrun <theo.lebrun@bootlin.com>

Re: (subset) [PATCH v4 0/6] spi: cadence-qspi: add Mobileye EyeQ5 support
Posted by Mark Brown 5 days, 3 hours ago
On Tue, 23 Apr 2024 12:01:39 +0200, Théo Lebrun wrote:
> V4 of this series adding octal SPI-NOR support to Mobileye EyeQ5
> platform. It has been tested on EyeQ5 hardware successfully. Patches
> have been taken over time, meaning series got smaller over time.
> 
> Patches:
>  - Make cdns,fifo-depth optional by computing it from hardware.
>  - No-IRQ mode for indirect read operations. Behind a quirk flag.
>  - Busywait on commands and indirect reads; reduces hrtimeouts load.
>  - Add mobileye,eyeq5-ospi compatible.
>  - EyeQ5 devicetree:
>     - Add octal SPI-NOR node.
>     - Add SPI-NOR flash node on eval board.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next

Thanks!

[1/6] spi: cadence-qspi: allow FIFO depth detection
      commit: 3bf64a2b66edffd28614b004648ccd60e3139c9e
[2/6] spi: cadence-qspi: add no-IRQ mode to indirect reads
      commit: 1f257b92e6330d576cc826fb8f0b74fe0e8209de
[3/6] spi: cadence-qspi: add early busywait to cqspi_wait_for_bit()
      commit: c1887396373b8faecef61d352bd521ac66162706
[4/6] spi: cadence-qspi: add mobileye,eyeq5-ospi compatible
      commit: 47766799f546249813e97a0ccde8978ba114e89f

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark