Update: I pre-compiled the imx-sdma7.bin (from yocto generated RFS) using
CONFIG_EXTRA_FIRMWARE="sdma-imx7d.bin"
CONFIG_EXTRA_FIRMWARE_DIR="lib/firmware"
And the boot messages have these
[ 0.713318] imx-sdma 30bd0000.dma-controller: loaded firmware 4.5
..........
[ 0.721005] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.722796] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 25, base_baud = 1500000) is a IMX
[ 0.723239] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 26, base_baud = 5000000) is a IMX
[ 0.723600] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 27, base_baud = 1500000) is a IMX
[ 1.694646] printk: console [ttymxc1] enabled
It looks like SDMA has firmware has been loaded successfully, but I don't see any other message on that. I am not sure if UART0 (ttymxc0) is using SDMA or not. Is there any way to find that?
The UART1 device tree have the following (entries in imx8mp.dtsi)
uart1 {
dmas = <&sdma1 22 4 0>, <&sdma1 23 4 0>;
dma-names = "rx", "tx";
..
}
How do I verify if the SDMA is enabled for ttymxc0 ? Any sysfs status checks?