layerscape: add 64b/32b target for ls1012ardb device
[openwrt/openwrt.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);