spi: spi-fsl-dspi: Advertise 32 bit for XSPI mode
authorEsben Haabendal <eha@deif.com>
Wed, 20 Jun 2018 07:34:41 +0000 (09:34 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 20 Jun 2018 13:48:21 +0000 (14:48 +0100)
Signed-off-by: Esben Haabendal <eha@deif.com>
Acked-by: Martin Hundebøll <martin@geanix.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-fsl-dspi.c

index 67cd2e90125541bdeddef2d0f88005b52849786b..eed55491b2c9bc60a30c7265b385466b68b56a1f 100644 (file)
@@ -1001,7 +1001,6 @@ static int dspi_probe(struct platform_device *pdev)
 
        master->cleanup = dspi_cleanup;
        master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LSB_FIRST;
-       master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16);
 
        pdata = dev_get_platdata(&pdev->dev);
        if (pdata) {
@@ -1033,6 +1032,11 @@ static int dspi_probe(struct platform_device *pdev)
                }
        }
 
+       if (dspi->devtype_data->xspi_mode)
+               master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
+       else
+               master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16);
+
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        base = devm_ioremap_resource(&pdev->dev, res);
        if (IS_ERR(base)) {