Hi,
i have custom boards with i.MX6ul and i.MX6dl and a wlan/bluetooth chip wl1837 that communicates via uart with the i.MX6.
If dma is enabled at one point during normal work load the sdma stops fetching data from the rx fifo. This leads to rx fifo
overflow and raising the CTS line that yields in errors in the bluetooth stack
Bluetooth: hci0: command 0x0406 tx timeout
reloading hci_uart module yields in a working state of uart and sdma but is obviously no solution.
I'm using a linux mailine kernel v4.15 but i have also tried v5.2-rc3. I'm using sdma-imx6q.bin from mainline linux-firmware v3.3
but i also have tried out the ROM code and the newest available v3.5. Without success.
I have checked the uart registers. RRDY is 1. Checking the uart data with a logic analyzer doesn't show any errors.
I have dumped the uart registers after the error occurs:
021EC000: 0000803D
021EC080: 00000125
021EC084: 00002027
021EC088: 0000008C
021EC08C: 00004000
021EC090: 000022C9
021EC094: 00006250
021EC098: 000042A9
021EC09C: 0000002B
021EC0A0: 00000000
021EC0A4: 00000000
021EC0A8: 00000000
021EC0AC: 00000008
021EC0B0: 00013880
021EC0B4: 00000040
021EC0B8: 00000000
Any ideas?
edit: removed mention of FRAMERR, this is not always 1.
Hi Philipp
mailine kernel and v5.2-rc3 are not supported by nxp, one can try L4.1.15
from official nxp source.codeaurora.org/external/imx/linux-imx/ repository
Also recommended to use uart flow control.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igor,
Thanks for the reply. Well uart flow control is of course on.
I have tested this with linux-imx kernels rel_imx_4.19.35_1.0.0 and imx_4.14.98_2.0.0_ga.
In imx_4.14.98_2.0.0_ga this problem seems to have been gone away.
In rel_imx_4.19.35_1.0.0 it reappeared again as i know from mainline kernel 4.15 and 5.2.
In both cases i have used firmware sdma-imx6q.bin v3.5.
Hi Philipp
>In rel_imx_4.19.35_1.0.0 it reappeared again as i know from mainline kernel 4.15 and 5.2.
issue can be posted on kernel mail list as these versions are not supported by nxp.
Best regards
igor
Hi Igor,
is imx_4.14.98_2.0.0_ga supported? Which is the newest branch in linux-imx repository that is supported?
Best regards,
Philipp
Hi Phillipp
you wrote:
"In imx_4.14.98_2.0.0_ga this problem seems to have been gone away."
latest can be found on nxp source.codeaurora.org/external/imx/linux-imx repository
Best regards
igor