Open zwjin1210 opened 1 month ago
这个应该怎么指定
只需要修改 uart node
pdma-enable = <1>;
是不是我不需要关心是哪个 PDMA 只需要pdma-enable = <1>;就可以
是的,driver 會自動分配
我不开启DMA能正常收到 但是开启了DMA 就不正常 系统都会挂掉
是的,driver 會自動分配
我测试了好像不行
可以參考,下面PDMA的設定, 需要指定pdma port(pdma0~3)及pdma channel.
uart1:serial@40710000 { compatible = "nuvoton,ma35d1-uart"; reg = <0x0 0x40710000 0x0 0x10000>; interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk UART1_GATE>; port-number = <1>;
/* PDMA Setting */
dmas = <&pdma0 0>,<&pdma0 1>;
dma-names = "tx", "rx";
pdma-enable = <1>; /* Enable PDMA */
status = "disabled";
};
dmas = <&pdma0 0>,<&pdma0 1>; dma-names = "tx", "rx"; pdma-enable = <1>; / Enable PDMA /
这么配置DMA 是没问题但是串口485 好像只能收发一次 ,我显示串口收发控制脚是使用RTS引脚当普通引脚使用 不使用DMA情况下是可以正常收发的 ,但是如果使用DMA 只能收发一次
你的RTS引腳,是s/w控制的嗎 ...??
你的RTS引腳,是s/w控制的嗎 ...??
是的 配置成普通GPIO 因为之前配置成RTS 时 485只能收发一次 然后看论坛里说是当普通GPIO用 可以
使用DMA時,需要設置RTS pin,這樣硬體才會自動拉, 用s/w拉的話,可能會來不及
使用DMA時,需要設置RTS pin,這樣硬體才會自動拉, 用s/w拉的話,可能會來不及 但是我不使用DMA时 配置成RTS pin 就是收发一次
都不需要,從 device tree 指定使用 PDMA 即可