AnsweredAssumed Answered

IMX6ULL uart2 comunicate

Question asked by Wuxiuxin Xiuxin on Sep 24, 2018
Latest reply on Sep 25, 2018 by igorpadykov

Hello everybody,

I meet some problem about Imx6ull uart2 comunicating problem. I connect "UART2_TX_DATA",  "UART2_RX_DATA", "UART2_RTS_B", "UART2_CTS_B" to a BlueTooth module.

Firstly, the schematic is as bellow:

Secondly, the DTS configure is as bellow:

#if 1
/*For AP6236 BT*/
pinctrl_uart2: uart2grp {
fsl,pins = <
MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX 0x1b0b1
MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX 0x1b0b1
MX6UL_PAD_UART2_RTS_B__UART2_DCE_RTS 0x1b0b1
MX6UL_PAD_UART2_CTS_B__UART2_DCE_CTS 0x110b1

MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1b0b0 /* BT_wake */
MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x1b0b0 /* BT_rst */


>;
};

#else
pinctrl_uart2dte: uart2dtegrp {
fsl,pins = <
MX6UL_PAD_UART2_TX_DATA__UART2_DTE_RX 0x1b0b1
MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX 0x1b0b1
MX6UL_PAD_UART2_CTS_B__UART2_DTE_RTS 0x1b0b1
MX6UL_PAD_UART2_RTS_B__UART2_DTE_CTS 0x1b0b1

>;
};

#endif

 ......


#if 1
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;//DCE
// pinctrl-0 = <&pinctrl_uart2dte>;//DTE
fsl,uart-has-rtscts;
// fsl,dce-mode;
// fsl,dte-mode;
/* for DTE mode, add below change */
/* fsl,dte-mode; */
/* pinctrl-0 = <&pinctrl_uart2dte>; */
status = "okay";
};
#endif

 

1.  I had configured the 4 pins to GPIO and test their electrical level, I confirm that the 4 pins is OK connect to CPU.

2. when I  use DCE mode and run a application about uart , the "UART2_CTS" is HIGN, "UART2_RTS" is LOW, "UART2_TX"& "UART2_RX" have no signal out in tthe oscilloscope.

3. But when I use DTE mode(the hardware is not change in the DCE mode),  the "UART2_CTS" is HIGN, "UART2_RTS" is LOW,  "UART2_RX" have signal out in the osccilloscope.

4. So I confusion when I use UART2 to communicaton to my BlueTooth module, Should I use the DTE mode and change the Hardware to the DTE mode??? Or what the exactly problem is?

Outcomes