Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 45c6a0ca authored by Allen Xu's avatar Allen Xu Committed by Brian Norris
Browse files

mtd: spi-nor: fsl-qspi: support deep sleep mode for imx6 sx chip



i.mx6 sx support turn off fastmix and megamix power.
qpsi controller can be turned off and all status lost when suspend/resume.
add suspend/resume functions and reset qspi controller when resume.

Signed-off-by: default avatarAllen Xu <b45815@freescale.com>
Signed-off-by: default avatarFrank Li <Frank.Li@freescale.com>
Acked-by: default avatarHuang Shijie <shijie.huang@intel.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 7c272ac5
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -972,6 +972,22 @@ static int fsl_qspi_remove(struct platform_device *pdev)
	return 0;
}

static int fsl_qspi_suspend(struct platform_device *pdev, pm_message_t state)
{
	return 0;
}

static int fsl_qspi_resume(struct platform_device *pdev)
{
	struct fsl_qspi *q = platform_get_drvdata(pdev);

	fsl_qspi_nor_setup(q);
	fsl_qspi_set_map_addr(q);
	fsl_qspi_nor_setup_last(q);

	return 0;
}

static struct platform_driver fsl_qspi_driver = {
	.driver = {
		.name	= "fsl-quadspi",
@@ -980,6 +996,8 @@ static struct platform_driver fsl_qspi_driver = {
	},
	.probe          = fsl_qspi_probe,
	.remove		= fsl_qspi_remove,
	.suspend	= fsl_qspi_suspend,
	.resume		= fsl_qspi_resume,
};
module_platform_driver(fsl_qspi_driver);