All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/6] hw/ssi: imx_spi: Fix various bugs in the imx_spi model
@ 2021-01-12 14:55 Bin Meng
  2021-01-12 14:55 ` [PATCH v5 1/6] hw/ssi: imx_spi: Use a macro for number of chip selects supported Bin Meng
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Bin Meng @ 2021-01-12 14:55 UTC (permalink / raw)
  To: Peter Maydell, Jean-Christophe Dubois, Alistair Francis,
	Philippe Mathieu-Daudé, qemu-arm, qemu-devel
  Cc: Bin Meng

From: Bin Meng <bin.meng@windriver.com>

This series fixes a bunch of bugs in current implementation of the imx
spi controller, including the following issues:

- chip select signal was not lower down when spi controller is disabled
- remove imx_spi_update_irq() in imx_spi_reset()
- round up the tx burst length to be multiple of 8
- transfer incorrect data when the burst length is larger than 32 bit
- spi controller tx and rx fifo endianness is incorrect

Tested with upstream U-Boot v2020.10 (polling mode) and VxWorks 7
(interrupt mode).

Changes in v5:
- rename imx_spi_hard_reset() to imx_spi_soft_reset()
- round up the burst length to be multiple of 8

Changes in v4:
- adujst the patch 2,3 order
- rename imx_spi_soft_reset() to imx_spi_hard_reset() to avoid confusion
- s/normal/common/ in the commit message
- log the burst length value in the log message

Changes in v3:
- new patch: remove imx_spi_update_irq() in imx_spi_reset()
- Move the chip selects disable out of imx_spi_reset()
- new patch: log unimplemented burst length
- Simplify the tx fifo endianness handling

Changes in v2:
- Fix the "Fixes" tag in the commit message
- Use ternary operator as Philippe suggested

Bin Meng (5):
  hw/ssi: imx_spi: Use a macro for number of chip selects supported
  hw/ssi: imx_spi: Remove imx_spi_update_irq() in imx_spi_reset()
  hw/ssi: imx_spi: Round up the burst length to be multiple of 8
  hw/ssi: imx_spi: Correct the burst length > 32 bit transfer logic
  hw/ssi: imx_spi: Correct tx and rx fifo endianness

Xuzhou Cheng (1):
  hw/ssi: imx_spi: Disable chip selects when controller is disabled

 include/hw/ssi/imx_spi.h |  5 ++++-
 hw/ssi/imx_spi.c         | 46 +++++++++++++++++++++++++++++-----------
 2 files changed, 38 insertions(+), 13 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-01-12 15:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-12 14:55 [PATCH v5 0/6] hw/ssi: imx_spi: Fix various bugs in the imx_spi model Bin Meng
2021-01-12 14:55 ` [PATCH v5 1/6] hw/ssi: imx_spi: Use a macro for number of chip selects supported Bin Meng
2021-01-12 14:55 ` [PATCH v5 2/6] hw/ssi: imx_spi: Remove imx_spi_update_irq() in imx_spi_reset() Bin Meng
2021-01-12 14:55 ` [PATCH v5 3/6] hw/ssi: imx_spi: Disable chip selects when controller is disabled Bin Meng
2021-01-12 14:55 ` [PATCH v5 4/6] hw/ssi: imx_spi: Round up the burst length to be multiple of 8 Bin Meng
2021-01-12 14:55 ` [PATCH v5 5/6] hw/ssi: imx_spi: Correct the burst length > 32 bit transfer logic Bin Meng
2021-01-12 14:55 ` [PATCH v5 6/6] hw/ssi: imx_spi: Correct tx and rx fifo endianness Bin Meng

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.