This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM-Q1:GPMC 器件寄存器到存储器传输的 Linux DMA (UDMA)标识符

Guru**** 2390755 points
Other Parts Discussed in Thread: TDA4VM, AM625

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1500561/tda4vm-q1-linux-dma-udma-identifiers-for-gpmc-device-register-to-memory-transfer

器件型号:TDA4VM-Q1
Thread 中讨论的其他器件:TDA4VMAM625

工具/软件:

您好:

我对 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

此致、
罗曼语