我正在尝试使用DMA对连接到OMAP-L138的SPI总线的FPGA进行编程,但没有成功。
目前,我正在使用linux 3.19附带的股票davinci-spi驱动程序(drivers / spi / spi-davinci.c)。 FPGA配置成功(没有启用DMA),但速度非常慢。我正在使用设备树来配置SPI接口。
我想使用DMA来提高性能,但是通过查看spi-davinci.c源代码及其设备树绑定,驱动程序在配置设备树时似乎不支持DMA。我的理解是否正确?如果是这样,有没有计划在使用设备树时使用davinci的SPI驱动程序支持DMA传输?
答案 0 :(得分:0)
以下是实现目标的一些指导原则:
首先,检查SPI是否有自己的DMA引擎。如果没有,也许船上有一个通用的DMA控制器。您可以通过查看SPI数据表并查看电路板互连原理图来检查这一点。
如果以上都不是真的,那么就不能将SPI与SPI一起使用。
如果SPI有自己的DMA,则需要为此编写驱动程序。 如果板上有DMA,它可能被其他组件使用,为该特定设备搜索dma_dngine驱动程序。然后,您需要为该特定DMA引擎创建DMA客户端。
请阅读:
祝你好运