* [PATCH v2 0/3] fix the flexspi error on imx8ulp
@ 2024-09-05 1:26 haibo.chen
2024-09-05 1:26 ` [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support haibo.chen
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: haibo.chen @ 2024-09-05 1:26 UTC (permalink / raw)
To: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo,
s.hauer
Cc: kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree,
linux-kernel, imx, linux-arm-kernel, haibo.chen
From: Haibo Chen <haibo.chen@nxp.com>
The flexspi on imx8ulp only has 16 LUTs, different with others
which has 32 LUTs. So currently flexspi driver will write the
wrong register when fill LUT.
This patch set add a new compatible string for imx8ulp to
distinguish the LUT number.
Changes for V2:
- Remove the change for imx8mp, since this broken users
Haibo Chen (3):
dt-bindings: spi: nxp-fspi: add imx8ulp support
spi: fspi: add support for imx8ulp
arm64: dts: imx8ulp: correct the flexspi compatible string
.../devicetree/bindings/spi/spi-nxp-fspi.yaml | 1 +
arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 2 +-
drivers/spi/spi-nxp-fspi.c | 54 ++++++++++++-------
3 files changed, 37 insertions(+), 20 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 12+ messages in thread* [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support 2024-09-05 1:26 [PATCH v2 0/3] fix the flexspi error on imx8ulp haibo.chen @ 2024-09-05 1:26 ` haibo.chen 2024-09-05 3:07 ` Frank Li 2024-09-05 6:43 ` Krzysztof Kozlowski 2024-09-05 1:26 ` [PATCH v2 2/3] spi: fspi: add support for imx8ulp haibo.chen 2024-09-05 1:26 ` [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string haibo.chen 2 siblings, 2 replies; 12+ messages in thread From: haibo.chen @ 2024-09-05 1:26 UTC (permalink / raw) To: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer Cc: kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel, haibo.chen From: Haibo Chen <haibo.chen@nxp.com> The flexspi on imx8ulp only has 16 number of LUTs, it is different with flexspi on other imx SoC which has 32 number of LUTs. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> --- Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml b/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml index 4a5f41bde00f..902db92da832 100644 --- a/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml +++ b/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml @@ -21,6 +21,7 @@ properties: - nxp,imx8mm-fspi - nxp,imx8mp-fspi - nxp,imx8qxp-fspi + - nxp,imx8ulp-fspi - nxp,lx2160a-fspi - items: - enum: -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support 2024-09-05 1:26 ` [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support haibo.chen @ 2024-09-05 3:07 ` Frank Li 2024-09-05 6:43 ` Krzysztof Kozlowski 1 sibling, 0 replies; 12+ messages in thread From: Frank Li @ 2024-09-05 3:07 UTC (permalink / raw) To: haibo.chen Cc: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel On Thu, Sep 05, 2024 at 09:26:15AM +0800, haibo.chen@nxp.com wrote: > From: Haibo Chen <haibo.chen@nxp.com> > > The flexspi on imx8ulp only has 16 number of LUTs, it is different > with flexspi on other imx SoC which has 32 number of LUTs. > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> > --- > Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml b/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml > index 4a5f41bde00f..902db92da832 100644 > --- a/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml > +++ b/Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml > @@ -21,6 +21,7 @@ properties: > - nxp,imx8mm-fspi > - nxp,imx8mp-fspi > - nxp,imx8qxp-fspi > + - nxp,imx8ulp-fspi > - nxp,lx2160a-fspi > - items: > - enum: > -- > 2.34.1 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support 2024-09-05 1:26 ` [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support haibo.chen 2024-09-05 3:07 ` Frank Li @ 2024-09-05 6:43 ` Krzysztof Kozlowski 1 sibling, 0 replies; 12+ messages in thread From: Krzysztof Kozlowski @ 2024-09-05 6:43 UTC (permalink / raw) To: haibo.chen Cc: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel On Thu, Sep 05, 2024 at 09:26:15AM +0800, haibo.chen@nxp.com wrote: > From: Haibo Chen <haibo.chen@nxp.com> > > The flexspi on imx8ulp only has 16 number of LUTs, it is different > with flexspi on other imx SoC which has 32 number of LUTs. > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> > --- > Documentation/devicetree/bindings/spi/spi-nxp-fspi.yaml | 1 + > 1 file changed, 1 insertion(+) Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 2/3] spi: fspi: add support for imx8ulp 2024-09-05 1:26 [PATCH v2 0/3] fix the flexspi error on imx8ulp haibo.chen 2024-09-05 1:26 ` [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support haibo.chen @ 2024-09-05 1:26 ` haibo.chen 2024-09-05 1:38 ` Fabio Estevam 2024-09-05 1:26 ` [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string haibo.chen 2 siblings, 1 reply; 12+ messages in thread From: haibo.chen @ 2024-09-05 1:26 UTC (permalink / raw) To: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer Cc: kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel, haibo.chen From: Haibo Chen <haibo.chen@nxp.com> The flexspi on imx8ulp only has 16 LUTs, different with others which have up to 32 LUTs. Add a separate compatible string and nxp_fspi_devtype_data to support flexspi on imx8ulp. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> --- drivers/spi/spi-nxp-fspi.c | 54 ++++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index fd1816befcd8..64af89323802 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -57,13 +57,6 @@ #include <linux/spi/spi.h> #include <linux/spi/spi-mem.h> -/* - * The driver only uses one single LUT entry, that is updated on - * each call of exec_op(). Index 0 is preset at boot with a basic - * read operation, so let's use the last entry (31). - */ -#define SEQID_LUT 31 - /* Registers used by the driver */ #define FSPI_MCR0 0x00 #define FSPI_MCR0_AHB_TIMEOUT(x) ((x) << 24) @@ -263,9 +256,6 @@ #define FSPI_TFDR 0x180 #define FSPI_LUT_BASE 0x200 -#define FSPI_LUT_OFFSET (SEQID_LUT * 4 * 4) -#define FSPI_LUT_REG(idx) \ - (FSPI_LUT_BASE + FSPI_LUT_OFFSET + (idx) * 4) /* register map end */ @@ -341,6 +331,7 @@ struct nxp_fspi_devtype_data { unsigned int txfifo; unsigned int ahb_buf_size; unsigned int quirks; + unsigned int lut_num; bool little_endian; }; @@ -349,6 +340,7 @@ static struct nxp_fspi_devtype_data lx2160a_data = { .txfifo = SZ_1K, /* (128 * 64 bits) */ .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ .quirks = 0, + .lut_num = 32, .little_endian = true, /* little-endian */ }; @@ -357,6 +349,7 @@ static struct nxp_fspi_devtype_data imx8mm_data = { .txfifo = SZ_1K, /* (128 * 64 bits) */ .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ .quirks = 0, + .lut_num = 32, .little_endian = true, /* little-endian */ }; @@ -365,6 +358,7 @@ static struct nxp_fspi_devtype_data imx8qxp_data = { .txfifo = SZ_1K, /* (128 * 64 bits) */ .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ .quirks = 0, + .lut_num = 32, .little_endian = true, /* little-endian */ }; @@ -373,6 +367,16 @@ static struct nxp_fspi_devtype_data imx8dxl_data = { .txfifo = SZ_1K, /* (128 * 64 bits) */ .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ .quirks = FSPI_QUIRK_USE_IP_ONLY, + .lut_num = 32, + .little_endian = true, /* little-endian */ +}; + +static struct nxp_fspi_devtype_data imx8ulp_data = { + .rxfifo = SZ_512, /* (64 * 64 bits) */ + .txfifo = SZ_1K, /* (128 * 64 bits) */ + .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ + .quirks = 0, + .lut_num = 16, .little_endian = true, /* little-endian */ }; @@ -544,6 +548,8 @@ static void nxp_fspi_prepare_lut(struct nxp_fspi *f, void __iomem *base = f->iobase; u32 lutval[4] = {}; int lutidx = 1, i; + u32 lut_offset = (f->devtype_data->lut_num - 1) * 4 * 4; + u32 target_lut_reg; /* cmd */ lutval[0] |= LUT_DEF(0, LUT_CMD, LUT_PAD(op->cmd.buswidth), @@ -588,8 +594,10 @@ static void nxp_fspi_prepare_lut(struct nxp_fspi *f, fspi_writel(f, FSPI_LCKER_UNLOCK, f->iobase + FSPI_LCKCR); /* fill LUT */ - for (i = 0; i < ARRAY_SIZE(lutval); i++) - fspi_writel(f, lutval[i], base + FSPI_LUT_REG(i)); + for (i = 0; i < ARRAY_SIZE(lutval); i++) { + target_lut_reg = FSPI_LUT_BASE + lut_offset + i * 4; + fspi_writel(f, lutval[i], base + target_lut_reg); + } dev_dbg(f->dev, "CMD[%02x] lutval[0:%08x 1:%08x 2:%08x 3:%08x], size: 0x%08x\n", op->cmd.opcode, lutval[0], lutval[1], lutval[2], lutval[3], op->data.nbytes); @@ -874,7 +882,7 @@ static int nxp_fspi_do_op(struct nxp_fspi *f, const struct spi_mem_op *op) void __iomem *base = f->iobase; int seqnum = 0; int err = 0; - u32 reg; + u32 reg, seqid_lut; reg = fspi_readl(f, base + FSPI_IPRXFCR); /* invalid RXFIFO first */ @@ -890,8 +898,9 @@ static int nxp_fspi_do_op(struct nxp_fspi *f, const struct spi_mem_op *op) * the LUT at each exec_op() call. And also specify the DATA * length, since it's has not been specified in the LUT. */ + seqid_lut = f->devtype_data->lut_num - 1; fspi_writel(f, op->data.nbytes | - (SEQID_LUT << FSPI_IPCR1_SEQID_SHIFT) | + (seqid_lut << FSPI_IPCR1_SEQID_SHIFT) | (seqnum << FSPI_IPCR1_SEQNUM_SHIFT), base + FSPI_IPCR1); @@ -1015,7 +1024,7 @@ static int nxp_fspi_default_setup(struct nxp_fspi *f) { void __iomem *base = f->iobase; int ret, i; - u32 reg; + u32 reg, seqid_lut; /* disable and unprepare clock to avoid glitch pass to controller */ nxp_fspi_clk_disable_unprep(f); @@ -1090,11 +1099,17 @@ static int nxp_fspi_default_setup(struct nxp_fspi *f) fspi_writel(f, reg, base + FSPI_FLSHB1CR1); fspi_writel(f, reg, base + FSPI_FLSHB2CR1); + /* + * The driver only uses one single LUT entry, that is updated on + * each call of exec_op(). Index 0 is preset at boot with a basic + * read operation, so let's use the last entry (31 or 15). + */ + seqid_lut = f->devtype_data->lut_num - 1; /* AHB Read - Set lut sequence ID for all CS. */ - fspi_writel(f, SEQID_LUT, base + FSPI_FLSHA1CR2); - fspi_writel(f, SEQID_LUT, base + FSPI_FLSHA2CR2); - fspi_writel(f, SEQID_LUT, base + FSPI_FLSHB1CR2); - fspi_writel(f, SEQID_LUT, base + FSPI_FLSHB2CR2); + fspi_writel(f, seqid_lut, base + FSPI_FLSHA1CR2); + fspi_writel(f, seqid_lut, base + FSPI_FLSHA2CR2); + fspi_writel(f, seqid_lut, base + FSPI_FLSHB1CR2); + fspi_writel(f, seqid_lut, base + FSPI_FLSHB2CR2); f->selected = -1; @@ -1289,6 +1304,7 @@ static const struct of_device_id nxp_fspi_dt_ids[] = { { .compatible = "nxp,imx8mp-fspi", .data = (void *)&imx8mm_data, }, { .compatible = "nxp,imx8qxp-fspi", .data = (void *)&imx8qxp_data, }, { .compatible = "nxp,imx8dxl-fspi", .data = (void *)&imx8dxl_data, }, + { .compatible = "nxp,imx8ulp-fspi", .data = (void *)&imx8ulp_data, }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, nxp_fspi_dt_ids); -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/3] spi: fspi: add support for imx8ulp 2024-09-05 1:26 ` [PATCH v2 2/3] spi: fspi: add support for imx8ulp haibo.chen @ 2024-09-05 1:38 ` Fabio Estevam 2024-09-05 1:49 ` Bough Chen 0 siblings, 1 reply; 12+ messages in thread From: Fabio Estevam @ 2024-09-05 1:38 UTC (permalink / raw) To: haibo.chen Cc: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel Hi Haibo, On Wed, Sep 4, 2024 at 10:26 PM <haibo.chen@nxp.com> wrote: > @@ -373,6 +367,16 @@ static struct nxp_fspi_devtype_data imx8dxl_data = { > .txfifo = SZ_1K, /* (128 * 64 bits) */ > .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ > .quirks = FSPI_QUIRK_USE_IP_ONLY, > + .lut_num = 32, > + .little_endian = true, /* little-endian */ The addition of little_endian to imx8dl should be a separate patch. The comment is pointless too. ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH v2 2/3] spi: fspi: add support for imx8ulp 2024-09-05 1:38 ` Fabio Estevam @ 2024-09-05 1:49 ` Bough Chen 2024-09-05 3:03 ` Fabio Estevam 2024-09-05 3:05 ` Frank Li 0 siblings, 2 replies; 12+ messages in thread From: Bough Chen @ 2024-09-05 1:49 UTC (permalink / raw) To: Fabio Estevam Cc: Han Xu, yogeshgaur.83@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, singh.kuldeep87k@gmail.com, hs@denx.de, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org > -----Original Message----- > From: Fabio Estevam <festevam@gmail.com> > Sent: 2024年9月5日 9:38 > To: Bough Chen <haibo.chen@nxp.com> > Cc: Han Xu <han.xu@nxp.com>; yogeshgaur.83@gmail.com; > broonie@kernel.org; robh@kernel.org; krzk+dt@kernel.org; > conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de; > kernel@pengutronix.de; singh.kuldeep87k@gmail.com; hs@denx.de; > linux-spi@vger.kernel.org; devicetree@vger.kernel.org; > linux-kernel@vger.kernel.org; imx@lists.linux.dev; > linux-arm-kernel@lists.infradead.org > Subject: Re: [PATCH v2 2/3] spi: fspi: add support for imx8ulp > > Hi Haibo, > > On Wed, Sep 4, 2024 at 10:26 PM <haibo.chen@nxp.com> wrote: > > > @@ -373,6 +367,16 @@ static struct nxp_fspi_devtype_data imx8dxl_data = > { > > .txfifo = SZ_1K, /* (128 * 64 bits) */ > > .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ > > .quirks = FSPI_QUIRK_USE_IP_ONLY, > > + .lut_num = 32, > > + .little_endian = true, /* little-endian */ > > The addition of little_endian to imx8dl should be a separate patch. Hi Fabio, I only add the .lut_num here, do not touch .lettle_endian here, and I add another 8ulp in the follow line, but format patch show in this way. Anything I can do to adjust how to format patch? Best Regards Haibo Chen > > The comment is pointless too. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/3] spi: fspi: add support for imx8ulp 2024-09-05 1:49 ` Bough Chen @ 2024-09-05 3:03 ` Fabio Estevam 2024-09-05 3:05 ` Frank Li 1 sibling, 0 replies; 12+ messages in thread From: Fabio Estevam @ 2024-09-05 3:03 UTC (permalink / raw) To: Bough Chen Cc: Han Xu, yogeshgaur.83@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, singh.kuldeep87k@gmail.com, hs@denx.de, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org On Wed, Sep 4, 2024 at 10:49 PM Bough Chen <haibo.chen@nxp.com> wrote: > Hi Fabio, > > I only add the .lut_num here, do not touch .lettle_endian here, and I add another 8ulp in the follow line, but format patch show in this way. Anything I can do to adjust how to format patch? Now that I look at the original code, I see that imx8dl already has little_endian = true. Sorry for the noise. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/3] spi: fspi: add support for imx8ulp 2024-09-05 1:49 ` Bough Chen 2024-09-05 3:03 ` Fabio Estevam @ 2024-09-05 3:05 ` Frank Li 1 sibling, 0 replies; 12+ messages in thread From: Frank Li @ 2024-09-05 3:05 UTC (permalink / raw) To: Bough Chen Cc: Fabio Estevam, Han Xu, yogeshgaur.83@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, singh.kuldeep87k@gmail.com, hs@denx.de, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org On Thu, Sep 05, 2024 at 01:49:03AM +0000, Bough Chen wrote: > > > -----Original Message----- > > From: Fabio Estevam <festevam@gmail.com> > > Sent: 2024年9月5日 9:38 > > To: Bough Chen <haibo.chen@nxp.com> > > Cc: Han Xu <han.xu@nxp.com>; yogeshgaur.83@gmail.com; > > broonie@kernel.org; robh@kernel.org; krzk+dt@kernel.org; > > conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de; > > kernel@pengutronix.de; singh.kuldeep87k@gmail.com; hs@denx.de; > > linux-spi@vger.kernel.org; devicetree@vger.kernel.org; > > linux-kernel@vger.kernel.org; imx@lists.linux.dev; > > linux-arm-kernel@lists.infradead.org > > Subject: Re: [PATCH v2 2/3] spi: fspi: add support for imx8ulp > > > > Hi Haibo, > > > > On Wed, Sep 4, 2024 at 10:26 PM <haibo.chen@nxp.com> wrote: > > > > > @@ -373,6 +367,16 @@ static struct nxp_fspi_devtype_data imx8dxl_data = > > { > > > .txfifo = SZ_1K, /* (128 * 64 bits) */ > > > .ahb_buf_size = SZ_2K, /* (256 * 64 bits) */ > > > .quirks = FSPI_QUIRK_USE_IP_ONLY, > > > + .lut_num = 32, > > > + .little_endian = true, /* little-endian */ > > > > The addition of little_endian to imx8dl should be a separate patch. > > Hi Fabio, > > I only add the .lut_num here, do not touch .lettle_endian here, and I add another 8ulp in the follow line, but format patch show in this way. Anything I can do to adjust how to format patch? you can try below diff option. --patience Generate a diff using the "patience diff" algorithm. --histogram Generate a diff using the "histogram diff" algorithm. --anchored=<text> Generate a diff using the "anchored diff" algorithm. I suggest split to two patches, one patch convert to hardcode 16 to lut_num, no function change. The other one is add 7ulp part. Frank > > Best Regards > Haibo Chen > > > > The comment is pointless too. ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string 2024-09-05 1:26 [PATCH v2 0/3] fix the flexspi error on imx8ulp haibo.chen 2024-09-05 1:26 ` [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support haibo.chen 2024-09-05 1:26 ` [PATCH v2 2/3] spi: fspi: add support for imx8ulp haibo.chen @ 2024-09-05 1:26 ` haibo.chen 2024-09-05 3:08 ` Frank Li 2 siblings, 1 reply; 12+ messages in thread From: haibo.chen @ 2024-09-05 1:26 UTC (permalink / raw) To: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer Cc: kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel, haibo.chen From: Haibo Chen <haibo.chen@nxp.com> The flexspi on imx8ulp only has 16 LUTs, and imx8mm flexspi has 32 LUTs, so correct the compatible string here, otherwise will meet below error: [ 1.119072] ------------[ cut here ]------------ [ 1.123926] WARNING: CPU: 0 PID: 1 at drivers/spi/spi-nxp-fspi.c:855 nxp_fspi_exec_op+0xb04/0xb64 [ 1.133239] Modules linked in: [ 1.136448] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-rc6-next-20240902-00001-g131bf9439dd9 #69 [ 1.146821] Hardware name: NXP i.MX8ULP EVK (DT) [ 1.151647] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1.158931] pc : nxp_fspi_exec_op+0xb04/0xb64 [ 1.163496] lr : nxp_fspi_exec_op+0xa34/0xb64 [ 1.168060] sp : ffff80008002b2a0 [ 1.171526] x29: ffff80008002b2d0 x28: 0000000000000000 x27: 0000000000000000 [ 1.179002] x26: ffff2eb645542580 x25: ffff800080610014 x24: ffff800080610000 [ 1.186480] x23: ffff2eb645548080 x22: 0000000000000006 x21: ffff2eb6455425e0 [ 1.193956] x20: 0000000000000000 x19: ffff80008002b5e0 x18: ffffffffffffffff [ 1.201432] x17: ffff2eb644467508 x16: 0000000000000138 x15: 0000000000000002 [ 1.208907] x14: 0000000000000000 x13: ffff2eb6400d8080 x12: 00000000ffffff00 [ 1.216378] x11: 0000000000000000 x10: ffff2eb6400d8080 x9 : ffff2eb697adca80 [ 1.223850] x8 : ffff2eb697ad3cc0 x7 : 0000000100000000 x6 : 0000000000000001 [ 1.231324] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 00000000000007a6 [ 1.238795] x2 : 0000000000000000 x1 : 00000000000001ce x0 : 00000000ffffff92 [ 1.246267] Call trace: [ 1.248824] nxp_fspi_exec_op+0xb04/0xb64 [ 1.253031] spi_mem_exec_op+0x3a0/0x430 [ 1.257139] spi_nor_read_id+0x80/0xcc [ 1.261065] spi_nor_scan+0x1ec/0xf10 [ 1.264901] spi_nor_probe+0x108/0x2fc [ 1.268828] spi_mem_probe+0x6c/0xbc [ 1.272574] spi_probe+0x84/0xe4 [ 1.275958] really_probe+0xbc/0x29c [ 1.279713] __driver_probe_device+0x78/0x12c [ 1.284277] driver_probe_device+0xd8/0x15c [ 1.288660] __device_attach_driver+0xb8/0x134 [ 1.293316] bus_for_each_drv+0x88/0xe8 [ 1.297337] __device_attach+0xa0/0x190 [ 1.301353] device_initial_probe+0x14/0x20 [ 1.305734] bus_probe_device+0xac/0xb0 [ 1.309752] device_add+0x5d0/0x790 [ 1.313408] __spi_add_device+0x134/0x204 [ 1.317606] of_register_spi_device+0x3b4/0x590 [ 1.322348] spi_register_controller+0x47c/0x754 [ 1.327181] devm_spi_register_controller+0x4c/0xa4 [ 1.332289] nxp_fspi_probe+0x1cc/0x2b0 [ 1.336307] platform_probe+0x68/0xc4 [ 1.340145] really_probe+0xbc/0x29c [ 1.343893] __driver_probe_device+0x78/0x12c [ 1.348457] driver_probe_device+0xd8/0x15c [ 1.352838] __driver_attach+0x90/0x19c [ 1.356857] bus_for_each_dev+0x7c/0xdc [ 1.360877] driver_attach+0x24/0x30 [ 1.364624] bus_add_driver+0xe4/0x208 [ 1.368552] driver_register+0x5c/0x124 [ 1.372573] __platform_driver_register+0x28/0x34 [ 1.377497] nxp_fspi_driver_init+0x1c/0x28 [ 1.381888] do_one_initcall+0x80/0x1c8 [ 1.385908] kernel_init_freeable+0x1c4/0x28c [ 1.390472] kernel_init+0x20/0x1d8 [ 1.394138] ret_from_fork+0x10/0x20 [ 1.397885] ---[ end trace 0000000000000000 ]--- [ 1.407908] ------------[ cut here ]------------ Signed-off-by: Haibo Chen <haibo.chen@nxp.com> --- arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi index e32d5afcf4a9..43f543768444 100644 --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi @@ -384,7 +384,7 @@ pcc4: clock-controller@29800000 { }; flexspi2: spi@29810000 { - compatible = "nxp,imx8mm-fspi"; + compatible = "nxp,imx8ulp-fspi"; reg = <0x29810000 0x10000>, <0x60000000 0x10000000>; reg-names = "fspi_base", "fspi_mmap"; #address-cells = <1>; -- 2.34.1 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string 2024-09-05 1:26 ` [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string haibo.chen @ 2024-09-05 3:08 ` Frank Li 2024-09-05 3:22 ` Bough Chen 0 siblings, 1 reply; 12+ messages in thread From: Frank Li @ 2024-09-05 3:08 UTC (permalink / raw) To: haibo.chen Cc: han.xu, yogeshgaur.83, broonie, robh, krzk+dt, conor+dt, shawnguo, s.hauer, kernel, festevam, singh.kuldeep87k, hs, linux-spi, devicetree, linux-kernel, imx, linux-arm-kernel On Thu, Sep 05, 2024 at 09:26:17AM +0800, haibo.chen@nxp.com wrote: > From: Haibo Chen <haibo.chen@nxp.com> > > The flexspi on imx8ulp only has 16 LUTs, and imx8mm flexspi has > 32 LUTs, so correct the compatible string here, otherwise will > meet below error: Not sure if need fix tag. Frank > > [ 1.119072] ------------[ cut here ]------------ > [ 1.123926] WARNING: CPU: 0 PID: 1 at drivers/spi/spi-nxp-fspi.c:855 nxp_fspi_exec_op+0xb04/0xb64 > [ 1.133239] Modules linked in: > [ 1.136448] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.11.0-rc6-next-20240902-00001-g131bf9439dd9 #69 > [ 1.146821] Hardware name: NXP i.MX8ULP EVK (DT) > [ 1.151647] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [ 1.158931] pc : nxp_fspi_exec_op+0xb04/0xb64 > [ 1.163496] lr : nxp_fspi_exec_op+0xa34/0xb64 > [ 1.168060] sp : ffff80008002b2a0 > [ 1.171526] x29: ffff80008002b2d0 x28: 0000000000000000 x27: 0000000000000000 > [ 1.179002] x26: ffff2eb645542580 x25: ffff800080610014 x24: ffff800080610000 > [ 1.186480] x23: ffff2eb645548080 x22: 0000000000000006 x21: ffff2eb6455425e0 > [ 1.193956] x20: 0000000000000000 x19: ffff80008002b5e0 x18: ffffffffffffffff > [ 1.201432] x17: ffff2eb644467508 x16: 0000000000000138 x15: 0000000000000002 > [ 1.208907] x14: 0000000000000000 x13: ffff2eb6400d8080 x12: 00000000ffffff00 > [ 1.216378] x11: 0000000000000000 x10: ffff2eb6400d8080 x9 : ffff2eb697adca80 > [ 1.223850] x8 : ffff2eb697ad3cc0 x7 : 0000000100000000 x6 : 0000000000000001 > [ 1.231324] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 00000000000007a6 > [ 1.238795] x2 : 0000000000000000 x1 : 00000000000001ce x0 : 00000000ffffff92 > [ 1.246267] Call trace: > [ 1.248824] nxp_fspi_exec_op+0xb04/0xb64 > [ 1.253031] spi_mem_exec_op+0x3a0/0x430 > [ 1.257139] spi_nor_read_id+0x80/0xcc > [ 1.261065] spi_nor_scan+0x1ec/0xf10 > [ 1.264901] spi_nor_probe+0x108/0x2fc > [ 1.268828] spi_mem_probe+0x6c/0xbc > [ 1.272574] spi_probe+0x84/0xe4 > [ 1.275958] really_probe+0xbc/0x29c > [ 1.279713] __driver_probe_device+0x78/0x12c > [ 1.284277] driver_probe_device+0xd8/0x15c > [ 1.288660] __device_attach_driver+0xb8/0x134 > [ 1.293316] bus_for_each_drv+0x88/0xe8 > [ 1.297337] __device_attach+0xa0/0x190 > [ 1.301353] device_initial_probe+0x14/0x20 > [ 1.305734] bus_probe_device+0xac/0xb0 > [ 1.309752] device_add+0x5d0/0x790 > [ 1.313408] __spi_add_device+0x134/0x204 > [ 1.317606] of_register_spi_device+0x3b4/0x590 > [ 1.322348] spi_register_controller+0x47c/0x754 > [ 1.327181] devm_spi_register_controller+0x4c/0xa4 > [ 1.332289] nxp_fspi_probe+0x1cc/0x2b0 > [ 1.336307] platform_probe+0x68/0xc4 > [ 1.340145] really_probe+0xbc/0x29c > [ 1.343893] __driver_probe_device+0x78/0x12c > [ 1.348457] driver_probe_device+0xd8/0x15c > [ 1.352838] __driver_attach+0x90/0x19c > [ 1.356857] bus_for_each_dev+0x7c/0xdc > [ 1.360877] driver_attach+0x24/0x30 > [ 1.364624] bus_add_driver+0xe4/0x208 > [ 1.368552] driver_register+0x5c/0x124 > [ 1.372573] __platform_driver_register+0x28/0x34 > [ 1.377497] nxp_fspi_driver_init+0x1c/0x28 > [ 1.381888] do_one_initcall+0x80/0x1c8 > [ 1.385908] kernel_init_freeable+0x1c4/0x28c > [ 1.390472] kernel_init+0x20/0x1d8 > [ 1.394138] ret_from_fork+0x10/0x20 > [ 1.397885] ---[ end trace 0000000000000000 ]--- > [ 1.407908] ------------[ cut here ]------------ > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> > --- > arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > index e32d5afcf4a9..43f543768444 100644 > --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > @@ -384,7 +384,7 @@ pcc4: clock-controller@29800000 { > }; > > flexspi2: spi@29810000 { > - compatible = "nxp,imx8mm-fspi"; > + compatible = "nxp,imx8ulp-fspi"; > reg = <0x29810000 0x10000>, <0x60000000 0x10000000>; > reg-names = "fspi_base", "fspi_mmap"; > #address-cells = <1>; > -- > 2.34.1 > ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string 2024-09-05 3:08 ` Frank Li @ 2024-09-05 3:22 ` Bough Chen 0 siblings, 0 replies; 12+ messages in thread From: Bough Chen @ 2024-09-05 3:22 UTC (permalink / raw) To: Frank Li Cc: Han Xu, yogeshgaur.83@gmail.com, broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, singh.kuldeep87k@gmail.com, hs@denx.de, linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org > -----Original Message----- > From: Frank Li <frank.li@nxp.com> > Sent: 2024年9月5日 11:09 > To: Bough Chen <haibo.chen@nxp.com> > Cc: Han Xu <han.xu@nxp.com>; yogeshgaur.83@gmail.com; > broonie@kernel.org; robh@kernel.org; krzk+dt@kernel.org; > conor+dt@kernel.org; shawnguo@kernel.org; s.hauer@pengutronix.de; > kernel@pengutronix.de; festevam@gmail.com; singh.kuldeep87k@gmail.com; > hs@denx.de; linux-spi@vger.kernel.org; devicetree@vger.kernel.org; > linux-kernel@vger.kernel.org; imx@lists.linux.dev; > linux-arm-kernel@lists.infradead.org > Subject: Re: [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible > string > > On Thu, Sep 05, 2024 at 09:26:17AM +0800, haibo.chen@nxp.com wrote: > > From: Haibo Chen <haibo.chen@nxp.com> > > > > The flexspi on imx8ulp only has 16 LUTs, and imx8mm flexspi has > > 32 LUTs, so correct the compatible string here, otherwise will meet > > below error: > > Not sure if need fix tag. If add fix tag here, when back porting to stable tree, also need to back port the other two patch in this patch set. So all these three patches need add cc-stable and add fix tag? Best Regards Haibo Chen > > Frank > > > > [ 1.119072] ------------[ cut here ]------------ > > [ 1.123926] WARNING: CPU: 0 PID: 1 at drivers/spi/spi-nxp-fspi.c:855 > nxp_fspi_exec_op+0xb04/0xb64 > > [ 1.133239] Modules linked in: > > [ 1.136448] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted > 6.11.0-rc6-next-20240902-00001-g131bf9439dd9 #69 > > [ 1.146821] Hardware name: NXP i.MX8ULP EVK (DT) > > [ 1.151647] pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS > BTYPE=--) > > [ 1.158931] pc : nxp_fspi_exec_op+0xb04/0xb64 > > [ 1.163496] lr : nxp_fspi_exec_op+0xa34/0xb64 > > [ 1.168060] sp : ffff80008002b2a0 > > [ 1.171526] x29: ffff80008002b2d0 x28: 0000000000000000 x27: > 0000000000000000 > > [ 1.179002] x26: ffff2eb645542580 x25: ffff800080610014 x24: > ffff800080610000 > > [ 1.186480] x23: ffff2eb645548080 x22: 0000000000000006 x21: > ffff2eb6455425e0 > > [ 1.193956] x20: 0000000000000000 x19: ffff80008002b5e0 x18: > ffffffffffffffff > > [ 1.201432] x17: ffff2eb644467508 x16: 0000000000000138 x15: > 0000000000000002 > > [ 1.208907] x14: 0000000000000000 x13: ffff2eb6400d8080 x12: > 00000000ffffff00 > > [ 1.216378] x11: 0000000000000000 x10: ffff2eb6400d8080 x9 : > ffff2eb697adca80 > > [ 1.223850] x8 : ffff2eb697ad3cc0 x7 : 0000000100000000 x6 : > 0000000000000001 > > [ 1.231324] x5 : 0000000000000000 x4 : 0000000000000000 x3 : > 00000000000007a6 > > [ 1.238795] x2 : 0000000000000000 x1 : 00000000000001ce x0 : > 00000000ffffff92 > > [ 1.246267] Call trace: > > [ 1.248824] nxp_fspi_exec_op+0xb04/0xb64 > > [ 1.253031] spi_mem_exec_op+0x3a0/0x430 > > [ 1.257139] spi_nor_read_id+0x80/0xcc > > [ 1.261065] spi_nor_scan+0x1ec/0xf10 > > [ 1.264901] spi_nor_probe+0x108/0x2fc > > [ 1.268828] spi_mem_probe+0x6c/0xbc > > [ 1.272574] spi_probe+0x84/0xe4 > > [ 1.275958] really_probe+0xbc/0x29c > > [ 1.279713] __driver_probe_device+0x78/0x12c > > [ 1.284277] driver_probe_device+0xd8/0x15c > > [ 1.288660] __device_attach_driver+0xb8/0x134 > > [ 1.293316] bus_for_each_drv+0x88/0xe8 > > [ 1.297337] __device_attach+0xa0/0x190 > > [ 1.301353] device_initial_probe+0x14/0x20 > > [ 1.305734] bus_probe_device+0xac/0xb0 > > [ 1.309752] device_add+0x5d0/0x790 > > [ 1.313408] __spi_add_device+0x134/0x204 > > [ 1.317606] of_register_spi_device+0x3b4/0x590 > > [ 1.322348] spi_register_controller+0x47c/0x754 > > [ 1.327181] devm_spi_register_controller+0x4c/0xa4 > > [ 1.332289] nxp_fspi_probe+0x1cc/0x2b0 > > [ 1.336307] platform_probe+0x68/0xc4 > > [ 1.340145] really_probe+0xbc/0x29c > > [ 1.343893] __driver_probe_device+0x78/0x12c > > [ 1.348457] driver_probe_device+0xd8/0x15c > > [ 1.352838] __driver_attach+0x90/0x19c > > [ 1.356857] bus_for_each_dev+0x7c/0xdc > > [ 1.360877] driver_attach+0x24/0x30 > > [ 1.364624] bus_add_driver+0xe4/0x208 > > [ 1.368552] driver_register+0x5c/0x124 > > [ 1.372573] __platform_driver_register+0x28/0x34 > > [ 1.377497] nxp_fspi_driver_init+0x1c/0x28 > > [ 1.381888] do_one_initcall+0x80/0x1c8 > > [ 1.385908] kernel_init_freeable+0x1c4/0x28c > > [ 1.390472] kernel_init+0x20/0x1d8 > > [ 1.394138] ret_from_fork+0x10/0x20 > > [ 1.397885] ---[ end trace 0000000000000000 ]--- > > [ 1.407908] ------------[ cut here ]------------ > > > > Signed-off-by: Haibo Chen <haibo.chen@nxp.com> > > --- > > arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > > b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > > index e32d5afcf4a9..43f543768444 100644 > > --- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > > +++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi > > @@ -384,7 +384,7 @@ pcc4: clock-controller@29800000 { > > }; > > > > flexspi2: spi@29810000 { > > - compatible = "nxp,imx8mm-fspi"; > > + compatible = "nxp,imx8ulp-fspi"; > > reg = <0x29810000 0x10000>, <0x60000000 0x10000000>; > > reg-names = "fspi_base", "fspi_mmap"; > > #address-cells = <1>; > > -- > > 2.34.1 > > ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2024-09-05 6:43 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-05 1:26 [PATCH v2 0/3] fix the flexspi error on imx8ulp haibo.chen 2024-09-05 1:26 ` [PATCH v2 1/3] dt-bindings: spi: nxp-fspi: add imx8ulp support haibo.chen 2024-09-05 3:07 ` Frank Li 2024-09-05 6:43 ` Krzysztof Kozlowski 2024-09-05 1:26 ` [PATCH v2 2/3] spi: fspi: add support for imx8ulp haibo.chen 2024-09-05 1:38 ` Fabio Estevam 2024-09-05 1:49 ` Bough Chen 2024-09-05 3:03 ` Fabio Estevam 2024-09-05 3:05 ` Frank Li 2024-09-05 1:26 ` [PATCH v2 3/3] arm64: dts: imx8ulp: correct the flexspi compatible string haibo.chen 2024-09-05 3:08 ` Frank Li 2024-09-05 3:22 ` Bough Chen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox