]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: fsl-qspi: support the SpacemiT K1 SoC
authorAlex Elder <elder@riscstar.com>
Mon, 27 Oct 2025 13:30:05 +0000 (08:30 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 6 Nov 2025 16:57:36 +0000 (16:57 +0000)
Allow the SPI_FSL_QUADSPI Kconfig option to be selected if ARCH_SPACEMIT
enabled.

Add support for the SpacemiT K1 SoC in the Freescale QSPI driver by
defining the device type data for its QSPI implementation.

Signed-off-by: Alex Elder <elder@riscstar.com>
Link: https://patch.msgid.link/20251027133008.360237-8-elder@riscstar.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/Kconfig
drivers/spi/spi-fsl-qspi.c

index 4d8f00c850c1453845680192007342221e80da86..592d46c9998bbb8bef2b25d828b7f25c5c0ce180 100644 (file)
@@ -435,7 +435,8 @@ config SPI_FSL_LPSPI
 
 config SPI_FSL_QUADSPI
        tristate "Freescale QSPI controller"
-       depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || COMPILE_TEST
+       depends on ARCH_MXC || SOC_LS1021A || ARCH_LAYERSCAPE || \
+                  ARCH_SPACEMIT || COMPILE_TEST
        depends on HAS_IOMEM
        help
          This enables support for the Quad SPI controller in master mode.
index 46a3187b3354825ec89b56280f4c7283d6b9d1f6..a223b4bc6e63782801ecd21e88053e76c314b62f 100644 (file)
@@ -268,6 +268,16 @@ static const struct fsl_qspi_devtype_data ls2080a_data = {
        .little_endian = true,
 };
 
+static const struct fsl_qspi_devtype_data spacemit_k1_data = {
+       .rxfifo = SZ_128,
+       .txfifo = SZ_256,
+       .ahb_buf_size = SZ_512,
+       .sfa_size = SZ_1K,
+       .invalid_mstrid = QUADSPI_BUFXCR_INVALID_MSTRID,
+       .quirks = QUADSPI_QUIRK_TKT253890 | QUADSPI_QUIRK_SKIP_CLK_DISABLE,
+       .little_endian = true,
+};
+
 struct fsl_qspi {
        void __iomem *iobase;
        void __iomem *ahb_addr;
@@ -1003,6 +1013,7 @@ static const struct of_device_id fsl_qspi_dt_ids[] = {
        { .compatible = "fsl,imx6ul-qspi", .data = &imx6ul_data, },
        { .compatible = "fsl,ls1021a-qspi", .data = &ls1021a_data, },
        { .compatible = "fsl,ls2080a-qspi", .data = &ls2080a_data, },
+       { .compatible = "spacemit,k1-qspi", .data = &spacemit_k1_data, },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, fsl_qspi_dt_ids);