ramips: ZyXEL Keenetic Viva: export gpio usb power
[lede.git] / target / linux / layerscape / patches-4.4 / 1088-mtd-spi-nor-fsl-quadspi-add-support-for-ls1021a.patch
1 From da44c1517526822e73642fc71b034de8fc7d2b43 Mon Sep 17 00:00:00 2001
2 From: Yuan Yao <yao.yuan@freescale.com>
3 Date: Tue, 17 Nov 2015 16:44:45 +0800
4 Subject: [PATCH 088/113] mtd: spi-nor: fsl-quadspi: add support for ls1021a
5
6 [context adjustment]
7
8 LS1021a also support Freescale Quad SPI controller.
9 Add fsl-quadspi support for ls1021a chip and make SPI_FSL_QUADSPI
10 selectable for LS1021A SOC hardwares.
11
12 Signed-off-by: Yuan Yao <yao.yuan@nxp.com>
13 Acked-by: Han xu <han.xu@freescale.com>
14 Integrated-by: Jiang Yutang <yutang.jiang@nxp.com>
15 ---
16  drivers/mtd/spi-nor/Kconfig       |    2 +-
17  drivers/mtd/spi-nor/fsl-quadspi.c |   10 ++++++++++
18  2 files changed, 11 insertions(+), 1 deletion(-)
19
20 --- a/drivers/mtd/spi-nor/Kconfig
21 +++ b/drivers/mtd/spi-nor/Kconfig
22 @@ -23,7 +23,7 @@ config MTD_SPI_NOR_USE_4K_SECTORS
23  
24  config SPI_FSL_QUADSPI
25         tristate "Freescale Quad SPI controller"
26 -       depends on ARCH_MXC || COMPILE_TEST
27 +       depends on ARCH_MXC || SOC_LS1021A || COMPILE_TEST
28         depends on HAS_IOMEM
29         help
30           This enables support for the Quad SPI controller in master mode.
31 --- a/drivers/mtd/spi-nor/fsl-quadspi.c
32 +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
33 @@ -213,6 +213,7 @@ enum fsl_qspi_devtype {
34         FSL_QUADSPI_IMX6SX,
35         FSL_QUADSPI_IMX7D,
36         FSL_QUADSPI_IMX6UL,
37 +       FSL_QUADSPI_LS1021A,
38  };
39  
40  struct fsl_qspi_devtype_data {
41 @@ -258,6 +259,14 @@ static struct fsl_qspi_devtype_data imx6
42                        | QUADSPI_QUIRK_4X_INT_CLK,
43  };
44  
45 +static struct fsl_qspi_devtype_data ls1021a_data = {
46 +       .devtype = FSL_QUADSPI_LS1021A,
47 +       .rxfifo = 128,
48 +       .txfifo = 64,
49 +       .ahb_buf_size = 1024,
50 +       .driver_data = 0,
51 +};
52 +
53  #define FSL_QSPI_MAX_CHIP      4
54  struct fsl_qspi {
55         struct spi_nor nor[FSL_QSPI_MAX_CHIP];
56 @@ -812,6 +821,7 @@ static const struct of_device_id fsl_qsp
57         { .compatible = "fsl,imx6sx-qspi", .data = (void *)&imx6sx_data, },
58         { .compatible = "fsl,imx7d-qspi", .data = (void *)&imx7d_data, },
59         { .compatible = "fsl,imx6ul-qspi", .data = (void *)&imx6ul_data, },
60 +       { .compatible = "fsl,ls1021a-qspi", .data = (void *)&ls1021a_data, },
61         { /* sentinel */ }
62  };
63  MODULE_DEVICE_TABLE(of, fsl_qspi_dt_ids);