请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TDA4VM-Q1 Thread 中讨论的其他器件:TDA4VM、 AM625
工具/软件:
您好:
我对 TDA4VM/J721e SoC 的 DMA 参数有相同的问题、该参数用于在 GPMC 和存储器(DDR)之间进行 DMA 传输。
dmas = < &main_udmap 0xXXXX >; dma-names = "rxtx";
UDMA 器件树绑定需要线程 ID 值、但 GPMC 接口没有此类线程 ID。
我回顾了之前在论坛上的讨论、但在本例中使用的 SoC 是一个使用 bcdma DMA 驱动程序的 AM625:
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1337943/am62a3-linux-dma-identifiers-for-gpmc-device-register-to-memory-transfer
实际上、bcdma 器件树绑定允许选择 BCDMA 通道类型"1 -使用全局触发器1阻止复制通道"、其中通常用于线程 id 的第二个参数未使用。
dmas = <&main_bcdma 1 0 0>;
TDA4VM/J721e SoC 中使用的 UDMA 驱动程序似乎不支持此用例。
我不确定什么是"非 PSI-L 本机外设"或"传统外设"、UDMA 可以用它们做什么?
如何设置"PSI-L 结构与传统外设之间的小型 PDMA 桥接器"?
All transfers within NAVSS is done between PSI-L source and destination threads. The peripherals serviced by UDMA can be PSI-L native (sa2ul, cpsw, etc) or legacy, non PSI-L native peripherals. In the later case a special, small PDMA is tasked to act as a bridge between the PSI-L fabric and the legacy peripheral.
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings/dma/ti/k3-udma.yaml?h=linux-6.1.y#n35
此致、
罗曼语