public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/17] spi: cadence-qspi: Add Renesas RZ/N1 support
@ 2026-01-21 17:04 Miquel Raynal (Schneider Electric)
  2026-01-21 17:04 ` [PATCH v3 01/17] spi: dt-bindings: cdns,qspi-nor: Remove duplicated constraints Miquel Raynal (Schneider Electric)
                   ` (16 more replies)
  0 siblings, 17 replies; 27+ messages in thread
From: Miquel Raynal (Schneider Electric) @ 2026-01-21 17:04 UTC (permalink / raw)
  To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm, Vaishnav Achath
  Cc: Thomas Petazzoni, Hervé Codina, Wolfram Sang,
	Vignesh Raghavendra, Santhosh Kumar K, Pratyush Yadav,
	Pascal Eberhard, linux-spi, devicetree, linux-kernel,
	linux-renesas-soc, Miquel Raynal (Schneider Electric)

Hello,

This series adds support for the QSPI controller available on Renesas
RZ/N1S and RZ/N1D SoC. It has been tested with a custom board (see last
SPI patch for details), but has been tested by Wolfram (thank you!) on
the DB board.
Link: https://lore.kernel.org/linux-devicetree/20260116114852.52948-2-wsa+renesas@sang-engineering.com/

Adding support for this SoC required a few adaptations in the Cadence
QSPI driver. The bulk of the work is in the few last patches. Everything
else is just misc style fixes and improvements which bothered me while I
was wandering.

In order to support all constraints, I sometimes used a new quirk (for
the write protection feature and the "no indirect mode"), and sometimes
used the compatible directly. The ones I thought might not be RZ/N1
specific have been implemented under the form of a quirk, in order to
ease their reuse. The other adaptations, which I believe are more
Renesas specific, have been handled using the compatible. This is all
very arbitrary, and can be discussed.

Thanks,
Miquèl

Signed-off-by: Miquel Raynal (Schneider Electric) <miquel.raynal@bootlin.com>
---
Changes in v3:
- Collected tags from Wolfram and Geert.
- Dropped the Cadence compatible as this fallback would simply not work
  alone.
- Fixed the clock issue reported by Santhosh.
- Fixed the DT snippet following the discussion with Geert.
- Modified more deeply the binding, to no longer expect a fifo
  size/depth nor any trigger address, as these values have no meaning in
  the score of the Renesas implementation.
- Link to v2: https://lore.kernel.org/r/20260115-schneider-6-19-rc1-qspi-v2-0-7e6a06e1e17b@bootlin.com

Changes in v2:
- Fix commit log of DT binding patch, following Krzysztof's comment.
- Fix properties order in DTSI.
- Rebase on top of spi/for-next and fix all conflicts.
- Simplify even further the code in the cleanup patches following
  Pratyush's advices.
- Link to v1: https://lore.kernel.org/r/20251219-schneider-6-19-rc1-qspi-v1-0-8ad505173e44@bootlin.com

---
Miquel Raynal (Schneider Electric) (17):
      spi: dt-bindings: cdns,qspi-nor: Remove duplicated constraints
      spi: dt-bindings: cdns,qspi-nor: Drop label in example
      spi: dt-bindings: cdns,qspi-nor: Add examples for testing the specific cases
      spi: dt-bindings: cdns,qspi-nor: Add Renesas RZ/N1D400 to the list
      spi: cadence-qspi: Align definitions
      spi: cadence-qspi: Fix style and improve readability
      spi: cadence-qspi: Fix ORing style and alignments
      spi: cadence-qspi: Remove an useless operation
      spi: cadence-qspi: Make sure we filter out unsupported ops
      spi: cadence-qspi: Fix probe error path and remove
      spi: cadence-qspi: Try hard to disable the clocks
      spi: cadence-qspi: Kill cqspi_jh7110_clk_init
      spi: cadence-qspi: Add a flag for controllers without indirect access support
      spi: cadence-qspi: Make sure write protection is disabled
      spi: cadence-qspi: Use a default value for cdns,fifo-width
      spi: cadence-qspi: Add support for the Renesas RZ/N1 controller
      ARM: dts: r9a06g032: Describe the QSPI controller

 .../devicetree/bindings/spi/cdns,qspi-nor.yaml     |  81 +++++-
 arch/arm/boot/dts/renesas/r9a06g032.dtsi           |  14 ++
 drivers/spi/spi-cadence-quadspi.c                  | 279 ++++++++++-----------
 3 files changed, 216 insertions(+), 158 deletions(-)
---
base-commit: 0afb3ab76ffb521700af678ea931d31192f93260
change-id: 20251219-schneider-6-19-rc1-qspi-7c3e1547af6d

Best regards,
-- 
Miquel Raynal (Schneider Electric) <miquel.raynal@bootlin.com>


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2026-01-22 15:32 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-21 17:04 [PATCH v3 00/17] spi: cadence-qspi: Add Renesas RZ/N1 support Miquel Raynal (Schneider Electric)
2026-01-21 17:04 ` [PATCH v3 01/17] spi: dt-bindings: cdns,qspi-nor: Remove duplicated constraints Miquel Raynal (Schneider Electric)
2026-01-21 22:14   ` Rob Herring
2026-01-22 14:21     ` Miquel Raynal
2026-01-21 17:04 ` [PATCH v3 02/17] spi: dt-bindings: cdns,qspi-nor: Drop label in example Miquel Raynal (Schneider Electric)
2026-01-21 22:14   ` Rob Herring (Arm)
2026-01-21 17:04 ` [PATCH v3 03/17] spi: dt-bindings: cdns,qspi-nor: Add examples for testing the specific cases Miquel Raynal (Schneider Electric)
2026-01-21 23:07   ` Rob Herring
2026-01-22 14:35     ` Miquel Raynal
2026-01-22 15:32       ` Rob Herring
2026-01-21 17:05 ` [PATCH v3 04/17] spi: dt-bindings: cdns,qspi-nor: Add Renesas RZ/N1D400 to the list Miquel Raynal (Schneider Electric)
2026-01-21 23:09   ` Rob Herring (Arm)
2026-01-21 17:05 ` [PATCH v3 05/17] spi: cadence-qspi: Align definitions Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 06/17] spi: cadence-qspi: Fix style and improve readability Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 07/17] spi: cadence-qspi: Fix ORing style and alignments Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 08/17] spi: cadence-qspi: Remove an useless operation Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 09/17] spi: cadence-qspi: Make sure we filter out unsupported ops Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 10/17] spi: cadence-qspi: Fix probe error path and remove Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 11/17] spi: cadence-qspi: Try hard to disable the clocks Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 12/17] spi: cadence-qspi: Kill cqspi_jh7110_clk_init Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 13/17] spi: cadence-qspi: Add a flag for controllers without indirect access support Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 14/17] spi: cadence-qspi: Make sure write protection is disabled Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 15/17] spi: cadence-qspi: Use a default value for cdns,fifo-width Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 16/17] spi: cadence-qspi: Add support for the Renesas RZ/N1 controller Miquel Raynal (Schneider Electric)
2026-01-21 17:05 ` [PATCH v3 17/17] ARM: dts: r9a06g032: Describe the QSPI controller Miquel Raynal (Schneider Electric)
2026-01-22 10:59   ` Geert Uytterhoeven
2026-01-22 13:12     ` Miquel Raynal

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox