Hello everyone, I would like to ask you a question. I now use IMX6Q's UART4 and UART5, because the data flow demand is relatively large, so I need to use DMA. Whenever I enable DMA in the device tree, UART4 and UART5 cannot receive data normally. The configuration is shown in the red box below.
uart4: serial@21f0000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
reg = <0x021f0000 0x4000>;
interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6QDL_CLK_UART_IPG>,
<&clks IMX6QDL_CLK_UART_SERIAL>;
clock-names = "ipg", "per";
dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
dma-names =“rx”,“ tx”;
status = "disabled";
};
When I shield the received DMA, I can receive data. The configuration is shown in the figure below
uart4: serial@21f0000 {
compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
reg = <0x021f0000 0x4000>;
interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6QDL_CLK_UART_IPG>,
<&clks IMX6QDL_CLK_UART_SERIAL>;
clock-names = "ipg", "per";
dmas = <&sdma 31 4 0>, <&sdma 32 4 0>;
dma-names =“”,“ tx”;
status = "disabled";
};
What's wrong with this?
已解决! 转到解答。
Hi 824497590
reason may be in software, please try latest official linux releases from
nxp source.codeaurora.org/external/imx/linux-imx repository
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.24_2.1.0
Documentation:
Best regards
igor
Hi 824497590
reason may be in software, please try latest official linux releases from
nxp source.codeaurora.org/external/imx/linux-imx repository
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_5.4.24_2.1.0
Documentation:
Best regards
igor
thank you for your reply,I replaced my existing version of imx.c with the latest version 5.4.24_2.1.0 kernel imx.c, and no error was reported after compilation.But I still can’t receive data normally when I test.Can I do what I did above, or I must download the full version of the latest kernel source code, and then develop on the basis of the latest source code
Hope to get your reply, thank you