On Tue, Aug 02, 2022 at 06:57:48PM +0100, Sudip Mukherjee wrote: > When we are using the enhanced spi modes we can not use EEPROM Read. > The Synopsys datasheet mentions EEPROM Read is not applicable in > enhanced SPI modes. We will need to use Receive only mode. > > Signed-off-by: Sudip Mukherjee <sudip.mukherjee@xxxxxxxxxx> > --- > drivers/spi/spi-dw-core.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-dw-core.c b/drivers/spi/spi-dw-core.c > index 8c84a2e991b5..8e624620864f 100644 > --- a/drivers/spi/spi-dw-core.c > +++ b/drivers/spi/spi-dw-core.c > @@ -727,7 +727,10 @@ static int dw_spi_exec_mem_op(struct spi_mem *mem, const struct spi_mem_op *op) > cfg.dfs = 8; > cfg.freq = clamp(mem->spi->max_speed_hz, 0U, dws->max_mem_freq); > if (op->data.dir == SPI_MEM_DATA_IN) { > - cfg.tmode = DW_SPI_CTRLR0_TMOD_EPROMREAD; > + if (enhanced_spi) > + cfg.tmode = DW_SPI_CTRLR0_TMOD_RO; > + else > + cfg.tmode = DW_SPI_CTRLR0_TMOD_EPROMREAD; Just drop this modification and initialize the dw_spi_cfg structure from scratch in the Enhanced SPI-specific method: dw_spi_exec_enh_mem_op(). -Sergey > cfg.ndf = op->data.nbytes; > } else { > cfg.tmode = DW_SPI_CTRLR0_TMOD_TO; > -- > 2.30.2 >