]> git.dujemihanovic.xyz Git - linux.git/commit
spi: atmel-quadspi: Avoid overwriting delay register settings
authorAlexander Dahl <ada@thorsis.com>
Wed, 18 Sep 2024 08:27:43 +0000 (10:27 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 20 Sep 2024 09:41:19 +0000 (11:41 +0200)
commit329ca3eed4a9a161515a8714be6ba182321385c7
tree197dad6713b622e90d2bfab0645fdb1592324165
parentfffca269e4f31c3633c6d810833ba1b184407915
spi: atmel-quadspi: Avoid overwriting delay register settings

Previously the MR and SCR registers were just set with the supposedly
required values, from cached register values (cached reg content
initialized to zero).

All parts fixed here did not consider the current register (cache)
content, which would make future support of cs_setup, cs_hold, and
cs_inactive impossible.

Setting SCBR in atmel_qspi_setup() erases a possible DLYBS setting from
atmel_qspi_set_cs_timing().  The DLYBS setting is applied by ORing over
the current setting, without resetting the bits first.  All writes to MR
did not consider possible settings of DLYCS and DLYBCT.

Signed-off-by: Alexander Dahl <ada@thorsis.com>
Fixes: f732646d0ccd ("spi: atmel-quadspi: Add support for configuring CS timing")
Link: https://patch.msgid.link/20240918082744.379610-2-ada@thorsis.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/atmel-quadspi.c