Hello,
I am trying to make implement a bluetooth module (DA14531) on my IMX6SLLEVK dev board, using the J4/ UART5 connection.
I implemented the following changes to my dts:
&uart5 {
pinctrl-names = "default";
/*pinctrl-0 = <&pinctrl_uart5>;*/
uart-has-rtscts;
/* for DTE mode, add below change */
fsl,dte-mode;
pinctrl-0 = <&pinctrl_uart5dte>;
dmas = <&sdma 33 4 2>, <&sdma 34 4 2>;
dma-names = "rx", "tx";
status = "okay";
};
...
pinctrl_uart5: uart5grp {
fsl,pins = <
MX6SLL_PAD_ECSPI1_MOSI__UART5_DCE_TX 0x1b0b1
MX6SLL_PAD_ECSPI1_SCLK__UART5_DCE_RX 0x1b0b1
MX6SLL_PAD_ECSPI1_SS0__UART5_DCE_CTS 0x1b0b1
MX6SLL_PAD_ECSPI1_MISO__UART5_DCE_RTS 0x1b0b1
>;
};
I also made the changes necessary to have dma installed as a module rather than in firmware.
Doing a hciattach fails with a timeout:
root@imx6sllevk:~# stty -F /dev/ttymxc4 115200 crtscts cs8 -cstopb -parenb -cread
root@imx6sllevk:~# hciattach -t 30 /dev/ttymxc4 any 115200 flow
Device setup complete
[ 2666.731916] Bluetooth: hci0: command 0x1003 tx timeout
[ 2668.811913] Bluetooth: hci0: command 0x1001 tx timeout
[ 2670.891909] Bluetooth: hci0: command 0x1009 tx timeout
The signals seem to be correct:

But nothing is being received on RX (see below, rx:0 for UART5) even though the bluetooth module is responding correctly.
root@imx6sllevk:~# cat /proc/tty/driver/IMX-uart
serinfo:1.0 driver revision:
0: uart:IMX mmio:0x02020000 irq:26 tx:31721 rx:1776 RTS|DTR|DSR|CD
4: uart:IMX mmio:0x021F4000 irq:74 tx:52 rx:0 RTS|DTR|DSR