xilinx_spips: lqspi: Dont touch config register
The LQSPI mode is supposed to work via the automatic CS mode feature rather than manipulate CS lines itself. Now that auto CS is implemented remove LQSPIs CS mode override logic. There is still a need to manipulate the U_PAGE bit in LQSPI config register to implement dual-stack mode however. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Message-id: 000c8dd54df09523f17052638100722ef0f5a3af.1369117359.git.peter.crosthwaite@xilinx.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
c4f08ffe13
commit
15408b428f
@ -511,16 +511,16 @@ lqspi_read(void *opaque, hwaddr addr, unsigned int size)
|
||||
int flash_addr = (addr / num_effective_busses(s));
|
||||
int slave = flash_addr >> LQSPI_ADDRESS_BITS;
|
||||
int cache_entry = 0;
|
||||
uint32_t u_page_save = s->regs[R_LQSPI_STS] & ~LQSPI_CFG_U_PAGE;
|
||||
|
||||
s->regs[R_LQSPI_STS] &= ~LQSPI_CFG_U_PAGE;
|
||||
s->regs[R_LQSPI_STS] |= slave ? LQSPI_CFG_U_PAGE : 0;
|
||||
|
||||
DB_PRINT("config reg status: %08x\n", s->regs[R_LQSPI_CFG]);
|
||||
|
||||
fifo8_reset(&s->tx_fifo);
|
||||
fifo8_reset(&s->rx_fifo);
|
||||
|
||||
s->regs[R_CONFIG] &= ~CS;
|
||||
s->regs[R_CONFIG] |= ((~(1 << slave) << CS_SHIFT) & CS) | MANUAL_CS;
|
||||
xilinx_spips_update_cs_lines(s);
|
||||
|
||||
/* instruction */
|
||||
DB_PRINT("pushing read instruction: %02x\n",
|
||||
(uint8_t)(s->regs[R_LQSPI_CFG] & LQSPI_CFG_INST_CODE));
|
||||
@ -554,9 +554,9 @@ lqspi_read(void *opaque, hwaddr addr, unsigned int size)
|
||||
rx_data_bytes(s, &q->lqspi_buf[cache_entry], 4);
|
||||
cache_entry++;
|
||||
}
|
||||
xilinx_spips_update_cs_lines(s);
|
||||
|
||||
s->regs[R_CONFIG] |= CS;
|
||||
s->regs[R_LQSPI_STS] &= ~LQSPI_CFG_U_PAGE;
|
||||
s->regs[R_LQSPI_STS] |= u_page_save;
|
||||
xilinx_spips_update_cs_lines(s);
|
||||
|
||||
q->lqspi_cached_addr = addr;
|
||||
|
Loading…
Reference in New Issue
Block a user