The driver was wrong as it assumed that the alias values in devicetree have a particular meaning in identifying instances. This immediately breaks when there is a dtb file that does not use the same alias values, e.g. because it only needs some of the SPI ports. Tested gs101 SPI with spi-loopback-test, all went fine. I updated exynos850 as it uses the same USI.SPI_VERSION as gs101. Maybe Sam can test exynos850, if not, we can drop that patch. The patch set has some dependencies. One has to apply first the gs101 addition [1], then the simple cleanup from [2], then this patch set. [1] https://lore.kernel.org/linux-spi/20240207111516.2563218-1-tudor.ambarus@xxxxxxxxxx/ [2] https://lore.kernel.org/linux-spi/20240207120431.2766269-1-tudor.ambarus@xxxxxxxxxx/ Cheers, ta Tudor Ambarus (12): spi: dt-bindings: introduce the ``fifo-depth`` property spi: s3c64xx: define a magic value spi: s3c64xx: allow full FIFO masks spi: s3c64xx: determine the fifo depth only once spi: s3c64xx: retrieve the FIFO depth from the device tree spi: s3c64xx: allow FIFO depth to be determined from the compatible spi: s3c64xx: let the SPI core determine the bus number spi: s3c64xx: introduce s3c64xx_spi_set_port_id() spi: s3c64xx: get rid of the OF alias ID dependency spi: s3c64xx: deprecate fifo_lvl_mask, rx_lvl_offset and port_id spi: s3c64xx: switch gs101 to new port config data spi: s3c64xx: switch exynos850 to new port config data .../bindings/spi/spi-controller.yaml | 5 + drivers/spi/spi-s3c64xx.c | 142 ++++++++++++++---- 2 files changed, 116 insertions(+), 31 deletions(-) -- 2.43.0.687.g38aa6559b0-goog