Part Number:AM3358
Tool/software: Linux
Hi
Target system: BeagleBone Green
OS: Linux kernel 4.9
Issue:
First, we compile the kernel with UART DMA support disabled (CONFIG_SERIAL_8250_DMA). The UART works correctly.
Then, we enable UART DMA support, and set the following lines in the DTS:
uart4: serial@481a8000 {
compatible = "ti,am3352-uart", "ti,omap3-uart";
ti,hwmods = "uart5";
clock-frequency = <48000000>;
reg = <0x481a8000 0x2000>;
interrupts = <45>;
status = "disabled";
dmas = <&edma 30 0>, <&edma 31 0>;
dma-names = "tx", "rx";
};
and the UART does not work.
Tracing through the kernel, omap_8250_dma_tx_complete() is never called.
Also, in the am33xx.dtsi, only uarts 0-2 have dma channels specified for them. The others do not. Is this due to a hardware limitation?
Thanks