spi: atmel-quadspi: Disable the QSPI IP at suspend()
authorTudor Ambarus <tudor.ambarus@microchip.com>
Wed, 10 Feb 2021 13:54:28 +0000 (15:54 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 11 Feb 2021 13:15:12 +0000 (13:15 +0000)
It is safer to disable the QSPI IP at suspend, in order to avoid
possible impact of glitches on the internal FSMs. This is a theoretical
fix, there were no problems seen as of now. Tested on sama5d2 and
sam9x60 versions of the IP.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Link: https://lore.kernel.org/r/20210210135428.204134-1-tudor.ambarus@microchip.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/atmel-quadspi.c

index 10bc539..95d4fa3 100644 (file)
@@ -657,6 +657,7 @@ static int __maybe_unused atmel_qspi_suspend(struct device *dev)
        struct spi_controller *ctrl = dev_get_drvdata(dev);
        struct atmel_qspi *aq = spi_controller_get_devdata(ctrl);
 
+       atmel_qspi_write(QSPI_CR_QSPIDIS, aq, QSPI_CR);
        clk_disable_unprepare(aq->qspick);
        clk_disable_unprepare(aq->pclk);