|
|
|
@ -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"); |
|
|
|
|