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 (12/12). v2: - update bindings to consider the asymmetric case where the RX FIFO depth can differ from the TX FIFO depth - update commit message in patch 11/12 to describe the GS101 change (I was wrongly mentioning exynos 850). Tudor Ambarus (12): spi: dt-bindings: introduce FIFO depth properties 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 | 27 ++++ drivers/spi/spi-s3c64xx.c | 142 ++++++++++++++---- 2 files changed, 138 insertions(+), 31 deletions(-) -- 2.43.0.687.g38aa6559b0-goog