2015-11-18 09:22:11

by Yuan Yao

[permalink] [raw]
Subject: [PATCH] mtd: spi-nor: fsl-quadspi: add support for ls1021a

LS1021a also support Freescale Quad SPI controller.
Add fsl-quadspi support for ls1021a chip and make SPI_FSL_QUADSPI
selectable for LS1021A SOC hardwares.

Signed-off-by: Yuan Yao <[email protected]>
---
drivers/mtd/spi-nor/Kconfig | 2 +-
drivers/mtd/spi-nor/fsl-quadspi.c | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
index 2fe2a7e..1368221 100644
--- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig
@@ -23,7 +23,7 @@ config MTD_SPI_NOR_USE_4K_SECTORS

config SPI_FSL_QUADSPI
tristate "Freescale Quad SPI controller"
- depends on ARCH_MXC || COMPILE_TEST
+ depends on ARCH_MXC || SOC_LS1021A || COMPILE_TEST
depends on HAS_IOMEM
help
This enables support for the Quad SPI controller in master mode.
diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
index 0ce7768..03a589d 100644
--- a/drivers/mtd/spi-nor/fsl-quadspi.c
+++ b/drivers/mtd/spi-nor/fsl-quadspi.c
@@ -213,6 +213,7 @@ enum fsl_qspi_devtype {
FSL_QUADSPI_IMX6SX,
FSL_QUADSPI_IMX7D,
FSL_QUADSPI_IMX6UL,
+ FSL_QUADSPI_LS1021A,
};

struct fsl_qspi_devtype_data {
@@ -258,6 +259,14 @@ static struct fsl_qspi_devtype_data imx6ul_data = {
| QUADSPI_QUIRK_4X_INT_CLK,
};

+static struct fsl_qspi_devtype_data ls1021a_data = {
+ .devtype = FSL_QUADSPI_LS1021A,
+ .rxfifo = 128,
+ .txfifo = 64,
+ .ahb_buf_size = 1024,
+ .driver_data = 0,
+};
+
#define FSL_QSPI_MAX_CHIP 4
struct fsl_qspi {
struct spi_nor nor[FSL_QSPI_MAX_CHIP];
@@ -812,6 +821,7 @@ static const struct of_device_id fsl_qspi_dt_ids[] = {
{ .compatible = "fsl,imx6sx-qspi", .data = (void *)&imx6sx_data, },
{ .compatible = "fsl,imx7d-qspi", .data = (void *)&imx7d_data, },
{ .compatible = "fsl,imx6ul-qspi", .data = (void *)&imx6ul_data, },
+ { .compatible = "fsl,ls1021a-qspi", .data = (void *)&ls1021a_data, },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, fsl_qspi_dt_ids);
--
2.1.0.27.g96db324


2015-11-25 19:27:31

by Han Xu

[permalink] [raw]
Subject: Re: [PATCH] mtd: spi-nor: fsl-quadspi: add support for ls1021a

On Wed, Nov 18, 2015 at 05:15:03PM +0800, Yuan Yao wrote:
> LS1021a also support Freescale Quad SPI controller.
> Add fsl-quadspi support for ls1021a chip and make SPI_FSL_QUADSPI
> selectable for LS1021A SOC hardwares.
>
> Signed-off-by: Yuan Yao <[email protected]>
> ---
> drivers/mtd/spi-nor/Kconfig | 2 +-
> drivers/mtd/spi-nor/fsl-quadspi.c | 10 ++++++++++
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
> index 2fe2a7e..1368221 100644
> --- a/drivers/mtd/spi-nor/Kconfig
> +++ b/drivers/mtd/spi-nor/Kconfig
> @@ -23,7 +23,7 @@ config MTD_SPI_NOR_USE_4K_SECTORS
>
> config SPI_FSL_QUADSPI
> tristate "Freescale Quad SPI controller"
> - depends on ARCH_MXC || COMPILE_TEST
> + depends on ARCH_MXC || SOC_LS1021A || COMPILE_TEST
> depends on HAS_IOMEM
> help
> This enables support for the Quad SPI controller in master mode.
> diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
> index 0ce7768..03a589d 100644
> --- a/drivers/mtd/spi-nor/fsl-quadspi.c
> +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
> @@ -213,6 +213,7 @@ enum fsl_qspi_devtype {
> FSL_QUADSPI_IMX6SX,
> FSL_QUADSPI_IMX7D,
> FSL_QUADSPI_IMX6UL,
> + FSL_QUADSPI_LS1021A,
> };
>
> struct fsl_qspi_devtype_data {
> @@ -258,6 +259,14 @@ static struct fsl_qspi_devtype_data imx6ul_data = {
> | QUADSPI_QUIRK_4X_INT_CLK,
> };
>
> +static struct fsl_qspi_devtype_data ls1021a_data = {
> + .devtype = FSL_QUADSPI_LS1021A,
> + .rxfifo = 128,
> + .txfifo = 64,
> + .ahb_buf_size = 1024,
> + .driver_data = 0,
> +};
> +
> #define FSL_QSPI_MAX_CHIP 4
> struct fsl_qspi {
> struct spi_nor nor[FSL_QSPI_MAX_CHIP];
> @@ -812,6 +821,7 @@ static const struct of_device_id fsl_qspi_dt_ids[] = {
> { .compatible = "fsl,imx6sx-qspi", .data = (void *)&imx6sx_data, },
> { .compatible = "fsl,imx7d-qspi", .data = (void *)&imx7d_data, },
> { .compatible = "fsl,imx6ul-qspi", .data = (void *)&imx6ul_data, },
> + { .compatible = "fsl,ls1021a-qspi", .data = (void *)&ls1021a_data, },

Same comments, document this compatible.

> { /* sentinel */ }
> };
> MODULE_DEVICE_TABLE(of, fsl_qspi_dt_ids);
> --
> 2.1.0.27.g96db324
>

Acked-by: Han xu <[email protected]>
--
Best Regards,

Han "Allen" Xu

2015-11-26 07:00:58

by Yuan Yao

[permalink] [raw]
Subject: RE: [PATCH] mtd: spi-nor: fsl-quadspi: add support for ls1021a

Ok.
Thanks.

-----Original Message-----
From: Han Xu [mailto:[email protected]]
Sent: Wednesday, November 25, 2015 2:15 PM
To: Yuan Yao-B46683 <[email protected]>
Cc: [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH] mtd: spi-nor: fsl-quadspi: add support for ls1021a

On Wed, Nov 18, 2015 at 05:15:03PM +0800, Yuan Yao wrote:
> LS1021a also support Freescale Quad SPI controller.
> Add fsl-quadspi support for ls1021a chip and make SPI_FSL_QUADSPI
> selectable for LS1021A SOC hardwares.
>
> Signed-off-by: Yuan Yao <[email protected]>
> ---
> drivers/mtd/spi-nor/Kconfig | 2 +-
> drivers/mtd/spi-nor/fsl-quadspi.c | 10 ++++++++++
> 2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
> index 2fe2a7e..1368221 100644
> --- a/drivers/mtd/spi-nor/Kconfig
> +++ b/drivers/mtd/spi-nor/Kconfig
> @@ -23,7 +23,7 @@ config MTD_SPI_NOR_USE_4K_SECTORS
>
> config SPI_FSL_QUADSPI
> tristate "Freescale Quad SPI controller"
> - depends on ARCH_MXC || COMPILE_TEST
> + depends on ARCH_MXC || SOC_LS1021A || COMPILE_TEST
> depends on HAS_IOMEM
> help
> This enables support for the Quad SPI controller in master mode.
> diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c
> b/drivers/mtd/spi-nor/fsl-quadspi.c
> index 0ce7768..03a589d 100644
> --- a/drivers/mtd/spi-nor/fsl-quadspi.c
> +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
> @@ -213,6 +213,7 @@ enum fsl_qspi_devtype {
> FSL_QUADSPI_IMX6SX,
> FSL_QUADSPI_IMX7D,
> FSL_QUADSPI_IMX6UL,
> + FSL_QUADSPI_LS1021A,
> };
>
> struct fsl_qspi_devtype_data {
> @@ -258,6 +259,14 @@ static struct fsl_qspi_devtype_data imx6ul_data = {
> | QUADSPI_QUIRK_4X_INT_CLK,
> };
>
> +static struct fsl_qspi_devtype_data ls1021a_data = {
> + .devtype = FSL_QUADSPI_LS1021A,
> + .rxfifo = 128,
> + .txfifo = 64,
> + .ahb_buf_size = 1024,
> + .driver_data = 0,
> +};
> +
> #define FSL_QSPI_MAX_CHIP 4
> struct fsl_qspi {
> struct spi_nor nor[FSL_QSPI_MAX_CHIP]; @@ -812,6 +821,7 @@ static
> const struct of_device_id fsl_qspi_dt_ids[] = {
> { .compatible = "fsl,imx6sx-qspi", .data = (void *)&imx6sx_data, },
> { .compatible = "fsl,imx7d-qspi", .data = (void *)&imx7d_data, },
> { .compatible = "fsl,imx6ul-qspi", .data = (void *)&imx6ul_data, },
> + { .compatible = "fsl,ls1021a-qspi", .data = (void *)&ls1021a_data,
> +},

Same comments, document this compatible.

> { /* sentinel */ }
> };
> MODULE_DEVICE_TABLE(of, fsl_qspi_dt_ids);
> --
> 2.1.0.27.g96db324
>

Acked-by: Han xu <[email protected]>
--
Best Regards,

Han "Allen" Xu