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@xxxxxxxxxxx/ [1]: https://lore.kernel.org/linux-mips/20240209-regname-v1-0-2125efa016ef@xxxxxxxxxxx/ [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@xxxxxxxxxxx/ [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@xxxxxxxxxxx/ [6]: https://lore.kernel.org/lkml/171259906078.120310.15397790336440498713.b4-ty@xxxxxxxxxx/ Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx> --- 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@xxxxxxxxxxx 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@xxxxxxxxxxx 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@xxxxxxxxxxx --- 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@xxxxxxxxxxx>