imx6q, hw flow control and possible UART issues

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

imx6q, hw flow control and possible UART issues

648 Views
angelo_d
Senior Contributor I

Dear all,

my team works on a similar sabre-auto board, imx6q, kernel 3.14.28 from boundary devices.

We are experiencing an issue communicating over UART/HCI to a Tiwi-ub2 (Texas Instruments CC2564 Transceiver) BT module. The communication

is using hardware CTS and RTS.

Mainly, in some cases, we (seems) to get no reply to hci commands from the module, especially over firmware upload.

On no reply, hciattach process results in a Timeout error. Tracing hci commands we see:

sending command

TX hci packet, size: 6

01 37 fe 02 06 0f

RX hci packet, size: 0

So no reply after a certain timeout.

I say "seems" there is no reply, since is quite hard to get by scope what happen at timeout.

Even setting a trigger on timeout, data train is already passed.

For the firmware upload we are trying hciattach with firmware speeds 3Mbit and also down to 115200. We always, in some

cases inside and interval that goes from some attempts to 2 or 3 hundred of attempts, get a fault (no reply).

Communication starts as default, to 115200, then speed of the upload is driven from the firmware binary (hci commands and data blocks are fetched from the file), and

in particular, we have seen often the "no-reply" issues happening after the speed change request hci command.

Disabling DMA seems to help, and seems to fix the issue in certain conditions (like using a certain fw binary at 3Mbit), when DMA is disabled.

Re-enabling DMA at same condition, we get soon some "no-reply" timeouts.

Disabling DMA btw doesn't seems to solve fully the issue,  we can still have some no-.reply at 115200 with DMA disabled.

It seems like a problem that happen in this particular imx6q - TiWi2 configuration. But seems at this point a UART

related issue.

From some researches, seems the BT module  can accept only max 16byte of data after RTS goes high,

could this be an issue ?

Every help is very appreciated.

Best Regards

Angelo

Labels (2)
0 Kudos
1 Reply

387 Views
angelo_d
Senior Contributor I

It seems to be an issue due to imx6q tx fifo too full for the receiving cortex-M on the BT module.

The BT module can only accept max 16 bytes after his RTS is raised up.

We cannot know anyway if more that 16 bytes are already in the TX fifo at that moment.

Every help appreciated.

0 Kudos