In cadence_spi_read_id we are using STIG mode to read flash id's.
Call cadence_qspi_apb_command_read_setup() to setup cmd, addr and data
bus width properly before cadence_qspi_apb_command_read().

Signed-off-by: Ashok Reddy Soma <ashok.reddy.s...@xilinx.com>
---

 drivers/spi/cadence_qspi.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
index 907f5dadc4..6e50b94e14 100644
--- a/drivers/spi/cadence_qspi.c
+++ b/drivers/spi/cadence_qspi.c
@@ -59,12 +59,17 @@ static int cadence_spi_write_speed(struct udevice *bus, 
uint hz)
 static int cadence_spi_read_id(struct cadence_spi_plat *plat, u8 len,
                               u8 *idcode)
 {
+       int err;
        struct spi_mem_op op = SPI_MEM_OP(SPI_MEM_OP_CMD(0x9F, 1),
                                          SPI_MEM_OP_NO_ADDR,
                                          SPI_MEM_OP_NO_DUMMY,
                                          SPI_MEM_OP_DATA_IN(len, idcode, 1));
 
-       return cadence_qspi_apb_command_read(plat, &op);
+       err = cadence_qspi_apb_command_read_setup(plat, &op);
+       if (!err)
+               err = cadence_qspi_apb_command_read(plat, &op);
+
+       return err;
 }
 
 /* Calibration sequence to determine the read data capture delay register */
-- 
2.17.1

Reply via email to