spi: fsl_qspi: Fix DDR mode setting for latest iMX platforms
authorYe Li <ye.li@nxp.com>
Wed, 14 Aug 2019 11:31:27 +0000 (11:31 +0000)
committerStefano Babic <sbabic@denx.de>
Tue, 8 Oct 2019 14:36:37 +0000 (16:36 +0200)
commit7949576664ac8fe8c0da08fcd8c611b9616719f1
tree1a647c71940659471cf3916c4be70fffe6bf0544
parent4ee0ff1268d3302a83da97af2a61869f672be473
spi: fsl_qspi: Fix DDR mode setting for latest iMX platforms

On latest iMX platforms like iMX7D/iMX6UL/iMX8MQ, the QSPI controller
is updated to have TDH field in FLSHCR register. According to reference
manual, this TDH must be set to 1 when DDR_EN is set. Otherwise, the TX
DDR delay logic won't be enabled.

Another issue in DDR mode is the MCR register will be overwritten in
every read/write/erase operation. This causes DDR_EN been cleared while
TDH=1, then no clk2x output for TX data shift and all operations will
fail.

Signed-off-by: Ye Li <ye.li@nxp.com>
drivers/spi/fsl_qspi.c