diff options
Diffstat (limited to 'drivers/spi/spi-fsl-dspi.c')
| -rw-r--r-- | drivers/spi/spi-fsl-dspi.c | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c index 35c0dd945668..a67b0ff6a362 100644 --- a/drivers/spi/spi-fsl-dspi.c +++ b/drivers/spi/spi-fsl-dspi.c @@ -70,6 +70,7 @@  #define SPI_SR			0x2c  #define SPI_SR_EOQF		0x10000000  #define SPI_SR_TCFQF		0x80000000 +#define SPI_SR_CLEAR		0xdaad0000  #define SPI_RSER		0x30  #define SPI_RSER_EOQFE		0x10000000 @@ -646,6 +647,11 @@ static const struct regmap_config dspi_regmap_config = {  	.max_register = 0x88,  }; +static void dspi_init(struct fsl_dspi *dspi) +{ +	regmap_write(dspi->regmap, SPI_SR, SPI_SR_CLEAR); +} +  static int dspi_probe(struct platform_device *pdev)  {  	struct device_node *np = pdev->dev.of_node; @@ -709,6 +715,7 @@ static int dspi_probe(struct platform_device *pdev)  		return PTR_ERR(dspi->regmap);  	} +	dspi_init(dspi);  	dspi->irq = platform_get_irq(pdev, 0);  	if (dspi->irq < 0) {  		dev_err(&pdev->dev, "can't get platform irq\n"); |