潮声隔雨深 · 2020年02月23日

op-tee os如何添加dma访问

HI 大家好:

我现在添加spi驱动时,使用mtk的平台,他里面在spi tx rx时,需要用到dma来读写数据,

这个在op-tee os下怎么使用呢, 在代码下搜dma,没看到相关的代码。这个os下能支持

dma的读写吗?因为考虑到opos控制安全的原理,在于memory的隔离访问,这个dma是否

没有在隔离的范围下,这个我不了解。

xfer->tx_dma = dma_map_single(dev, (void *)xfer->tx_buf, xfer->len, DMA_TO_DEVICE);

xfer->rx_dma = dma_map_single(dev, xfer->rx_buf, xfer->len, DMA_FROM_DEVICE);

1 个回答 得票排序 · 时间排序
一知半解 · 2020年02月23日

这个跟平台相关,如果要用DMA搬移数据,并且这个数据是secure memory,那么这个DMA需要能发出secure access,DMA的驱动比较简单,很容易移植。但是要确实对应平台的DMA是否支持TrustZone,还有中断问题,这部分一般都没参考,需要自己设计,如果没有中断可能需要轮询去读寄存器状态。

你的回答