mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
hw/ssi: Fix Linux driver init issue with xilinx_spi
The problem is that the Linux driver expects the master transaction inhibit bit(R_SPICR_MTI) to be set during driver initialization so that it can detect the fifo size but QEMU defaults it to zero out of reset. The datasheet indicates this bit is active on reset. See page 25, SPI Control Register section: https://www.xilinx.com/content/dam/xilinx/support/documents/ip_documentation/axi_quad_spi/v3_2/pg153-axi-quad-spi.pdf Signed-off-by: Chris Rauer <crauer@google.com> Message-id: 20230323182811.2641044-1-crauer@google.com Reviewed-by: Edgar E. Iglesias <edgar@zeroasic.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
782781e85d
commit
a0eaa126af
1 changed files with 1 additions and 0 deletions
|
@ -156,6 +156,7 @@ static void xlx_spi_do_reset(XilinxSPI *s)
|
|||
txfifo_reset(s);
|
||||
|
||||
s->regs[R_SPISSR] = ~0;
|
||||
s->regs[R_SPICR] = R_SPICR_MTI;
|
||||
xlx_spi_update_irq(s);
|
||||
xlx_spi_update_cs(s);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue