spi-cadence-quadspi: add reset before resume
authorziv.xu <ziv.xu@starfive.com>
Thu, 9 Feb 2023 02:15:59 +0000 (10:15 +0800)
committerziv.xu <ziv.xu@starfive.com>
Thu, 9 Feb 2023 02:22:24 +0000 (10:22 +0800)
add reset before resume

Signed-off-by: ziv.xu <ziv.xu@starfive.com>
drivers/spi/spi-cadence-quadspi.c

index 4b13085ed03d0167b2cb1b3e416bdc2edfe37d29..9be48b1d64a424603ea376ff8ff443abe603f72f 100644 (file)
@@ -1248,7 +1248,14 @@ static int cqspi_mem_process(struct spi_mem *mem, const struct spi_mem_op *op)
 static int cqspi_exec_mem_op(struct spi_mem *mem, const struct spi_mem_op *op)
 {
        int ret;
+       struct cqspi_st *cqspi = spi_master_get_devdata(mem->spi->master);
+
+       if (op->cmd.opcode == SPINOR_OP_RDCR) {
+               void __iomem    *reset_res;
 
+               reset_res = ioremap(STARFIVE_RESET_REG_BASE_ADDR, 0x300);
+               writel(0X7E7FE00, reset_res + QSPI_RESET_REG_OFFSET);
+       }
        ret = cqspi_mem_process(mem, op);
 
        if (ret)