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,