mx6 SDMA stops fetching UART rx data

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mx6 SDMA stops fetching UART rx data

1,002 Views
pp1
Contributor I

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.

Labels (3)
Tags (2)
0 Kudos
5 Replies

810 Views
igorpadykov
NXP Employee
NXP Employee

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

linux-imx - i.MX Linux kernel 

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

810 Views
pp1
Contributor I

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.

0 Kudos

810 Views
igorpadykov
NXP Employee
NXP Employee

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

0 Kudos

810 Views
pp1
Contributor I

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

0 Kudos

810 Views
igorpadykov
NXP Employee
NXP Employee

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

linux-imx - i.MX Linux kernel 

Best regards
igor

0 Kudos