]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
spi: spi-nxp-fspi: add DTR mode support
authorMark Brown <broonie@kernel.org>
Fri, 19 Sep 2025 14:11:53 +0000 (15:11 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 19 Sep 2025 14:11:53 +0000 (15:11 +0100)
commitfaef0c6ccef8a6d7709227654032427ba0bb3911
tree5833aac9606b6e9f86132e00bd5eb5fd2af80278
parenta24802b0a2a238eaa610b0b0e87a4500a35de64a
parent0f67557763accbdd56681f17ed5350735198c57b
spi: spi-nxp-fspi: add DTR mode support

Merge series from Haibo Chen <haibo.chen@nxp.com>:

this patch set add DTR mode support for flexspi.
For DTR mode, flexspi only support 8D-8D-8D mode.

Patch 1~2 extract nxp_fspi_dll_override(), prepare for adding the DTR mode.
        in nor suspend, it will disable DTR mode, and enable DTR mode back
in nor resume. this require the flexspi driver has the ability to
set back to dll override mode in STR mode when clock rate < 100MHz.
Patch 3 Add the DDR LUT command support. flexspi use LUT command to handle
the dtr/str mode.
Patch 4 add the logic of sample clock source selection for STR/DTR mode
STR use the default mode 0, sample based on the internal dummy pad.
DTR use the mode 3, sample based on the external DQS pad, so this
board and device connect the DQS pad.
adjust the clock rate for DTR mode, when detect the DDR LUT command,
flexspi will automatically div 2 of the root clock and output to device.
Patch 5 finally add the DTR support in default after the upper 4 patches's
prepareation. Since lx2160a do not implement DQS pad, so can't support
this DTR mode.