OS: Android 4.4.2
Kernel Verison: 3.0.35
I'm porting TI wilink 8 wifi+bluetooth module for IMX6Q customer board,
for official BSP source,the bluetooth pin definition as follow using UART5:
MX6Q_PAD_KEY_ROW1__UART5_RXD, | |
MX6Q_PAD_KEY_COL1__UART5_TXD, | |
MX6Q_PAD_KEY_COL4__UART5_RTS, | |
MX6Q_PAD_KEY_ROW4__UART5_CTS, |
but in my board, the pin definition as follow:
static iomux_v3_cfg_t mx6q_sabresd_uart5_pads[] = {
MX6Q_PAD_CSI0_DAT14__UART5_TXD,
MX6Q_PAD_CSI0_DAT15__UART5_RXD,
MX6Q_PAD_CSI0_DAT18__UART5_RTS,
MX6Q_PAD_CSI0_DAT19__UART5_CTS,
MX6Q_PAD_EIM_A21__GPIO_2_17, /* BT_EN */
};
but it's not working!! The kernel message as follow:
init: sys_prop: permission denied uid:1003 name:service.bootanim.exit
(hci_tty): inside hci_tty_open (d2b540b0, d19e9840)
(stc): st_register(4)
(stc): chnl_id list empty :4
(stk) : st_kim_start
plat_kim_chip_enable
(stk) :ldisc_install = 1
(stk) :ldisc installation timeout
(stk) :ldisc_install = 0
(stk) : timed out waiting for ldisc to be un-installed
it look like UART5 not work, I think maybe CSI0_DAT14, CSI0_DAT15, CSI0_DAT18, CSI0_DAT19
not support UART DMA mode, even I survey relate issue from freescale community, a lot of people
(include TI) who worked with the same problem, but they use KEY_ROW1,KEY_COL1, KEY_COL4,
KEY_ROW4.
How could I resolve this issue?
Thanks.
Your pad settings looks ok.
By default uart5 is disabled in the kernel your need to enabled it. Just verify this.
--- a/arch/arm/mach-mx6/serial.h
+++ b/arch/arm/mach-mx6/serial.h
-#define UART5_UCR4_CTSTL | -1 |
-#define UART5_DMA_ENABLE | 0 |
+#define UART5_UCR4_CTSTL | 16 |
+#define UART5_DMA_ENABLE | 1 |
Thanks
Saurabh