/* Controller sram size in word */
 #define CQSPI_REG_SRAM_SIZE_WORD               (128)
-#define CQSPI_REG_SRAM_RESV_WORDS              (2)
-#define CQSPI_REG_SRAM_PARTITION_WR            (1)
-#define CQSPI_REG_SRAM_PARTITION_RD            \
-       (CQSPI_REG_SRAM_SIZE_WORD - CQSPI_REG_SRAM_RESV_WORDS)
+#define CQSPI_REG_SRAM_PARTITION_RD            (CQSPI_REG_SRAM_SIZE_WORD/2)
 #define CQSPI_REG_SRAM_THRESHOLD_WORDS         (50)
 
 /* Transfer mode */
        /* Configure the remap address register, no remap */
        writel(0, plat->regbase + CQSPI_REG_REMAP);
 
+       /* Indirect mode configurations */
+       writel(CQSPI_REG_SRAM_PARTITION_RD,
+              plat->regbase + CQSPI_REG_SRAMPARTITION);
+
        /* Disable all interrupts */
        writel(0, plat->regbase + CQSPI_REG_IRQMASK);
 
        writel(((u32)plat->ahbbase & CQSPI_INDIRECTTRIGGER_ADDR_MASK),
               plat->regbase + CQSPI_REG_INDIRECTTRIGGER);
 
-       /* Configure SRAM partition for read. */
-       writel(CQSPI_REG_SRAM_PARTITION_RD, plat->regbase +
-              CQSPI_REG_SRAMPARTITION);
-
        /* Configure the opcode */
        rd_reg = cmdbuf[0] << CQSPI_REG_RD_INSTR_OPCODE_LSB;
 
        writel(((u32)plat->ahbbase & CQSPI_INDIRECTTRIGGER_ADDR_MASK),
               plat->regbase + CQSPI_REG_INDIRECTTRIGGER);
 
-       writel(CQSPI_REG_SRAM_PARTITION_WR,
-              plat->regbase + CQSPI_REG_SRAMPARTITION);
-
        /* Configure the opcode */
        reg = cmdbuf[0] << CQSPI_REG_WR_INSTR_OPCODE_LSB;
        writel(reg, plat->regbase + CQSPI_REG_WR_INSTR);