From a5e7b6471b4e8061fd23742b9aec628ca428c016 Mon Sep 17 00:00:00 2001 From: Han Xu Date: Fri, 19 Apr 2019 11:53:24 -0500 Subject: [PATCH] MLK-18396-2: mtd: fsl-flexspi: enable FSPI on i.MX8MM Enable FlexSPI driver on i.MX8MM EVK. Signed-off-by: Han Xu --- drivers/mtd/spi-nor/fsl-flexspi.c | 16 ++++++++++++---- drivers/mtd/spi-nor/spi-nor.c | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/spi-nor/fsl-flexspi.c b/drivers/mtd/spi-nor/fsl-flexspi.c index aac29f4d70b4..0c35a63dbdd8 100644 --- a/drivers/mtd/spi-nor/fsl-flexspi.c +++ b/drivers/mtd/spi-nor/fsl-flexspi.c @@ -413,6 +413,7 @@ enum fsl_flexspi_devtype { FSL_FLEXSPI_IMX8QM, FSL_FLEXSPI_IMX8QXP, + FSL_FLEXSPI_IMX8MM, }; struct fsl_flexspi_devtype_data { @@ -425,8 +426,7 @@ struct fsl_flexspi_devtype_data { static struct fsl_flexspi_devtype_data imx8qm_data = { .devtype = FSL_FLEXSPI_IMX8QM, - /* .rxfifo = 1024, */ - .rxfifo = 128, + .rxfifo = 1024, .txfifo = 1024, .ahb_buf_size = 2048, .driver_data = 0, @@ -434,13 +434,20 @@ static struct fsl_flexspi_devtype_data imx8qm_data = { static struct fsl_flexspi_devtype_data imx8qxp_data = { .devtype = FSL_FLEXSPI_IMX8QXP, - /* .rxfifo = 1024, */ - .rxfifo = 128, + .rxfifo = 1024, .txfifo = 1024, .ahb_buf_size = 2048, .driver_data = 0, }; +static struct fsl_flexspi_devtype_data imx8mm_data = { + .devtype = FSL_FLEXSPI_IMX8MM, + .rxfifo = 1024, + .txfifo = 1024, + .ahb_buf_size = 2048, + .driver_data = FLEXSPI_QUIRK_QUAD_ONLY, +}; + #define FSL_FLEXSPI_MAX_CHIP 4 struct fsl_flexspi { struct mtd_info mtd[FSL_FLEXSPI_MAX_CHIP]; @@ -1154,6 +1161,7 @@ static void fsl_flexspi_unprep(struct spi_nor *nor, enum spi_nor_ops ops) static const struct of_device_id fsl_flexspi_dt_ids[] = { { .compatible = "fsl,imx8qm-flexspi", .data = (void *)&imx8qm_data, }, { .compatible = "fsl,imx8qxp-flexspi", .data = (void *)&imx8qxp_data, }, + { .compatible = "fsl,imx8mm-flexspi", .data = (void *)&imx8mm_data, }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, fsl_flexspi_dt_ids); diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 30ccaf1af533..922ffbff1a5d 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -1123,6 +1123,7 @@ static const struct flash_info spi_nor_ids[] = { { "n25q064", INFO(0x20ba17, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_QUAD_READ) }, { "n25q064a", INFO(0x20bb17, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_QUAD_READ) }, { "n25q128a11", INFO(0x20bb18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) }, + { "mt25qu256", INFO(0x20bb19, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "n25q128a13", INFO(0x20ba18, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_QUAD_READ) }, { "n25q256a", INFO(0x20ba19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "n25q256ax1", INFO(0x20bb19, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_QUAD_READ) }, -- 2.17.1