Skip to content

Commit

Permalink
hw/dma: Implement a Xilinx CSU DMA model
Browse files Browse the repository at this point in the history
ZynqMP QSPI supports SPI transfer using DMA mode, but currently this
is unimplemented. When QSPI is programmed to use DMA mode, QEMU will
crash. This is observed when testing VxWorks 7.

This adds a Xilinx CSU DMA model and the implementation is based on
https://github.com/Xilinx/qemu/blob/master/hw/dma/csu_stream_dma.c.
The DST part of the model is verified along with ZynqMP GQSPI model.

Signed-off-by: Xuzhou Cheng <xuzhou.cheng@windriver.com>
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Message-id: 20210303135254.3970-2-bmeng.cn@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
  • Loading branch information
xchengL authored and pm215 committed Mar 8, 2021
1 parent 80485d8 commit a7b5dff
Show file tree
Hide file tree
Showing 4 changed files with 802 additions and 0 deletions.
4 changes: 4 additions & 0 deletions hw/dma/Kconfig
Expand Up @@ -26,3 +26,7 @@ config STP2000

config SIFIVE_PDMA
bool

config XLNX_CSU_DMA
bool
select REGISTER
1 change: 1 addition & 0 deletions hw/dma/meson.build
Expand Up @@ -14,3 +14,4 @@ softmmu_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_dma.c', 'soc_dma.c'))
softmmu_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_dma.c'))
softmmu_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_dma.c'))
softmmu_ss.add(when: 'CONFIG_SIFIVE_PDMA', if_true: files('sifive_pdma.c'))
softmmu_ss.add(when: 'CONFIG_XLNX_CSU_DMA', if_true: files('xlnx_csu_dma.c'))

0 comments on commit a7b5dff

Please sign in to comment.