工具/软件:
Linux SDK11.0.15。
如何为 MAIN_spi0 配置 DMA?
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.
工具/软件:
Linux SDK11.0.15。
如何为 MAIN_spi0 配置 DMA?
嗨、Tony、需要注意的一点是 pinmux 会有所不同。 因此、 在 https://www.ti.com/lit/ds/symlink/am62l.pdf 中、 我们可以得到:

上面的内容应该如下所示:
&main_pmx0{
main_spi0_pins_default:main-spi0-pins-default{
pinctrl-single、pins =<
AM62LX_IOPAD (0x01a8 PIN_INPUT、0)/*(E13) SPI0_CLK */
AM62LX_IOPAD (0x01ac、PIN_INPUT、0)/*(E12) SPI0_D0 */
AM62LX_IOPAD (0x01b0、PIN_INPUT、0)/*(B12) SPI0_D1 */
AM62LX_IOPAD (0x01a0、PIN_INPUT、0)/*(E11) SPI0_CS0 */
>;
};
};
此外、您需要启用 SPI0 控制器、如下所示:
&main_spi0{
状态=“正常“;
pinctrl-names =“default";“;
pinctrl-0 =<&MAIN_spi0_pins_default>;
#address-cells =<1>;
#size-cells =<0>;
/*在此处添加 SPI 设备*/
spidev@0{
compatible =“Rohm、dh2228fv“;
reg =<0>;
SPI-max-frequency =<24000000>;
};
};
有一点是、在 当前 AM62L3 EVM 器件树中、引脚 E12 和 B12 配置为 GPIO、如下所示、因此您可能需要在启用 SPI0 时将其删除(或修改)以避免冲突:
AM62LX_IOPAD (0x01ac、PIN_INPUT、7)/*(E12) SPI0_D0.GPIO0_90 */
AM62LX_IOPAD (0x01b0、PIN_INPUT、7)/*(B12) SPI0_D1.GPIO0_91 */
谢谢您、
Paula
嗨、Tony、我对回答另一个问题的道歉=/。
在任何情况下、是的、您都可以使用在 AM62x 中完成的类似方法。 以下常见问题解答提供了在 AM6x 器件的 SPI 中启用 DMA 的指南。
(+)【常见问题解答】AM6x:在 Linux 中使用 DMA 优化 SPI 传输字节间差异 — 处理器论坛-处理器 — TI E2E 支持论坛
谢谢您、
Paula