AnsweredAssumed Answered

IMX6D uart3 rx problem

Question asked by Egor Rumjantsev on Aug 29, 2019
Latest reply on Aug 30, 2019 by Egor Rumjantsev

Hi,

I have tried to use UART3 of IMX6D for communication with TiWi-uB2 chip.

In U-Boot i set up UART3 pins as

 

static iomux_v3_cfg_t const uart3_pads[] = {
    IOMUX_PADS(PAD_SD4_CMD__UART3_TX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
    IOMUX_PADS(PAD_SD4_CLK__UART3_RX_DATA | MUX_PAD_CTRL(UART_PAD_CTRL)),
    IOMUX_PADS(PAD_EIM_D30__UART3_CTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)),
    IOMUX_PADS(PAD_EIM_D31__UART3_RTS_B | MUX_PAD_CTRL(UART_PAD_CTRL)),
};

 

in kernel's device tree i setup pins as:

 

pinctrl_uart3: uart3grp {
            fsl,pins = <
                MX6QDL_PAD_SD4_CMD__UART3_TX_DATA    0x1b0b1
                MX6QDL_PAD_SD4_CLK__UART3_RX_DATA    0x1b0b1
                MX6QDL_PAD_EIM_D30__UART3_CTS_B        0x1b0b1
                MX6QDL_PAD_EIM_D31__UART3_RTS_B        0x1b0b1
            >;
        };

Also in U-Boot i additionally set IOMUX regs which selects RX and RTS pins for proper UART

 

/* select UART3 RX pad */
    writel(3, 0x020E0930 );
/* select UART3 RTS pad */
   writel(3, 0x020E092C );

 

So everything looks as described in docs.

With oscilloscope i can see that hciattach sends some of bytes to BT chip and also i can see that BT chip is answering with some of data.....but hciattach finished with

Initialization timed out.

 

So looks like it can not receive data from BT chip (i suspect). Also a small possibility that RX pin ball on package has bad contact or similar mounting problems.

But before dismounting  of chip from PCB i'd like to be sure that i setup UART pins correctly.

Is it enough for IMX6D settings that i did to make UART ready to receive data?

 

WBR,

Outcomes