使用设备树配置的davinci-spi设备驱动程序是否支持DMA传输



我正试图使用DMA对连接到OMAP-L138的SPI总线的FPGA进行编程,但没有成功。

目前,我使用的是linux 3.19附带的stock davinci-spi驱动程序(drivers/spi/spi-davinci.c)。FPGA配置是成功的(没有启用DMA),但速度非常慢。我正在使用设备树来配置SPI接口。

我想使用DMA来提高性能,但从spi-davinci.c源代码及其设备树绑定来看,当使用设备树配置时,驱动程序似乎不支持DMA。我的理解正确吗?如果是,在使用设备树的同时,是否有任何计划使用davinci的SPI驱动程序支持DMA传输?

以下是实现目标的一些指南:

首先,检查SPI是否有自己的DMA引擎。如果没有,也许有一个通用的DMA控制器。您可以通过查看SPI数据表和板互连示意图来检查这一点。

如果以上都不是真的,那么您就不能将DMA和SPI一起使用。

如果SPI有自己的DMA,则需要为此编写驱动程序。如果板上有DMA,它可能被其他组件使用,请搜索该特定设备的DMA_dngine驱动程序。然后,您需要为特定的DMA引擎创建一个DMA客户端。

请阅读:

DMA提供商

DMA客户端

祝好运

相关内容

最新更新